Use param type for switch cases

This commit is contained in:
Manfred Karrer 2018-10-30 20:27:21 -05:00
parent 8049588bc1
commit 5ced4e8927
No known key found for this signature in database
GPG key ID: 401250966A6B2C46

View file

@ -143,175 +143,65 @@ public class BsqFormatter extends BSFormatter {
} }
public String formatParamValue(Param param, String value) { public String formatParamValue(Param param, String value) {
switch (param) { switch (param.getParamType()) {
case UNDEFINED: case UNDEFINED:
throw new IllegalArgumentException("Unsupported param: " + param); throw new IllegalArgumentException("ParamType UNDEFINED. param: " + param);
case BSQ:
case DEFAULT_MAKER_FEE_BTC:
case DEFAULT_TAKER_FEE_BTC:
case MIN_MAKER_FEE_BTC:
case MIN_TAKER_FEE_BTC:
return formatBTCWithCode(parseToBTC(value));
case DEFAULT_MAKER_FEE_BSQ:
case DEFAULT_TAKER_FEE_BSQ:
case MIN_MAKER_FEE_BSQ:
case MIN_TAKER_FEE_BSQ:
case PROPOSAL_FEE:
case BLIND_VOTE_FEE:
case COMPENSATION_REQUEST_MIN_AMOUNT:
case COMPENSATION_REQUEST_MAX_AMOUNT:
case REIMBURSEMENT_MIN_AMOUNT:
case REIMBURSEMENT_MAX_AMOUNT:
case QUORUM_COMP_REQUEST:
case QUORUM_REIMBURSEMENT:
case QUORUM_CHANGE_PARAM:
case QUORUM_ROLE:
case QUORUM_CONFISCATION:
case QUORUM_GENERIC:
case QUORUM_REMOVE_ASSET:
return formatCoinWithCode(parseToCoin(value)); return formatCoinWithCode(parseToCoin(value));
case BTC:
case THRESHOLD_COMP_REQUEST: return formatBTCWithCode(parseToBTC(value));
case THRESHOLD_REIMBURSEMENT: case PERCENT:
case THRESHOLD_CHANGE_PARAM:
case THRESHOLD_ROLE:
case THRESHOLD_CONFISCATION:
case THRESHOLD_GENERIC:
case THRESHOLD_REMOVE_ASSET:
return formatToPercentWithSymbol(parsePercentStringToDouble(value)); return formatToPercentWithSymbol(parsePercentStringToDouble(value));
case BLOCK:
case RECIPIENT_BTC_ADDRESS:
return value;
case PHASE_UNDEFINED:
throw new IllegalArgumentException("Unsupported param: " + param);
case PHASE_PROPOSAL:
case PHASE_BREAK1:
case PHASE_BLIND_VOTE:
case PHASE_BREAK2:
case PHASE_VOTE_REVEAL:
case PHASE_BREAK3:
case PHASE_RESULT:
return Res.get("dao.param.blocks", Integer.parseInt(value)); return Res.get("dao.param.blocks", Integer.parseInt(value));
case ADDRESS:
return value;
default: default:
throw new IllegalArgumentException("Unsupported param: " + param); throw new IllegalArgumentException("Unsupported paramType. param: " + param);
} }
} }
public Coin parseParamValueToCoin(Param param, String inputValue) { public Coin parseParamValueToCoin(Param param, String inputValue) {
switch (param) { switch (param.getParamType()) {
case DEFAULT_MAKER_FEE_BTC: case BSQ:
case DEFAULT_TAKER_FEE_BTC:
case MIN_MAKER_FEE_BTC:
case MIN_TAKER_FEE_BTC:
return parseToBTC(inputValue);
case DEFAULT_MAKER_FEE_BSQ:
case DEFAULT_TAKER_FEE_BSQ:
case MIN_MAKER_FEE_BSQ:
case MIN_TAKER_FEE_BSQ:
case PROPOSAL_FEE:
case BLIND_VOTE_FEE:
case COMPENSATION_REQUEST_MIN_AMOUNT:
case COMPENSATION_REQUEST_MAX_AMOUNT:
case REIMBURSEMENT_MIN_AMOUNT:
case REIMBURSEMENT_MAX_AMOUNT:
case QUORUM_COMP_REQUEST:
case QUORUM_REIMBURSEMENT:
case QUORUM_CHANGE_PARAM:
case QUORUM_ROLE:
case QUORUM_CONFISCATION:
case QUORUM_GENERIC:
case QUORUM_REMOVE_ASSET:
return parseToCoin(inputValue); return parseToCoin(inputValue);
case BTC:
return parseToBTC(inputValue);
default: default:
throw new IllegalArgumentException("Unsupported param: " + param); throw new IllegalArgumentException("Unsupported paramType. param: " + param);
} }
} }
public int parseParamValueToBlocks(Param param, String inputValue) { public int parseParamValueToBlocks(Param param, String inputValue) {
switch (param) { switch (param.getParamType()) {
case PHASE_UNDEFINED: case BLOCK:
return 0;
case PHASE_PROPOSAL:
case PHASE_BREAK1:
case PHASE_BLIND_VOTE:
case PHASE_BREAK2:
case PHASE_VOTE_REVEAL:
case PHASE_BREAK3:
case PHASE_RESULT:
return Integer.parseInt(inputValue); return Integer.parseInt(inputValue);
default: default:
throw new IllegalArgumentException("Unsupported param: " + param); throw new IllegalArgumentException("Unsupported paramType. param: " + param);
} }
} }
public String parseParamValueToString(Param param, String inputValue) throws ValidationException { public String parseParamValueToString(Param param, String inputValue) throws ValidationException {
switch (param) { switch (param.getParamType()) {
case UNDEFINED: case UNDEFINED:
throw new IllegalArgumentException("Unsupported param: " + param); throw new IllegalArgumentException("ParamType UNDEFINED. param: " + param);
case BSQ:
case DEFAULT_MAKER_FEE_BTC:
case DEFAULT_TAKER_FEE_BTC:
case MIN_MAKER_FEE_BTC:
case MIN_TAKER_FEE_BTC:
return formatBTC(parseParamValueToCoin(param, inputValue));
case DEFAULT_MAKER_FEE_BSQ:
case DEFAULT_TAKER_FEE_BSQ:
case MIN_MAKER_FEE_BSQ:
case MIN_TAKER_FEE_BSQ:
case PROPOSAL_FEE:
case BLIND_VOTE_FEE:
case COMPENSATION_REQUEST_MIN_AMOUNT:
case COMPENSATION_REQUEST_MAX_AMOUNT:
case REIMBURSEMENT_MIN_AMOUNT:
case REIMBURSEMENT_MAX_AMOUNT:
case QUORUM_COMP_REQUEST:
case QUORUM_REIMBURSEMENT:
case QUORUM_CHANGE_PARAM:
case QUORUM_ROLE:
case QUORUM_CONFISCATION:
case QUORUM_GENERIC:
case QUORUM_REMOVE_ASSET:
return formatCoin(parseParamValueToCoin(param, inputValue)); return formatCoin(parseParamValueToCoin(param, inputValue));
case BTC:
case THRESHOLD_COMP_REQUEST: return formatBTC(parseParamValueToCoin(param, inputValue));
case THRESHOLD_REIMBURSEMENT: case PERCENT:
case THRESHOLD_CHANGE_PARAM:
case THRESHOLD_ROLE:
case THRESHOLD_CONFISCATION:
case THRESHOLD_GENERIC:
case THRESHOLD_REMOVE_ASSET:
return formatToPercent(parsePercentStringToDouble(inputValue)); return formatToPercent(parsePercentStringToDouble(inputValue));
case RECIPIENT_BTC_ADDRESS: case BLOCK:
return Integer.toString(parseParamValueToBlocks(param, inputValue));
case ADDRESS:
InputValidator.ValidationResult validationResult = new BtcAddressValidator().validate(inputValue); InputValidator.ValidationResult validationResult = new BtcAddressValidator().validate(inputValue);
if (validationResult.isValid) if (validationResult.isValid)
return inputValue; return inputValue;
else else
throw new ValidationException(validationResult.errorMessage); throw new ValidationException(validationResult.errorMessage);
case PHASE_UNDEFINED:
throw new IllegalArgumentException("Unsupported param: " + param);
case PHASE_PROPOSAL:
case PHASE_BREAK1:
case PHASE_BLIND_VOTE:
case PHASE_BREAK2:
case PHASE_VOTE_REVEAL:
case PHASE_BREAK3:
case PHASE_RESULT:
return Integer.toString(parseParamValueToBlocks(param, inputValue));
default: default:
throw new IllegalArgumentException("Unsupported param: " + param); throw new IllegalArgumentException("Unsupported paramType. param: " + param);
} }
} }
} }