Merge pull request #683 from pramodn02/MIFOSX-569

MIFOSX-569 - Corrected validation for borrower cycle
This commit is contained in:
Vishwas Babu A J
2013-11-29 05:30:13 -08:00
2 changed files with 7 additions and 2 deletions
@@ -47,5 +47,6 @@ public interface LoanProductConstants {
public static final String minNumberOfRepayments = "minNumberOfRepayments"; public static final String minNumberOfRepayments = "minNumberOfRepayments";
public static final String maxNumberOfRepayments = "maxNumberOfRepayments"; public static final String maxNumberOfRepayments = "maxNumberOfRepayments";
public static final String VALUE_CONDITION_TYPE_ERROR = "condition.type.must.end.with.greterthan"; public static final String VALUE_CONDITION_END_WITH_ERROR = "condition.type.must.end.with.greterthan";
public static final String VALUE_CONDITION_START_WITH_ERROR = "condition.type.must.start.with.equal";
} }
@@ -1007,6 +1007,10 @@ public final class LoanProductDataValidator {
LoanProductValueConditionType.GRETERTHAN.getValue()); LoanProductValueConditionType.GRETERTHAN.getValue());
if (lastConditionType.equals(LoanProductValueConditionType.EQUAL) if (lastConditionType.equals(LoanProductValueConditionType.EQUAL)
&& conditionType.equals(LoanProductValueConditionType.GRETERTHAN)) { && conditionType.equals(LoanProductValueConditionType.GRETERTHAN)) {
if(lastCycleNumber == 0){
baseDataValidator.reset().parameter(cycleNumbersParamName).failWithCode(LoanProductConstants.VALUE_CONDITION_START_WITH_ERROR);
lastCycleNumber = 1;
}
baseDataValidator.reset().parameter(cycleNumbersParamName).value(cycleNumber).notNull() baseDataValidator.reset().parameter(cycleNumbersParamName).value(cycleNumber).notNull()
.integerSameAsNumber(lastCycleNumber); .integerSameAsNumber(lastCycleNumber);
} else if (lastConditionType.equals(LoanProductValueConditionType.EQUAL)) { } else if (lastConditionType.equals(LoanProductValueConditionType.EQUAL)) {
@@ -1025,7 +1029,7 @@ public final class LoanProductDataValidator {
i++; i++;
} while (i < variationArray.size()); } while (i < variationArray.size());
if(!lastConditionType.equals(LoanProductValueConditionType.GRETERTHAN)){ if(!lastConditionType.equals(LoanProductValueConditionType.GRETERTHAN)){
baseDataValidator.reset().parameter(cycleNumbersParamName).failWithCode(LoanProductConstants.VALUE_CONDITION_TYPE_ERROR); baseDataValidator.reset().parameter(cycleNumbersParamName).failWithCode(LoanProductConstants.VALUE_CONDITION_END_WITH_ERROR);
} }
} }