|
15 | 15 |
|
16 | 16 | import com.beust.jcommander.JCommander; |
17 | 17 | import com.beust.jcommander.ParameterDescription; |
| 18 | +import com.google.common.annotations.VisibleForTesting; |
18 | 19 | import com.google.common.base.Strings; |
19 | 20 | import com.typesafe.config.Config; |
20 | 21 | import com.typesafe.config.ConfigObject; |
|
34 | 35 | import java.util.LinkedHashMap; |
35 | 36 | import java.util.List; |
36 | 37 | import java.util.Map; |
| 38 | +import java.util.Set; |
37 | 39 | import java.util.Objects; |
38 | 40 | import java.util.Optional; |
39 | 41 | import java.util.Properties; |
@@ -991,101 +993,102 @@ public static void applyConfigParams( |
991 | 993 | * Only assigned parameters override Config values. |
992 | 994 | */ |
993 | 995 | private static void applyCLIParams(CLIParameter cmd, JCommander jc) { |
994 | | - Map<String, ParameterDescription> assigned = jc.getParameters().stream() |
| 996 | + Set<String> assigned = jc.getParameters().stream() |
995 | 997 | .filter(ParameterDescription::isAssigned) |
996 | | - .collect(Collectors.toMap(ParameterDescription::getLongestName, p -> p)); |
| 998 | + .map(ParameterDescription::getLongestName) |
| 999 | + .collect(Collectors.toSet()); |
997 | 1000 |
|
998 | | - if (assigned.containsKey("--output-directory")) { |
| 1001 | + if (assigned.contains("--output-directory")) { |
999 | 1002 | PARAMETER.outputDirectory = cmd.outputDirectory; |
1000 | 1003 | } |
1001 | | - if (assigned.containsKey("--witness")) { |
| 1004 | + if (assigned.contains("--witness")) { |
1002 | 1005 | PARAMETER.witness = cmd.witness; |
1003 | 1006 | } |
1004 | | - if (assigned.containsKey("--support-constant")) { |
| 1007 | + if (assigned.contains("--support-constant")) { |
1005 | 1008 | PARAMETER.supportConstant = cmd.supportConstant; |
1006 | 1009 | } |
1007 | | - if (assigned.containsKey("--max-energy-limit-for-constant")) { |
| 1010 | + if (assigned.contains("--max-energy-limit-for-constant")) { |
1008 | 1011 | PARAMETER.maxEnergyLimitForConstant = cmd.maxEnergyLimitForConstant; |
1009 | 1012 | } |
1010 | | - if (assigned.containsKey("--lru-cache-size")) { |
| 1013 | + if (assigned.contains("--lru-cache-size")) { |
1011 | 1014 | PARAMETER.lruCacheSize = cmd.lruCacheSize; |
1012 | 1015 | } |
1013 | | - if (assigned.containsKey("--debug")) { |
| 1016 | + if (assigned.contains("--debug")) { |
1014 | 1017 | PARAMETER.debug = cmd.debug; |
1015 | 1018 | } |
1016 | | - if (assigned.containsKey("--min-time-ratio")) { |
| 1019 | + if (assigned.contains("--min-time-ratio")) { |
1017 | 1020 | PARAMETER.minTimeRatio = cmd.minTimeRatio; |
1018 | 1021 | } |
1019 | | - if (assigned.containsKey("--max-time-ratio")) { |
| 1022 | + if (assigned.contains("--max-time-ratio")) { |
1020 | 1023 | PARAMETER.maxTimeRatio = cmd.maxTimeRatio; |
1021 | 1024 | } |
1022 | | - if (assigned.containsKey("--save-internaltx")) { |
| 1025 | + if (assigned.contains("--save-internaltx")) { |
1023 | 1026 | PARAMETER.saveInternalTx = cmd.saveInternalTx; |
1024 | 1027 | } |
1025 | | - if (assigned.containsKey("--save-featured-internaltx")) { |
| 1028 | + if (assigned.contains("--save-featured-internaltx")) { |
1026 | 1029 | PARAMETER.saveFeaturedInternalTx = cmd.saveFeaturedInternalTx; |
1027 | 1030 | } |
1028 | | - if (assigned.containsKey("--save-cancel-all-unfreeze-v2-details")) { |
| 1031 | + if (assigned.contains("--save-cancel-all-unfreeze-v2-details")) { |
1029 | 1032 | PARAMETER.saveCancelAllUnfreezeV2Details = cmd.saveCancelAllUnfreezeV2Details; |
1030 | 1033 | } |
1031 | | - if (assigned.containsKey("--long-running-time")) { |
| 1034 | + if (assigned.contains("--long-running-time")) { |
1032 | 1035 | PARAMETER.longRunningTime = cmd.longRunningTime; |
1033 | 1036 | } |
1034 | | - if (assigned.containsKey("--max-connect-number")) { |
| 1037 | + if (assigned.contains("--max-connect-number")) { |
1035 | 1038 | PARAMETER.maxHttpConnectNumber = cmd.maxHttpConnectNumber; |
1036 | 1039 | } |
1037 | | - if (assigned.containsKey("--storage-db-directory")) { |
| 1040 | + if (assigned.contains("--storage-db-directory")) { |
1038 | 1041 | PARAMETER.storage.setDbDirectory(cmd.storageDbDirectory); |
1039 | 1042 | } |
1040 | | - if (assigned.containsKey("--storage-db-engine")) { |
| 1043 | + if (assigned.contains("--storage-db-engine")) { |
1041 | 1044 | PARAMETER.storage.setDbEngine(cmd.storageDbEngine); |
1042 | 1045 | } |
1043 | | - if (assigned.containsKey("--storage-db-synchronous")) { |
| 1046 | + if (assigned.contains("--storage-db-synchronous")) { |
1044 | 1047 | PARAMETER.storage.setDbSync(Boolean.valueOf(cmd.storageDbSynchronous)); |
1045 | 1048 | } |
1046 | | - if (assigned.containsKey("--contract-parse-enable")) { |
| 1049 | + if (assigned.contains("--contract-parse-enable")) { |
1047 | 1050 | PARAMETER.storage.setContractParseSwitch(Boolean.valueOf(cmd.contractParseEnable)); |
1048 | 1051 | } |
1049 | | - if (assigned.containsKey("--storage-index-directory")) { |
| 1052 | + if (assigned.contains("--storage-index-directory")) { |
1050 | 1053 | PARAMETER.storage.setIndexDirectory(cmd.storageIndexDirectory); |
1051 | 1054 | } |
1052 | | - if (assigned.containsKey("--storage-index-switch")) { |
| 1055 | + if (assigned.contains("--storage-index-switch")) { |
1053 | 1056 | PARAMETER.storage.setIndexSwitch(cmd.storageIndexSwitch); |
1054 | 1057 | } |
1055 | | - if (assigned.containsKey("--storage-transactionHistory-switch")) { |
| 1058 | + if (assigned.contains("--storage-transactionHistory-switch")) { |
1056 | 1059 | PARAMETER.storage.setTransactionHistorySwitch(cmd.storageTransactionHistorySwitch); |
1057 | 1060 | } |
1058 | | - if (assigned.containsKey("--fast-forward")) { |
| 1061 | + if (assigned.contains("--fast-forward")) { |
1059 | 1062 | PARAMETER.fastForward = cmd.fastForward; |
1060 | 1063 | } |
1061 | | - if (assigned.containsKey("--solidity")) { |
| 1064 | + if (assigned.contains("--solidity")) { |
1062 | 1065 | PARAMETER.solidityNode = cmd.solidityNode; |
1063 | 1066 | } |
1064 | | - if (assigned.containsKey("--keystore-factory")) { |
| 1067 | + if (assigned.contains("--keystore-factory")) { |
1065 | 1068 | PARAMETER.keystoreFactory = cmd.keystoreFactory; |
1066 | 1069 | } |
1067 | | - if (assigned.containsKey("--rpc-thread")) { |
| 1070 | + if (assigned.contains("--rpc-thread")) { |
1068 | 1071 | PARAMETER.rpcThreadNum = cmd.rpcThreadNum; |
1069 | 1072 | } |
1070 | | - if (assigned.containsKey("--solidity-thread")) { |
| 1073 | + if (assigned.contains("--solidity-thread")) { |
1071 | 1074 | PARAMETER.solidityThreads = cmd.solidityThreads; |
1072 | 1075 | } |
1073 | | - if (assigned.containsKey("--validate-sign-thread")) { |
| 1076 | + if (assigned.contains("--validate-sign-thread")) { |
1074 | 1077 | PARAMETER.validateSignThreadNum = cmd.validateSignThreadNum; |
1075 | 1078 | } |
1076 | | - if (assigned.containsKey("--trust-node")) { |
| 1079 | + if (assigned.contains("--trust-node")) { |
1077 | 1080 | PARAMETER.trustNodeAddr = cmd.trustNodeAddr; |
1078 | 1081 | } |
1079 | | - if (assigned.containsKey("--es")) { |
| 1082 | + if (assigned.contains("--es")) { |
1080 | 1083 | PARAMETER.eventSubscribe = cmd.eventSubscribe; |
1081 | 1084 | } |
1082 | | - if (assigned.containsKey("--p2p-disable")) { |
| 1085 | + if (assigned.contains("--p2p-disable")) { |
1083 | 1086 | PARAMETER.p2pDisable = cmd.p2pDisable; |
1084 | 1087 | } |
1085 | | - if (assigned.containsKey("--history-balance-lookup")) { |
| 1088 | + if (assigned.contains("--history-balance-lookup")) { |
1086 | 1089 | PARAMETER.historyBalanceLookup = cmd.historyBalanceLookup; |
1087 | 1090 | } |
1088 | | - if (assigned.containsKey("--log-config")) { |
| 1091 | + if (assigned.contains("--log-config")) { |
1089 | 1092 | PARAMETER.logbackPath = cmd.logbackPath; |
1090 | 1093 | } |
1091 | 1094 | if (!cmd.seedNodes.isEmpty()) { |
@@ -1138,6 +1141,7 @@ private static void initLocalWitnesses(Config config, CLIParameter cmd) { |
1138 | 1141 | TronError.ErrCode.WITNESS_INIT); |
1139 | 1142 | } |
1140 | 1143 |
|
| 1144 | + @VisibleForTesting |
1141 | 1145 | public static void clearParam() { |
1142 | 1146 | CommonParameter.reset(); |
1143 | 1147 | configFilePath = ""; |
|
0 commit comments