Merge pull request #414 from mifoscontributer/MIFOSX-212-Test

Removing mandatory check for includeInBorrowerCycle for loan product
This commit is contained in:
Keith Woodlock
2013-07-02 09:55:06 -07:00
2 changed files with 33 additions and 1 deletions
@@ -20,6 +20,7 @@ import com.google.gson.JsonArray;
public class DataValidatorBuilder {
public static final String VALID_INPUT_SEPERATOR = "_";
private final List<ApiParameterError> dataValidationErrors;
private String resource;
private String parameter;
@@ -593,4 +594,30 @@ public class DataValidatorBuilder {
return this;
}
private DataValidatorBuilder validateStringFor(final String validInputs) {
if (this.value == null && this.ignoreNullValue) { return this; }
final String[] inputs = validInputs.split(VALID_INPUT_SEPERATOR);
boolean validationErr = true;
for (final String input : inputs) {
if (input.equalsIgnoreCase(this.value.toString().trim())) {
validationErr = false;
break;
}
}
if (validationErr) {
final StringBuilder validationErrorCode = new StringBuilder("validation.msg.").append(this.resource).append(".")
.append(this.parameter).append(".value.should.true.or.false");
final StringBuilder defaultEnglishMessage = new StringBuilder("The parameter ").append(this.parameter)
.append(" value should true or false ");
final ApiParameterError error = ApiParameterError.parameterError(validationErrorCode.toString(),
defaultEnglishMessage.toString(), this.parameter, this.value);
this.dataValidationErrors.add(error);
}
return this;
}
public DataValidatorBuilder validateForBooleanValue() {
return validateStringFor("TRUE" + VALID_INPUT_SEPERATOR + "FALSE");
}
}
@@ -83,7 +83,7 @@ public final class LoanProductDataValidator {
}
final Boolean includeInBorrowerCycle = fromApiJsonHelper.extractBooleanNamed("includeInBorrowerCycle", element);
baseDataValidator.reset().parameter("includeInBorrowerCycle").value(includeInBorrowerCycle).notNull();
baseDataValidator.reset().parameter("includeInBorrowerCycle").value(includeInBorrowerCycle).ignoreIfNull().validateForBooleanValue();
// terms
final String currencyCode = fromApiJsonHelper.extractStringNamed("currencyCode", element);
@@ -319,6 +319,11 @@ public final class LoanProductDataValidator {
final Long fundId = fromApiJsonHelper.extractLongNamed("fundId", element);
baseDataValidator.reset().parameter("fundId").value(fundId).ignoreIfNull().integerGreaterThanZero();
}
if (fromApiJsonHelper.parameterExists("includeInBorrowerCycle", element)) {
final Boolean includeInBorrowerCycle = fromApiJsonHelper.extractBooleanNamed("includeInBorrowerCycle", element);
baseDataValidator.reset().parameter("includeInBorrowerCycle").value(includeInBorrowerCycle).ignoreIfNull().validateForBooleanValue();
}
if (fromApiJsonHelper.parameterExists("currencyCode", element)) {
final String currencyCode = fromApiJsonHelper.extractStringNamed("currencyCode", element);