Merge pull request #1543 from rajuan/MIFOSX-2350
MIFOSX-2350 : Added additional validations
This commit is contained in:
+9
@@ -5,6 +5,8 @@
|
||||
*/
|
||||
package org.mifosplatform.portfolio.floatingrates.domain;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
@@ -15,5 +17,12 @@ public interface FloatingRateRepository extends
|
||||
|
||||
@Query("from FloatingRate floatingRate where floatingRate.isBaseLendingRate = 1 and floatingRate.isActive = 1")
|
||||
FloatingRate retrieveBaseLendingRate();
|
||||
|
||||
@Query("from FloatingRate floatingRate " +
|
||||
" inner join floatingRate.floatingRatePeriods as periods" +
|
||||
" where floatingRate.isActive = 1 " +
|
||||
" and periods.isActive = 1 " +
|
||||
" and periods.isDifferentialToBaseLendingRate = 1")
|
||||
Collection<FloatingRate> retrieveFloatingRatesLinkedToBLR();
|
||||
|
||||
}
|
||||
|
||||
+60
-9
@@ -9,6 +9,7 @@ import java.lang.reflect.Type;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -66,9 +67,10 @@ public class FloatingRateDataValidator {
|
||||
baseDataValidator.reset().parameter("name").value(name).notBlank()
|
||||
.notExceedingLengthOf(200);
|
||||
|
||||
Boolean isBaseLendingRate = null;
|
||||
if (this.fromApiJsonHelper
|
||||
.parameterExists("isBaseLendingRate", element)) {
|
||||
final Boolean isBaseLendingRate = this.fromApiJsonHelper
|
||||
isBaseLendingRate = this.fromApiJsonHelper
|
||||
.extractBooleanNamed("isBaseLendingRate", element);
|
||||
|
||||
baseDataValidator.reset().parameter("isBaseLendingRate")
|
||||
@@ -99,13 +101,16 @@ public class FloatingRateDataValidator {
|
||||
}
|
||||
}
|
||||
|
||||
validateRatePeriods(baseDataValidator, element);
|
||||
if(isBaseLendingRate == null){
|
||||
isBaseLendingRate = false;
|
||||
}
|
||||
validateRatePeriods(baseDataValidator, element, isBaseLendingRate, false);
|
||||
|
||||
throwExceptionIfValidationWarningsExist(dataValidationErrors);
|
||||
}
|
||||
|
||||
private void validateRatePeriods(DataValidatorBuilder baseDataValidator,
|
||||
JsonElement element) {
|
||||
JsonElement element, boolean isBaseLendingRate, boolean isBLRModifiedAsNonBLR) {
|
||||
if (this.fromApiJsonHelper.parameterExists("ratePeriods", element)) {
|
||||
final JsonArray ratePeriods = this.fromApiJsonHelper
|
||||
.extractJsonArrayNamed("ratePeriods", element);
|
||||
@@ -161,7 +166,7 @@ public class FloatingRateDataValidator {
|
||||
} else if (isDifferentialToBaseLendingRate) {
|
||||
FloatingRate baseLendingRate = this.floatingRateRepository
|
||||
.retrieveBaseLendingRate();
|
||||
if (baseLendingRate == null) {
|
||||
if (baseLendingRate == null || isBLRModifiedAsNonBLR) {
|
||||
baseDataValidator
|
||||
.reset()
|
||||
.parameter(
|
||||
@@ -174,6 +179,20 @@ public class FloatingRateDataValidator {
|
||||
"no.baselending.rate.defined",
|
||||
"Base Lending Rate doesn't exists");
|
||||
}
|
||||
|
||||
if(isBaseLendingRate){
|
||||
baseDataValidator
|
||||
.reset()
|
||||
.parameter(
|
||||
"isDifferentialToBaseLendingRate")
|
||||
.parameterAtIndexArray(
|
||||
"isDifferentialToBaseLendingRate",
|
||||
i + 1)
|
||||
.value(isDifferentialToBaseLendingRate)
|
||||
.failWithCode(
|
||||
"cannot.be.true.for.baselendingrate",
|
||||
"isDifferentialToBaseLendingRate cannot be true for floating rate marked as Base Lending Rate.");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -211,9 +230,13 @@ public class FloatingRateDataValidator {
|
||||
.notExceedingLengthOf(200);
|
||||
}
|
||||
|
||||
Boolean isBaseLendingRate = null;
|
||||
Boolean isBLRModifiedAsNonBLR = false;
|
||||
FloatingRate baseLendingRate = this.floatingRateRepository
|
||||
.retrieveBaseLendingRate();
|
||||
if (this.fromApiJsonHelper
|
||||
.parameterExists("isBaseLendingRate", element)) {
|
||||
final Boolean isBaseLendingRate = this.fromApiJsonHelper
|
||||
isBaseLendingRate = this.fromApiJsonHelper
|
||||
.extractBooleanNamed("isBaseLendingRate", element);
|
||||
|
||||
baseDataValidator.reset().parameter("isBaseLendingRate")
|
||||
@@ -222,8 +245,6 @@ public class FloatingRateDataValidator {
|
||||
baseDataValidator.reset().parameter("isBaseLendingRate")
|
||||
.trueOrFalseRequired(false);
|
||||
} else if (isBaseLendingRate) {
|
||||
FloatingRate baseLendingRate = this.floatingRateRepository
|
||||
.retrieveBaseLendingRate();
|
||||
if (baseLendingRate != null
|
||||
&& baseLendingRate.getId() != floatingRateForUpdate
|
||||
.getId()) {
|
||||
@@ -237,8 +258,9 @@ public class FloatingRateDataValidator {
|
||||
}
|
||||
}
|
||||
|
||||
Boolean isActive = null;
|
||||
if (this.fromApiJsonHelper.parameterExists("isActive", element)) {
|
||||
final Boolean isActive = this.fromApiJsonHelper
|
||||
isActive = this.fromApiJsonHelper
|
||||
.extractBooleanNamed("isActive", element);
|
||||
if (isActive == null) {
|
||||
baseDataValidator.reset().parameter("isActive")
|
||||
@@ -246,7 +268,36 @@ public class FloatingRateDataValidator {
|
||||
}
|
||||
}
|
||||
|
||||
validateRatePeriods(baseDataValidator, element);
|
||||
if(isBaseLendingRate == null){
|
||||
isBaseLendingRate = floatingRateForUpdate.isBaseLendingRate();
|
||||
}
|
||||
|
||||
if(isActive == null){
|
||||
isActive = floatingRateForUpdate.isActive();
|
||||
}
|
||||
|
||||
if(baseLendingRate != null
|
||||
&& baseLendingRate.getId() == floatingRateForUpdate
|
||||
.getId()){
|
||||
if(!isBaseLendingRate || !isActive){
|
||||
isBLRModifiedAsNonBLR = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(isBLRModifiedAsNonBLR){
|
||||
Collection<FloatingRate> floatingRates = this.floatingRateRepository.retrieveFloatingRatesLinkedToBLR();
|
||||
if(floatingRates != null && floatingRates.size() > 0){
|
||||
baseDataValidator
|
||||
.reset()
|
||||
.parameter("isBaseLendingRate")
|
||||
.value(isBaseLendingRate)
|
||||
.failWithCode("cannot.be.marked.non.baselendingrate",
|
||||
"There are floating rates linked to this Base Lending Rate, cannot be marked as non-Base Lending Rate.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
validateRatePeriods(baseDataValidator, element, isBaseLendingRate, isBLRModifiedAsNonBLR);
|
||||
|
||||
throwExceptionIfValidationWarningsExist(dataValidationErrors);
|
||||
}
|
||||
|
||||
+9
-2
@@ -51,6 +51,7 @@ import org.mifosplatform.portfolio.common.domain.PeriodFrequencyType;
|
||||
import org.mifosplatform.portfolio.common.service.BusinessEventNotifierService;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRateDTO;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRatePeriodData;
|
||||
import org.mifosplatform.portfolio.floatingrates.exception.FloatingRateNotFoundException;
|
||||
import org.mifosplatform.portfolio.floatingrates.service.FloatingRatesReadPlatformService;
|
||||
import org.mifosplatform.portfolio.group.domain.Group;
|
||||
import org.mifosplatform.portfolio.group.exception.GroupNotActiveException;
|
||||
@@ -252,8 +253,14 @@ public class LoanAccountDomainServiceJpa implements LoanAccountDomainService {
|
||||
if (loan.loanProduct().isLinkedToFloatingInterestRate()) {
|
||||
boolean isFloatingInterestRate = loan.getIsFloatingInterestRate();
|
||||
BigDecimal interestRateDiff = loan.getInterestRateDifferential();
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = null;
|
||||
try{
|
||||
baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
}catch(final FloatingRateNotFoundException ex){
|
||||
// Do not do anything
|
||||
}
|
||||
|
||||
floatingRateDTO = new FloatingRateDTO(isFloatingInterestRate, loan.getDisbursementDate(), interestRateDiff,
|
||||
baseLendingRatePeriods);
|
||||
}
|
||||
|
||||
+8
-2
@@ -49,6 +49,7 @@ import org.mifosplatform.portfolio.common.domain.DaysInYearType;
|
||||
import org.mifosplatform.portfolio.common.domain.PeriodFrequencyType;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRateDTO;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRatePeriodData;
|
||||
import org.mifosplatform.portfolio.floatingrates.exception.FloatingRateNotFoundException;
|
||||
import org.mifosplatform.portfolio.floatingrates.service.FloatingRatesReadPlatformService;
|
||||
import org.mifosplatform.portfolio.group.domain.Group;
|
||||
import org.mifosplatform.portfolio.group.domain.GroupRepositoryWrapper;
|
||||
@@ -312,8 +313,13 @@ public class LoanScheduleAssembler {
|
||||
LoanApiConstants.interestRateDifferentialParameterName, element);
|
||||
final Boolean isFloatingInterestRate = this.fromApiJsonHelper.extractBooleanNamed(
|
||||
LoanApiConstants.isFloatingInterestRateParameterName, element);
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = null;
|
||||
try{
|
||||
baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
}catch(final FloatingRateNotFoundException ex){
|
||||
// Do not do anything
|
||||
}
|
||||
FloatingRateDTO floatingRateDTO = new FloatingRateDTO(isFloatingInterestRate, expectedDisbursementDate, interestRateDiff,
|
||||
baseLendingRatePeriods);
|
||||
Collection<FloatingRatePeriodData> applicableRates = loanProduct.fetchInterestRates(floatingRateDTO);
|
||||
|
||||
+8
-2
@@ -28,6 +28,7 @@ import org.mifosplatform.portfolio.calendar.domain.CalendarInstance;
|
||||
import org.mifosplatform.portfolio.calendar.domain.CalendarInstanceRepository;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRateDTO;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRatePeriodData;
|
||||
import org.mifosplatform.portfolio.floatingrates.exception.FloatingRateNotFoundException;
|
||||
import org.mifosplatform.portfolio.floatingrates.service.FloatingRatesReadPlatformService;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.Loan;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanAccountDomainService;
|
||||
@@ -222,8 +223,13 @@ public class LoanScheduleCalculationPlatformServiceImpl implements LoanScheduleC
|
||||
if (loan.loanProduct().isLinkedToFloatingInterestRate()) {
|
||||
boolean isFloatingInterestRate = loan.getIsFloatingInterestRate();
|
||||
BigDecimal interestRateDiff = loan.getInterestRateDifferential();
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = null;
|
||||
try{
|
||||
baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
}catch(final FloatingRateNotFoundException ex){
|
||||
// Do not do anything
|
||||
}
|
||||
floatingRateDTO = new FloatingRateDTO(isFloatingInterestRate, loan.getDisbursementDate(), interestRateDiff,
|
||||
baseLendingRatePeriods);
|
||||
}
|
||||
|
||||
+8
-2
@@ -26,6 +26,7 @@ import org.mifosplatform.portfolio.calendar.domain.CalendarInstance;
|
||||
import org.mifosplatform.portfolio.calendar.domain.CalendarInstanceRepository;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRateDTO;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRatePeriodData;
|
||||
import org.mifosplatform.portfolio.floatingrates.exception.FloatingRateNotFoundException;
|
||||
import org.mifosplatform.portfolio.floatingrates.service.FloatingRatesReadPlatformService;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.HolidayDetailDTO;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.Loan;
|
||||
@@ -121,8 +122,13 @@ public class LoanReschedulePreviewPlatformServiceImpl implements LoanRescheduleP
|
||||
if (loan.loanProduct().isLinkedToFloatingInterestRate()) {
|
||||
boolean isFloatingInterestRate = loan.getIsFloatingInterestRate();
|
||||
BigDecimal interestRateDiff = loan.getInterestRateDifferential();
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = null;
|
||||
try{
|
||||
baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
}catch(final FloatingRateNotFoundException ex){
|
||||
// Do not do anything
|
||||
}
|
||||
floatingRateDTO = new FloatingRateDTO(isFloatingInterestRate, loan.getDisbursementDate(), interestRateDiff,
|
||||
baseLendingRatePeriods);
|
||||
}
|
||||
|
||||
+8
-2
@@ -38,6 +38,7 @@ import org.mifosplatform.portfolio.calendar.domain.CalendarInstance;
|
||||
import org.mifosplatform.portfolio.calendar.domain.CalendarInstanceRepository;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRateDTO;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRatePeriodData;
|
||||
import org.mifosplatform.portfolio.floatingrates.exception.FloatingRateNotFoundException;
|
||||
import org.mifosplatform.portfolio.floatingrates.service.FloatingRatesReadPlatformService;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.HolidayDetailDTO;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanChargePaidByData;
|
||||
@@ -581,8 +582,13 @@ public class LoanRescheduleRequestWritePlatformServiceImpl implements LoanResche
|
||||
if (loan.loanProduct().isLinkedToFloatingInterestRate()) {
|
||||
boolean isFloatingInterestRate = loan.getIsFloatingInterestRate();
|
||||
BigDecimal interestRateDiff = loan.getInterestRateDifferential();
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = null;
|
||||
try{
|
||||
baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
}catch(final FloatingRateNotFoundException ex){
|
||||
// Do not do anything
|
||||
}
|
||||
floatingRateDTO = new FloatingRateDTO(isFloatingInterestRate, loan.getDisbursementDate(), interestRateDiff,
|
||||
baseLendingRatePeriods);
|
||||
}
|
||||
|
||||
+8
-2
@@ -66,6 +66,7 @@ import org.mifosplatform.portfolio.common.service.CommonEnumerations;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.InterestRatePeriodData;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRateDTO;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRatePeriodData;
|
||||
import org.mifosplatform.portfolio.floatingrates.exception.FloatingRateNotFoundException;
|
||||
import org.mifosplatform.portfolio.floatingrates.service.FloatingRatesReadPlatformService;
|
||||
import org.mifosplatform.portfolio.fund.data.FundData;
|
||||
import org.mifosplatform.portfolio.fund.service.FundReadPlatformService;
|
||||
@@ -1969,8 +1970,13 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService {
|
||||
if (loan.loanProduct().isLinkedToFloatingInterestRate()) {
|
||||
boolean isFloatingInterestRate = loan.getIsFloatingInterestRate();
|
||||
BigDecimal interestRateDiff = loan.getInterestRateDifferential();
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = null;
|
||||
try{
|
||||
baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
}catch(final FloatingRateNotFoundException ex){
|
||||
// Do not do anything
|
||||
}
|
||||
floatingRateDTO = new FloatingRateDTO(isFloatingInterestRate, loan.getDisbursementDate(), interestRateDiff,
|
||||
baseLendingRatePeriods);
|
||||
}
|
||||
|
||||
+8
-2
@@ -99,6 +99,7 @@ import org.mifosplatform.portfolio.common.domain.PeriodFrequencyType;
|
||||
import org.mifosplatform.portfolio.common.service.BusinessEventNotifierService;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRateDTO;
|
||||
import org.mifosplatform.portfolio.floatingrates.data.FloatingRatePeriodData;
|
||||
import org.mifosplatform.portfolio.floatingrates.exception.FloatingRateNotFoundException;
|
||||
import org.mifosplatform.portfolio.floatingrates.service.FloatingRatesReadPlatformService;
|
||||
import org.mifosplatform.portfolio.group.domain.Group;
|
||||
import org.mifosplatform.portfolio.group.exception.GroupNotActiveException;
|
||||
@@ -3053,8 +3054,13 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf
|
||||
if (loan.loanProduct().isLinkedToFloatingInterestRate()) {
|
||||
boolean isFloatingInterestRate = loan.getIsFloatingInterestRate();
|
||||
BigDecimal interestRateDiff = loan.getInterestRateDifferential();
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
List<FloatingRatePeriodData> baseLendingRatePeriods = null;
|
||||
try{
|
||||
baseLendingRatePeriods = this.floatingRatesReadPlatformService.retrieveBaseLendingRate()
|
||||
.getRatePeriods();
|
||||
}catch(final FloatingRateNotFoundException ex){
|
||||
// Do not do anything
|
||||
}
|
||||
floatingRateDTO = new FloatingRateDTO(isFloatingInterestRate, loan.getDisbursementDate(), interestRateDiff,
|
||||
baseLendingRatePeriods);
|
||||
}
|
||||
|
||||
+12
-21
@@ -326,31 +326,22 @@ public final class LoanProductDataValidator {
|
||||
baseDataValidator.reset().parameter("interestRateDifferential").value(interestRateDifferential).notNull().zeroOrPositiveAmount();
|
||||
|
||||
final String minDifferentialLendingRateParameterName = "minDifferentialLendingRate";
|
||||
BigDecimal minDifferentialLendingRate = null;
|
||||
if (this.fromApiJsonHelper.parameterExists(minDifferentialLendingRateParameterName, element)) {
|
||||
minDifferentialLendingRate = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(minDifferentialLendingRateParameterName,
|
||||
element);
|
||||
baseDataValidator.reset().parameter(minDifferentialLendingRateParameterName).value(minDifferentialLendingRate).ignoreIfNull()
|
||||
BigDecimal minDifferentialLendingRate = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(minDifferentialLendingRateParameterName,
|
||||
element);
|
||||
baseDataValidator.reset().parameter(minDifferentialLendingRateParameterName).value(minDifferentialLendingRate).notNull()
|
||||
.zeroOrPositiveAmount();
|
||||
}
|
||||
|
||||
final String defaultDifferentialLendingRateParameterName = "defaultDifferentialLendingRate";
|
||||
BigDecimal defaultDifferentialLendingRate = null;
|
||||
if (this.fromApiJsonHelper.parameterExists(defaultDifferentialLendingRateParameterName, element)) {
|
||||
defaultDifferentialLendingRate = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(defaultDifferentialLendingRateParameterName,
|
||||
element);
|
||||
baseDataValidator.reset().parameter(defaultDifferentialLendingRateParameterName).value(defaultDifferentialLendingRate).ignoreIfNull()
|
||||
BigDecimal defaultDifferentialLendingRate = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(defaultDifferentialLendingRateParameterName,
|
||||
element);
|
||||
baseDataValidator.reset().parameter(defaultDifferentialLendingRateParameterName).value(defaultDifferentialLendingRate).notNull()
|
||||
.zeroOrPositiveAmount();
|
||||
}
|
||||
|
||||
final String maxDifferentialLendingRateParameterName = "maxDifferentialLendingRate";
|
||||
BigDecimal maxDifferentialLendingRate = null;
|
||||
if (this.fromApiJsonHelper.parameterExists(maxDifferentialLendingRateParameterName, element)) {
|
||||
maxDifferentialLendingRate = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(maxDifferentialLendingRateParameterName,
|
||||
element);
|
||||
baseDataValidator.reset().parameter(maxDifferentialLendingRateParameterName).value(maxDifferentialLendingRate).ignoreIfNull()
|
||||
BigDecimal maxDifferentialLendingRate = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(maxDifferentialLendingRateParameterName,
|
||||
element);
|
||||
baseDataValidator.reset().parameter(maxDifferentialLendingRateParameterName).value(maxDifferentialLendingRate).notNull()
|
||||
.zeroOrPositiveAmount();
|
||||
}
|
||||
|
||||
if (defaultDifferentialLendingRate != null && defaultDifferentialLendingRate.compareTo(BigDecimal.ZERO) != -1) {
|
||||
if (minDifferentialLendingRate != null && minDifferentialLendingRate.compareTo(BigDecimal.ZERO) != -1) {
|
||||
@@ -1052,7 +1043,7 @@ public final class LoanProductDataValidator {
|
||||
minDifferentialLendingRate = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(minDifferentialLendingRateParameterName,
|
||||
element);
|
||||
}
|
||||
baseDataValidator.reset().parameter(minDifferentialLendingRateParameterName).value(minDifferentialLendingRate).ignoreIfNull()
|
||||
baseDataValidator.reset().parameter(minDifferentialLendingRateParameterName).value(minDifferentialLendingRate).notNull()
|
||||
.zeroOrPositiveAmount();
|
||||
|
||||
final String defaultDifferentialLendingRateParameterName = "defaultDifferentialLendingRate";
|
||||
@@ -1062,7 +1053,7 @@ public final class LoanProductDataValidator {
|
||||
defaultDifferentialLendingRate = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(defaultDifferentialLendingRateParameterName,
|
||||
element);
|
||||
}
|
||||
baseDataValidator.reset().parameter(defaultDifferentialLendingRateParameterName).value(defaultDifferentialLendingRate).ignoreIfNull()
|
||||
baseDataValidator.reset().parameter(defaultDifferentialLendingRateParameterName).value(defaultDifferentialLendingRate).notNull()
|
||||
.zeroOrPositiveAmount();
|
||||
|
||||
final String maxDifferentialLendingRateParameterName = "maxDifferentialLendingRate";
|
||||
@@ -1072,7 +1063,7 @@ public final class LoanProductDataValidator {
|
||||
maxDifferentialLendingRate = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(maxDifferentialLendingRateParameterName,
|
||||
element);
|
||||
}
|
||||
baseDataValidator.reset().parameter(maxDifferentialLendingRateParameterName).value(maxDifferentialLendingRate).ignoreIfNull()
|
||||
baseDataValidator.reset().parameter(maxDifferentialLendingRateParameterName).value(maxDifferentialLendingRate).notNull()
|
||||
.zeroOrPositiveAmount();
|
||||
|
||||
if (defaultDifferentialLendingRate != null && defaultDifferentialLendingRate.compareTo(BigDecimal.ZERO) != -1) {
|
||||
|
||||
Reference in New Issue
Block a user