From 91f21707abac1337e49654a4354407308ae4812d Mon Sep 17 00:00:00 2001 From: Vishwas Babu A J Date: Sun, 5 Apr 2015 13:53:43 -0700 Subject: [PATCH] MIFOSX-1918 --- api-docs/apiLive.htm | 10 +-- .../common/loans/LoanProductTestBuilder.java | 4 +- .../domain/AbstractLoanScheduleGenerator.java | 8 +- .../domain/LoanApplicationTerms.java | 28 +++--- .../loanproduct/LoanProductConstants.java | 2 +- .../loanproduct/data/LoanProductData.java | 6 +- .../LoanProductInterestRecalculationData.java | 8 +- ...reClosureInterestCalculationStrategy.java} | 24 ++--- .../loanproduct/domain/LoanProduct.java | 4 +- ...anProductInterestRecalculationDetails.java | 24 ++--- .../LoanProductDataValidator.java | 87 +++++++++---------- .../LoanDropdownReadPlatformServiceImpl.java | 11 +-- .../loanproduct/service/LoanEnumerations.java | 18 ++-- 13 files changed, 117 insertions(+), 117 deletions(-) rename mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/{LoanPreCloseInterestCalculationStrategy.java => LoanPreClosureInterestCalculationStrategy.java} (53%) diff --git a/api-docs/apiLive.htm b/api-docs/apiLive.htm index 93ed9ff9f..ba308bc9d 100644 --- a/api-docs/apiLive.htm +++ b/api-docs/apiLive.htm @@ -11696,7 +11696,7 @@ GET https://DomainName/api/v1/loanproducts }, "preCloseInterestCalculationStrategy": { "id":1, - "code":"loanPreCloseInterestCalculationStrategy.tillPreClosureDate", + "code":"loanPreClosureInterestCalculationStrategy.tillPreClosureDate", "value":"Till preclose Date" }, "isArrearsBasedOnOriginalSchedule" : true @@ -11803,7 +11803,7 @@ GET https://DomainName/api/v1/loanproducts/template "value": "Reduce EMI amount" },"preCloseInterestCalculationStrategy": { "id":1, - "code":"loanPreCloseInterestCalculationStrategy.tillPreClosureDate", + "code":"loanPreClosureInterestCalculationStrategy.tillPreClosureDate", "value":"Till preclose Date" } }, @@ -11841,15 +11841,15 @@ GET https://DomainName/api/v1/loanproducts/template "value": "Months" } ], - "preCloseInterestCalculationStrategyOptions": [ + "preClosureInterestCalculationStrategyOptions": [ { "id":1, - "code":"loanPreCloseInterestCalculationStrategy.tillPreClosureDate", + "code":"loanPreClosureInterestCalculationStrategy.tillPreClosureDate", "value":"Till preclose Date" }, { "id":2, - "code":"loanPreCloseInterestCalculationStrategy.tillRestFrequencyDate", + "code":"loanPreClosureInterestCalculationStrategy.tillRestFrequencyDate", "value":"Till rest Frequency Date" } ], diff --git a/mifosng-provider/src/integrationTest/java/org/mifosplatform/integrationtests/common/loans/LoanProductTestBuilder.java b/mifosng-provider/src/integrationTest/java/org/mifosplatform/integrationtests/common/loans/LoanProductTestBuilder.java index 3920d2f0e..8b34d29f1 100644 --- a/mifosng-provider/src/integrationTest/java/org/mifosplatform/integrationtests/common/loans/LoanProductTestBuilder.java +++ b/mifosng-provider/src/integrationTest/java/org/mifosplatform/integrationtests/common/loans/LoanProductTestBuilder.java @@ -51,7 +51,7 @@ public class LoanProductTestBuilder { private static final String CASH_BASED = "2"; private static final String ACCRUAL_PERIODIC = "3"; private static final String ACCRUAL_UPFRONT = "4"; - + public static final String INTEREST_APPLICABLE_STRATEGY_REST_DATE = "2"; public static final String INTEREST_APPLICABLE_STRATEGY_ON_PRE_CLOSE_DATE = "1"; @@ -153,7 +153,7 @@ public class LoanProductTestBuilder { map.put("recalculationRestFrequencyType", recalculationRestFrequencyType); map.put("recalculationRestFrequencyInterval", recalculationRestFrequencyInterval); map.put("recalculationRestFrequencyDate", recalculationRestFrequencyDate); - map.put("preCloseInterestCalculationStrategy", preCloseInterestCalculationStrategy); + map.put("preClosureInterestCalculationStrategy", preCloseInterestCalculationStrategy); if (isArrearsBasedOnOriginalSchedule != null) { map.put("isArrearsBasedOnOriginalSchedule", isArrearsBasedOnOriginalSchedule); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/AbstractLoanScheduleGenerator.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/AbstractLoanScheduleGenerator.java index 3dedcebdf..e7ff206f3 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/AbstractLoanScheduleGenerator.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/AbstractLoanScheduleGenerator.java @@ -301,7 +301,7 @@ public abstract class AbstractLoanScheduleGenerator implements LoanScheduleGener currency, installments); if (unprocessed.isGreaterThanZero()) { - if (loanApplicationTerms.getPreCloseInterestCalculationStrategy().calculateTillRestFrequencyEnabled()) { + if (loanApplicationTerms.getPreClosureInterestCalculationStrategy().calculateTillRestFrequencyEnabled()) { LocalDate applicableDate = getNextRestScheduleDate(detail.getTransactionDate().minusDays(1), loanApplicationTerms, holidayDetailDTO); checkForOutstanding = detail.getTransactionDate().isEqual(applicableDate); @@ -355,7 +355,7 @@ public abstract class AbstractLoanScheduleGenerator implements LoanScheduleGener // apply interest calculation as per // configuration if (!outstandingBalance.isGreaterThan(unprocessed) - && !loanApplicationTerms.getPreCloseInterestCalculationStrategy() + && !loanApplicationTerms.getPreClosureInterestCalculationStrategy() .calculateTillRestFrequencyEnabled()) { LocalDate calculateTill = detail.getTransactionDate(); @@ -516,7 +516,7 @@ public abstract class AbstractLoanScheduleGenerator implements LoanScheduleGener if (outstandingBalance.isLessThan(interestForThisinstallment) && !scheduledDueDate.equals(detail.getTransactionDate())) { LocalDate calculateTill = detail.getTransactionDate(); - if (loanApplicationTerms.getPreCloseInterestCalculationStrategy().calculateTillRestFrequencyEnabled()) { + if (loanApplicationTerms.getPreClosureInterestCalculationStrategy().calculateTillRestFrequencyEnabled()) { calculateTill = getNextRestScheduleDate(calculateTill.minusDays(1), loanApplicationTerms, holidayDetailDTO); } @@ -1603,7 +1603,7 @@ public abstract class AbstractLoanScheduleGenerator implements LoanScheduleGener calculateInterestFrom = periodStartDateApplicableForInterest; } LocalDate calculateTill = onDate; - if (loanApplicationTerms.getPreCloseInterestCalculationStrategy().calculateTillRestFrequencyEnabled()) { + if (loanApplicationTerms.getPreClosureInterestCalculationStrategy().calculateTillRestFrequencyEnabled()) { LocalDate applicableDate = getNextRestScheduleDate(onDate.minusDays(1), loanApplicationTerms, holidayDetailDTO); calculateTill = applicableDate; } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java index 537b95f9c..ef9bc4498 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java @@ -31,7 +31,7 @@ import org.mifosplatform.portfolio.loanproduct.domain.AmortizationMethod; import org.mifosplatform.portfolio.loanproduct.domain.InterestCalculationPeriodMethod; import org.mifosplatform.portfolio.loanproduct.domain.InterestMethod; import org.mifosplatform.portfolio.loanproduct.domain.InterestRecalculationCompoundingMethod; -import org.mifosplatform.portfolio.loanproduct.domain.LoanPreCloseInterestCalculationStrategy; +import org.mifosplatform.portfolio.loanproduct.domain.LoanPreClosureInterestCalculationStrategy; import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail; import org.mifosplatform.portfolio.loanproduct.domain.LoanRescheduleStrategyMethod; import org.mifosplatform.portfolio.loanproduct.domain.RecalculationFrequencyType; @@ -138,7 +138,7 @@ public final class LoanApplicationTerms { private final BigDecimal principalThresholdForLastInstalment; private final Integer installmentAmountInMultiplesOf; - private final LoanPreCloseInterestCalculationStrategy preCloseInterestCalculationStrategy; + private final LoanPreClosureInterestCalculationStrategy preClosureInterestCalculationStrategy; public static LoanApplicationTerms assembleFrom(final ApplicationCurrency currency, final Integer loanTermFrequency, final PeriodFrequencyType loanTermPeriodFrequencyType, final Integer numberOfRepayments, final Integer repaymentEvery, @@ -155,7 +155,7 @@ public final class LoanApplicationTerms { final DaysInMonthType daysInMonthType, final DaysInYearType daysInYearType, final boolean isInterestRecalculationEnabled, final RecalculationFrequencyType recalculationFrequencyType, final CalendarInstance restCalendarInstance, final BigDecimal principalThresholdForLastInstalment, final Integer installmentAmountInMultiplesOf, - final LoanPreCloseInterestCalculationStrategy preCloseInterestCalculationStrategy) { + final LoanPreClosureInterestCalculationStrategy preClosureInterestCalculationStrategy) { final LoanRescheduleStrategyMethod rescheduleStrategyMethod = null; final InterestRecalculationCompoundingMethod interestRecalculationCompoundingMethod = null; @@ -167,7 +167,7 @@ public final class LoanApplicationTerms { disbursementDatas, maxOutstandingBalance, emiAmountVariations, graceOnArrearsAgeing, daysInMonthType, daysInYearType, isInterestRecalculationEnabled, rescheduleStrategyMethod, interestRecalculationCompoundingMethod, restCalendarInstance, recalculationFrequencyType, principalThresholdForLastInstalment, installmentAmountInMultiplesOf, - preCloseInterestCalculationStrategy); + preClosureInterestCalculationStrategy); } public static LoanApplicationTerms assembleFrom(final ApplicationCurrency applicationCurrency, final Integer loanTermFrequency, @@ -180,7 +180,7 @@ public final class LoanApplicationTerms { final BigDecimal principalThresholdForLastInstalment, final Integer installmentAmountInMultiplesOf, final RecalculationFrequencyType recalculationFrequencyType, final CalendarInstance restCalendarInstance, final InterestRecalculationCompoundingMethod compoundingMethod, - final LoanPreCloseInterestCalculationStrategy loanPreCloseInterestCalculationStrategy) { + final LoanPreClosureInterestCalculationStrategy loanPreClosureInterestCalculationStrategy) { final Integer numberOfRepayments = loanProductRelatedDetail.getNumberOfRepayments(); final Integer repaymentEvery = loanProductRelatedDetail.getRepayEvery(); @@ -213,7 +213,7 @@ public final class LoanApplicationTerms { multiDisburseLoan, emiAmount, disbursementDatas, maxOutstandingBalance, emiAmountVariations, loanProductRelatedDetail.getGraceOnDueDate(), daysInMonthType, daysInYearType, isInterestRecalculationEnabled, rescheduleStrategyMethod, compoundingMethod, restCalendarInstance, recalculationFrequencyType, - principalThresholdForLastInstalment, installmentAmountInMultiplesOf, loanPreCloseInterestCalculationStrategy); + principalThresholdForLastInstalment, installmentAmountInMultiplesOf, loanPreClosureInterestCalculationStrategy); } public static LoanApplicationTerms assembleFrom(final ApplicationCurrency applicationCurrency, final Integer loanTermFrequency, @@ -224,7 +224,8 @@ public final class LoanApplicationTerms { final List emiAmountVariations, final LocalDate interestChargedFromDate, final LoanInterestRecalculationDetails interestRecalculationDetails, final CalendarInstance restCalendarInstance, final RecalculationFrequencyType recalculationFrequencyType, final BigDecimal principalThresholdForLastInstalment, - Integer installmentAmountInMultiplesOf, final LoanPreCloseInterestCalculationStrategy loanPreCloseInterestCalculationStrategy) { + Integer installmentAmountInMultiplesOf, + final LoanPreClosureInterestCalculationStrategy loanPreClosureInterestCalculationStrategy) { final Integer numberOfRepayments = loanProductRelatedDetail.getNumberOfRepayments(); final Integer repaymentEvery = loanProductRelatedDetail.getRepayEvery(); @@ -262,7 +263,7 @@ public final class LoanApplicationTerms { disbursementDatas, maxOutstandingBalance, emiAmountVariations, loanProductRelatedDetail.getGraceOnDueDate(), daysInMonthType, daysInYearType, isInterestRecalculationEnabled, rescheduleStrategyMethod, interestRecalculationCompoundingMethod, restCalendarInstance, recalculationFrequencyType, - principalThresholdForLastInstalment, installmentAmountInMultiplesOf, loanPreCloseInterestCalculationStrategy); + principalThresholdForLastInstalment, installmentAmountInMultiplesOf, loanPreClosureInterestCalculationStrategy); } public static LoanApplicationTerms assembleFrom(final Integer repaymentEvery, final PeriodFrequencyType repaymentPeriodFrequencyType, @@ -281,7 +282,7 @@ public final class LoanApplicationTerms { applicationTerms.interestRecalculationEnabled, applicationTerms.rescheduleStrategyMethod, applicationTerms.interestRecalculationCompoundingMethod, applicationTerms.restCalendarInstance, applicationTerms.recalculationFrequencyType, applicationTerms.principalThresholdForLastInstalment, - applicationTerms.installmentAmountInMultiplesOf, applicationTerms.preCloseInterestCalculationStrategy); + applicationTerms.installmentAmountInMultiplesOf, applicationTerms.preClosureInterestCalculationStrategy); } private LoanApplicationTerms(final ApplicationCurrency currency, final Integer loanTermFrequency, @@ -300,7 +301,7 @@ public final class LoanApplicationTerms { final InterestRecalculationCompoundingMethod interestRecalculationCompoundingMethod, final CalendarInstance restCalendarInstance, final RecalculationFrequencyType recalculationFrequencyType, final BigDecimal principalThresholdForLastInstalment, final Integer installmentAmountInMultiplesOf, - final LoanPreCloseInterestCalculationStrategy preCloseInterestCalculationStrategy) { + final LoanPreClosureInterestCalculationStrategy preClosureInterestCalculationStrategy) { this.currency = currency; this.loanTermFrequency = loanTermFrequency; this.loanTermPeriodFrequencyType = loanTermPeriodFrequencyType; @@ -344,7 +345,7 @@ public final class LoanApplicationTerms { this.recalculationFrequencyType = recalculationFrequencyType; this.principalThresholdForLastInstalment = principalThresholdForLastInstalment; this.installmentAmountInMultiplesOf = installmentAmountInMultiplesOf; - this.preCloseInterestCalculationStrategy = preCloseInterestCalculationStrategy; + this.preClosureInterestCalculationStrategy = preClosureInterestCalculationStrategy; } public Money adjustPrincipalIfLastRepaymentPeriod(final Money principalForPeriod, final Money totalCumulativePrincipalToDate, @@ -1179,8 +1180,7 @@ public final class LoanApplicationTerms { return this.interestCalculationPeriodMethod; } - - public LoanPreCloseInterestCalculationStrategy getPreCloseInterestCalculationStrategy() { - return this.preCloseInterestCalculationStrategy; + public LoanPreClosureInterestCalculationStrategy getPreClosureInterestCalculationStrategy() { + return this.preClosureInterestCalculationStrategy; } } \ No newline at end of file diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/LoanProductConstants.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/LoanProductConstants.java index e613df27c..09d6f7c00 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/LoanProductConstants.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/LoanProductConstants.java @@ -75,7 +75,7 @@ public interface LoanProductConstants { public static final String recalculationRestFrequencyIntervalParameterName = "recalculationRestFrequencyInterval"; public static final String recalculationRestFrequencyDateParamName = "recalculationRestFrequencyDate"; public static final String isArrearsBasedOnOriginalScheduleParamName = "isArrearsBasedOnOriginalSchedule"; - public static final String preCloseInterestCalculationStrategyParamName = "preCloseInterestCalculationStrategy"; + public static final String preClosureInterestCalculationStrategyParamName = "preClosureInterestCalculationStrategy"; // Guarantee related public static final String holdGuaranteeFundsParamName = "holdGuaranteeFunds"; diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/data/LoanProductData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/data/LoanProductData.java index 90266fc53..8d5e19047 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/data/LoanProductData.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/data/LoanProductData.java @@ -130,7 +130,7 @@ public class LoanProductData { @SuppressWarnings("unused") private final List rescheduleStrategyTypeOptions; @SuppressWarnings("unused") - private final List preCloseInterestCalculationStrategyOptions; + private final List preClosureInterestCalculationStrategyOptions; @SuppressWarnings("unused") private final List interestRecalculationFrequencyTypeOptions; @@ -481,7 +481,7 @@ public class LoanProductData { this.canDefineInstallmentAmount = canDefineInstallmentAmount; this.installmentAmountInMultiplesOf = installmentAmountInMultiplesOf; - this.preCloseInterestCalculationStrategyOptions = null; + this.preClosureInterestCalculationStrategyOptions = null; } @@ -596,7 +596,7 @@ public class LoanProductData { this.canDefineInstallmentAmount = productData.canDefineInstallmentAmount; this.installmentAmountInMultiplesOf = productData.installmentAmountInMultiplesOf; - this.preCloseInterestCalculationStrategyOptions = preCloseInterestCalculationStrategyOptions; + this.preClosureInterestCalculationStrategyOptions = preCloseInterestCalculationStrategyOptions; } private Collection nullIfEmpty(final Collection charges) { diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/data/LoanProductInterestRecalculationData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/data/LoanProductInterestRecalculationData.java index 39dec8f75..cdba0e48a 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/data/LoanProductInterestRecalculationData.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/data/LoanProductInterestRecalculationData.java @@ -12,7 +12,7 @@ import static org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations.r import org.joda.time.LocalDate; import org.mifosplatform.infrastructure.core.data.EnumOptionData; import org.mifosplatform.portfolio.loanproduct.domain.InterestRecalculationCompoundingMethod; -import org.mifosplatform.portfolio.loanproduct.domain.LoanPreCloseInterestCalculationStrategy; +import org.mifosplatform.portfolio.loanproduct.domain.LoanPreClosureInterestCalculationStrategy; import org.mifosplatform.portfolio.loanproduct.domain.LoanRescheduleStrategyMethod; public class LoanProductInterestRecalculationData { @@ -29,7 +29,7 @@ public class LoanProductInterestRecalculationData { @SuppressWarnings("unused") private final boolean isArrearsBasedOnOriginalSchedule; @SuppressWarnings("unused") - private final EnumOptionData preCloseInterestCalculationStrategy; + private final EnumOptionData preClosureInterestCalculationStrategy; public LoanProductInterestRecalculationData(final Long id, final Long productId, final EnumOptionData interestRecalculationCompoundingType, final EnumOptionData rescheduleStrategyType, @@ -44,7 +44,7 @@ public class LoanProductInterestRecalculationData { this.recalculationRestFrequencyInterval = recalculationRestFrequencyInterval; this.recalculationRestFrequencyDate = recalculationRestFrequencyDate; this.isArrearsBasedOnOriginalSchedule = isArrearsBasedOnOriginalSchedule; - this.preCloseInterestCalculationStrategy = preCloseInterestCalculationStrategy; + this.preClosureInterestCalculationStrategy = preCloseInterestCalculationStrategy; } public static LoanProductInterestRecalculationData sensibleDefaultsForNewLoanProductCreation() { @@ -56,7 +56,7 @@ public class LoanProductInterestRecalculationData { final Integer recalculationRestFrequencyInterval = null; final LocalDate recalculationRestFrequencyDate = null; final boolean isArrearsBasedOnOriginalSchedule = false; - final EnumOptionData preCloseInterestCalculationStrategy = preCloseInterestCalculationStrategy(LoanPreCloseInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE); + final EnumOptionData preCloseInterestCalculationStrategy = preCloseInterestCalculationStrategy(LoanPreClosureInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE); return new LoanProductInterestRecalculationData(id, productId, interestRecalculationCompoundingType, rescheduleStrategyType, recalculationRestFrequencyType, recalculationRestFrequencyInterval, recalculationRestFrequencyDate, isArrearsBasedOnOriginalSchedule, preCloseInterestCalculationStrategy); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanPreCloseInterestCalculationStrategy.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanPreClosureInterestCalculationStrategy.java similarity index 53% rename from mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanPreCloseInterestCalculationStrategy.java rename to mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanPreClosureInterestCalculationStrategy.java index 35e8c2b58..33d0bfabc 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanPreCloseInterestCalculationStrategy.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanPreClosureInterestCalculationStrategy.java @@ -8,24 +8,24 @@ package org.mifosplatform.portfolio.loanproduct.domain; import java.util.HashMap; import java.util.Map; -public enum LoanPreCloseInterestCalculationStrategy { +public enum LoanPreClosureInterestCalculationStrategy { - NONE(0, "loanPreCloseInterestCalculationStrategy.none"), // - TILL_PRE_CLOSURE_DATE(1, "loanPreCloseInterestCalculationStrategy.tillPreClosureDate"), // - TILL_REST_FREQUENCY_DATE(2, "loanPreCloseInterestCalculationStrategy.tillRestFrequencyDate"); + NONE(0, "loanPreClosureInterestCalculationStrategy.none"), // + TILL_PRE_CLOSURE_DATE(1, "loanPreClosureInterestCalculationStrategy.tillPreClosureDate"), // + TILL_REST_FREQUENCY_DATE(2, "loanPreClosureInterestCalculationStrategy.tillRestFrequencyDate"); // REPAYMENT_PERIOD_DATE(3, - // "loanPreCloseInterestCalculationStrategy.repaymentPeriodDate") + // "loanPreClosureInterestCalculationStrategy.repaymentPeriodDate") private Integer value; private String code; - private static final Map intToEnumMap = new HashMap<>(); + private static final Map intToEnumMap = new HashMap<>(); private static int minValue; private static int maxValue; static { int i = 0; - for (final LoanPreCloseInterestCalculationStrategy type : LoanPreCloseInterestCalculationStrategy.values()) { + for (final LoanPreClosureInterestCalculationStrategy type : LoanPreClosureInterestCalculationStrategy.values()) { if (i == 0) { minValue = type.value; } @@ -40,12 +40,12 @@ public enum LoanPreCloseInterestCalculationStrategy { } } - public static LoanPreCloseInterestCalculationStrategy fromInt(final Integer ruleTypeValue) { - final LoanPreCloseInterestCalculationStrategy type = intToEnumMap.get(ruleTypeValue); + public static LoanPreClosureInterestCalculationStrategy fromInt(final Integer ruleTypeValue) { + final LoanPreClosureInterestCalculationStrategy type = intToEnumMap.get(ruleTypeValue); return type; } - private LoanPreCloseInterestCalculationStrategy(final Integer value, final String code) { + private LoanPreClosureInterestCalculationStrategy(final Integer value, final String code) { this.value = value; this.code = code; } @@ -67,10 +67,10 @@ public enum LoanPreCloseInterestCalculationStrategy { } public boolean calculateTillRestFrequencyEnabled() { - return this.getValue().equals(LoanPreCloseInterestCalculationStrategy.TILL_REST_FREQUENCY_DATE.getValue()); + return this.getValue().equals(LoanPreClosureInterestCalculationStrategy.TILL_REST_FREQUENCY_DATE.getValue()); } public boolean calculateTillPreClosureDateEnabled() { - return this.getValue().equals(LoanPreCloseInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE.getValue()); + return this.getValue().equals(LoanPreClosureInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE.getValue()); } } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProduct.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProduct.java index 8f7205957..f00e55940 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProduct.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProduct.java @@ -1069,8 +1069,8 @@ public class LoanProduct extends AbstractPersistable { return this.installmentAmountInMultiplesOf; } - public LoanPreCloseInterestCalculationStrategy preCloseInterestCalculationStrategy() { - LoanPreCloseInterestCalculationStrategy preCloseInterestCalculationStrategy = LoanPreCloseInterestCalculationStrategy.NONE; + public LoanPreClosureInterestCalculationStrategy preCloseInterestCalculationStrategy() { + LoanPreClosureInterestCalculationStrategy preCloseInterestCalculationStrategy = LoanPreClosureInterestCalculationStrategy.NONE; if (this.isInterestRecalculationEnabled()) { preCloseInterestCalculationStrategy = getProductInterestRecalculationDetails().preCloseInterestCalculationStrategy(); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProductInterestRecalculationDetails.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProductInterestRecalculationDetails.java index 399869207..06d81c0b7 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProductInterestRecalculationDetails.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProductInterestRecalculationDetails.java @@ -62,7 +62,7 @@ public class LoanProductInterestRecalculationDetails extends AbstractPersistable private boolean isArrearsBasedOnOriginalSchedule; @Column(name = "pre_close_interest_calculation_strategy") - private Integer preCloseInterestCalculationStrategy; + private Integer preClosureInterestCalculationStrategy; protected LoanProductInterestRecalculationDetails() { // @@ -96,9 +96,9 @@ public class LoanProductInterestRecalculationDetails extends AbstractPersistable } Integer preCloseInterestCalculationStrategy = command - .integerValueOfParameterNamed(LoanProductConstants.preCloseInterestCalculationStrategyParamName); + .integerValueOfParameterNamed(LoanProductConstants.preClosureInterestCalculationStrategyParamName); if (preCloseInterestCalculationStrategy == null) { - preCloseInterestCalculationStrategy = LoanPreCloseInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE.getValue(); + preCloseInterestCalculationStrategy = LoanPreClosureInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE.getValue(); } return new LoanProductInterestRecalculationDetails(interestRecalculationCompoundingMethod, loanRescheduleStrategyMethod, @@ -115,7 +115,7 @@ public class LoanProductInterestRecalculationDetails extends AbstractPersistable this.restInterval = restInterval; this.restFrequencyDate = restFrequencyDate; this.isArrearsBasedOnOriginalSchedule = isArrearsBasedOnOriginalSchedule; - this.preCloseInterestCalculationStrategy = preCloseInterestCalculationStrategy; + this.preClosureInterestCalculationStrategy = preCloseInterestCalculationStrategy; } public void updateProduct(final LoanProduct loanProduct) { @@ -195,14 +195,14 @@ public class LoanProductInterestRecalculationDetails extends AbstractPersistable this.isArrearsBasedOnOriginalSchedule = newValue; } - if (command.isChangeInIntegerParameterNamed(LoanProductConstants.preCloseInterestCalculationStrategyParamName, - this.preCloseInterestCalculationStrategy)) { - Integer newValue = command.integerValueOfParameterNamed(LoanProductConstants.preCloseInterestCalculationStrategyParamName); + if (command.isChangeInIntegerParameterNamed(LoanProductConstants.preClosureInterestCalculationStrategyParamName, + this.preClosureInterestCalculationStrategy)) { + Integer newValue = command.integerValueOfParameterNamed(LoanProductConstants.preClosureInterestCalculationStrategyParamName); if (newValue == null) { - newValue = LoanPreCloseInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE.getValue(); + newValue = LoanPreClosureInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE.getValue(); } - actualChanges.put(LoanProductConstants.preCloseInterestCalculationStrategyParamName, newValue); - this.preCloseInterestCalculationStrategy = newValue; + actualChanges.put(LoanProductConstants.preClosureInterestCalculationStrategyParamName, newValue); + this.preClosureInterestCalculationStrategy = newValue; } } @@ -227,7 +227,7 @@ public class LoanProductInterestRecalculationDetails extends AbstractPersistable return this.isArrearsBasedOnOriginalSchedule; } - public LoanPreCloseInterestCalculationStrategy preCloseInterestCalculationStrategy() { - return LoanPreCloseInterestCalculationStrategy.fromInt(this.preCloseInterestCalculationStrategy); + public LoanPreClosureInterestCalculationStrategy preCloseInterestCalculationStrategy() { + return LoanPreClosureInterestCalculationStrategy.fromInt(this.preClosureInterestCalculationStrategy); } } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/serialization/LoanProductDataValidator.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/serialization/LoanProductDataValidator.java index 8509e0fce..fd9893351 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/serialization/LoanProductDataValidator.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/serialization/LoanProductDataValidator.java @@ -26,7 +26,7 @@ import org.mifosplatform.infrastructure.core.exception.PlatformApiDataValidation import org.mifosplatform.infrastructure.core.serialization.FromJsonHelper; import org.mifosplatform.portfolio.loanproduct.LoanProductConstants; import org.mifosplatform.portfolio.loanproduct.domain.InterestMethod; -import org.mifosplatform.portfolio.loanproduct.domain.LoanPreCloseInterestCalculationStrategy; +import org.mifosplatform.portfolio.loanproduct.domain.LoanPreClosureInterestCalculationStrategy; import org.mifosplatform.portfolio.loanproduct.domain.LoanProduct; import org.mifosplatform.portfolio.loanproduct.domain.LoanProductValueConditionType; import org.mifosplatform.portfolio.loanproduct.domain.RecalculationFrequencyType; @@ -44,47 +44,41 @@ public final class LoanProductDataValidator { /** * The parameters supported for this command. */ - private final Set supportedParameters = new HashSet<>( - Arrays.asList("locale", "dateFormat", "name", "description", "fundId", "currencyCode", "digitsAfterDecimal", "inMultiplesOf", - "principal", "minPrincipal", "maxPrincipal", "repaymentEvery", "numberOfRepayments", "minNumberOfRepayments", - "maxNumberOfRepayments", "repaymentFrequencyType", "interestRatePerPeriod", "minInterestRatePerPeriod", - "maxInterestRatePerPeriod", "interestRateFrequencyType", "amortizationType", "interestType", - "interestCalculationPeriodType", "inArrearsTolerance", "transactionProcessingStrategyId", "graceOnPrincipalPayment", - "graceOnInterestPayment", "graceOnInterestCharged", "charges", "accountingRule", "includeInBorrowerCycle", "startDate", - "closeDate", "externalId", LOAN_PRODUCT_ACCOUNTING_PARAMS.FEES_RECEIVABLE.getValue(), - LOAN_PRODUCT_ACCOUNTING_PARAMS.FUND_SOURCE.getValue(), LOAN_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_FEES.getValue(), - LOAN_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_PENALTIES.getValue(), - LOAN_PRODUCT_ACCOUNTING_PARAMS.INTEREST_ON_LOANS.getValue(), - LOAN_PRODUCT_ACCOUNTING_PARAMS.INTEREST_RECEIVABLE.getValue(), - LOAN_PRODUCT_ACCOUNTING_PARAMS.LOAN_PORTFOLIO.getValue(), LOAN_PRODUCT_ACCOUNTING_PARAMS.OVERPAYMENT.getValue(), - LOAN_PRODUCT_ACCOUNTING_PARAMS.TRANSFERS_SUSPENSE.getValue(), - LOAN_PRODUCT_ACCOUNTING_PARAMS.LOSSES_WRITTEN_OFF.getValue(), - LOAN_PRODUCT_ACCOUNTING_PARAMS.PENALTIES_RECEIVABLE.getValue(), - LOAN_PRODUCT_ACCOUNTING_PARAMS.PAYMENT_CHANNEL_FUND_SOURCE_MAPPING.getValue(), - LOAN_PRODUCT_ACCOUNTING_PARAMS.FEE_INCOME_ACCOUNT_MAPPING.getValue(), - LOAN_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_RECOVERY.getValue(), - LOAN_PRODUCT_ACCOUNTING_PARAMS.PENALTY_INCOME_ACCOUNT_MAPPING.getValue(), - LoanProductConstants.useBorrowerCycleParameterName, - LoanProductConstants.principalVariationsForBorrowerCycleParameterName, - LoanProductConstants.interestRateVariationsForBorrowerCycleParameterName, - LoanProductConstants.numberOfRepaymentVariationsForBorrowerCycleParameterName, LoanProductConstants.shortName, - LoanProductConstants.multiDisburseLoanParameterName, LoanProductConstants.outstandingLoanBalanceParameterName, - LoanProductConstants.maxTrancheCountParameterName, LoanProductConstants.graceOnArrearsAgeingParameterName, - LoanProductConstants.overdueDaysForNPAParameterName, LoanProductConstants.isInterestRecalculationEnabledParameterName, - LoanProductConstants.daysInYearTypeParameterName, LoanProductConstants.daysInMonthTypeParameterName, - LoanProductConstants.rescheduleStrategyMethodParameterName, - LoanProductConstants.interestRecalculationCompoundingMethodParameterName, - LoanProductConstants.recalculationRestFrequencyDateParamName, - LoanProductConstants.recalculationRestFrequencyIntervalParameterName, - LoanProductConstants.recalculationRestFrequencyTypeParameterName, - LoanProductConstants.isArrearsBasedOnOriginalScheduleParamName, - LoanProductConstants.minimumDaysBetweenDisbursalAndFirstRepayment, LoanProductConstants.mandatoryGuaranteeParamName, - LoanProductConstants.holdGuaranteeFundsParamName, LoanProductConstants.minimumGuaranteeFromGuarantorParamName, - LoanProductConstants.minimumGuaranteeFromOwnFundsParamName, - LoanProductConstants.principalThresholdForLastInstallmentParamName, - LoanProductConstants.accountMovesOutOfNPAOnlyOnArrearsCompletionParamName, - LoanProductConstants.canDefineEmiAmountParamName, LoanProductConstants.installmentAmountInMultiplesOfParamName, - LoanProductConstants.preCloseInterestCalculationStrategyParamName)); + private final Set supportedParameters = new HashSet<>(Arrays.asList("locale", "dateFormat", "name", "description", "fundId", + "currencyCode", "digitsAfterDecimal", "inMultiplesOf", "principal", "minPrincipal", "maxPrincipal", "repaymentEvery", + "numberOfRepayments", "minNumberOfRepayments", "maxNumberOfRepayments", "repaymentFrequencyType", "interestRatePerPeriod", + "minInterestRatePerPeriod", "maxInterestRatePerPeriod", "interestRateFrequencyType", "amortizationType", "interestType", + "interestCalculationPeriodType", "inArrearsTolerance", "transactionProcessingStrategyId", "graceOnPrincipalPayment", + "graceOnInterestPayment", "graceOnInterestCharged", "charges", "accountingRule", "includeInBorrowerCycle", "startDate", + "closeDate", "externalId", LOAN_PRODUCT_ACCOUNTING_PARAMS.FEES_RECEIVABLE.getValue(), + LOAN_PRODUCT_ACCOUNTING_PARAMS.FUND_SOURCE.getValue(), LOAN_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_FEES.getValue(), + LOAN_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_PENALTIES.getValue(), LOAN_PRODUCT_ACCOUNTING_PARAMS.INTEREST_ON_LOANS.getValue(), + LOAN_PRODUCT_ACCOUNTING_PARAMS.INTEREST_RECEIVABLE.getValue(), LOAN_PRODUCT_ACCOUNTING_PARAMS.LOAN_PORTFOLIO.getValue(), + LOAN_PRODUCT_ACCOUNTING_PARAMS.OVERPAYMENT.getValue(), LOAN_PRODUCT_ACCOUNTING_PARAMS.TRANSFERS_SUSPENSE.getValue(), + LOAN_PRODUCT_ACCOUNTING_PARAMS.LOSSES_WRITTEN_OFF.getValue(), LOAN_PRODUCT_ACCOUNTING_PARAMS.PENALTIES_RECEIVABLE.getValue(), + LOAN_PRODUCT_ACCOUNTING_PARAMS.PAYMENT_CHANNEL_FUND_SOURCE_MAPPING.getValue(), + LOAN_PRODUCT_ACCOUNTING_PARAMS.FEE_INCOME_ACCOUNT_MAPPING.getValue(), + LOAN_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_RECOVERY.getValue(), + LOAN_PRODUCT_ACCOUNTING_PARAMS.PENALTY_INCOME_ACCOUNT_MAPPING.getValue(), LoanProductConstants.useBorrowerCycleParameterName, + LoanProductConstants.principalVariationsForBorrowerCycleParameterName, + LoanProductConstants.interestRateVariationsForBorrowerCycleParameterName, + LoanProductConstants.numberOfRepaymentVariationsForBorrowerCycleParameterName, LoanProductConstants.shortName, + LoanProductConstants.multiDisburseLoanParameterName, LoanProductConstants.outstandingLoanBalanceParameterName, + LoanProductConstants.maxTrancheCountParameterName, LoanProductConstants.graceOnArrearsAgeingParameterName, + LoanProductConstants.overdueDaysForNPAParameterName, LoanProductConstants.isInterestRecalculationEnabledParameterName, + LoanProductConstants.daysInYearTypeParameterName, LoanProductConstants.daysInMonthTypeParameterName, + LoanProductConstants.rescheduleStrategyMethodParameterName, + LoanProductConstants.interestRecalculationCompoundingMethodParameterName, + LoanProductConstants.recalculationRestFrequencyDateParamName, + LoanProductConstants.recalculationRestFrequencyIntervalParameterName, + LoanProductConstants.recalculationRestFrequencyTypeParameterName, + LoanProductConstants.isArrearsBasedOnOriginalScheduleParamName, + LoanProductConstants.minimumDaysBetweenDisbursalAndFirstRepayment, LoanProductConstants.mandatoryGuaranteeParamName, + LoanProductConstants.holdGuaranteeFundsParamName, LoanProductConstants.minimumGuaranteeFromGuarantorParamName, + LoanProductConstants.minimumGuaranteeFromOwnFundsParamName, LoanProductConstants.principalThresholdForLastInstallmentParamName, + LoanProductConstants.accountMovesOutOfNPAOnlyOnArrearsCompletionParamName, LoanProductConstants.canDefineEmiAmountParamName, + LoanProductConstants.installmentAmountInMultiplesOfParamName, + LoanProductConstants.preClosureInterestCalculationStrategyParamName)); private final FromJsonHelper fromApiJsonHelper; @@ -545,15 +539,16 @@ public final class LoanProductDataValidator { baseDataValidator.reset().parameter(LoanProductConstants.isArrearsBasedOnOriginalScheduleParamName) .value(isArrearsBasedOnOriginalSchedule).notNull().isOneOfTheseValues(true, false); } - + final Integer preCloseInterestCalculationStrategy = this.fromApiJsonHelper.extractIntegerWithLocaleNamed( - LoanProductConstants.preCloseInterestCalculationStrategyParamName, element); + LoanProductConstants.preClosureInterestCalculationStrategyParamName, element); baseDataValidator .reset() - .parameter(LoanProductConstants.preCloseInterestCalculationStrategyParamName) + .parameter(LoanProductConstants.preClosureInterestCalculationStrategyParamName) .value(preCloseInterestCalculationStrategy) .ignoreIfNull() - .inMinMaxRange(LoanPreCloseInterestCalculationStrategy.getMinValue(), LoanPreCloseInterestCalculationStrategy.getMaxValue()); + .inMinMaxRange(LoanPreClosureInterestCalculationStrategy.getMinValue(), + LoanPreClosureInterestCalculationStrategy.getMaxValue()); } public void validateForUpdate(final String json, final LoanProduct loanProduct) { diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanDropdownReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanDropdownReadPlatformServiceImpl.java index 6531dcc1c..880e98b11 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanDropdownReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanDropdownReadPlatformServiceImpl.java @@ -13,27 +13,28 @@ import static org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations.i import static org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations.interestType; import static org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations.loanCycleValueConditionType; import static org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations.loanTermFrequencyType; +import static org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations.preCloseInterestCalculationStrategy; import static org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations.repaymentFrequencyDayOfWeekType; import static org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations.repaymentFrequencyNthDayType; import static org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations.repaymentFrequencyType; import static org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations.rescheduleStrategyType; -import static org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations.preCloseInterestCalculationStrategy; + import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import org.mifosplatform.infrastructure.core.data.EnumOptionData; +import org.mifosplatform.portfolio.common.domain.DayOfWeekType; import org.mifosplatform.portfolio.common.domain.NthDayType; import org.mifosplatform.portfolio.common.domain.PeriodFrequencyType; -import org.mifosplatform.portfolio.common.domain.DayOfWeekType; import org.mifosplatform.portfolio.loanaccount.domain.LoanTransactionProcessingStrategyRepository; import org.mifosplatform.portfolio.loanproduct.data.TransactionProcessingStrategyData; import org.mifosplatform.portfolio.loanproduct.domain.AmortizationMethod; import org.mifosplatform.portfolio.loanproduct.domain.InterestCalculationPeriodMethod; import org.mifosplatform.portfolio.loanproduct.domain.InterestMethod; import org.mifosplatform.portfolio.loanproduct.domain.InterestRecalculationCompoundingMethod; -import org.mifosplatform.portfolio.loanproduct.domain.LoanPreCloseInterestCalculationStrategy; +import org.mifosplatform.portfolio.loanproduct.domain.LoanPreClosureInterestCalculationStrategy; import org.mifosplatform.portfolio.loanproduct.domain.LoanProductValueConditionType; import org.mifosplatform.portfolio.loanproduct.domain.LoanRescheduleStrategyMethod; import org.mifosplatform.portfolio.loanproduct.domain.LoanTransactionProcessingStrategy; @@ -177,8 +178,8 @@ public class LoanDropdownReadPlatformServiceImpl implements LoanDropdownReadPlat public List retrivePreCloseInterestCalculationStrategyOptions() { final List preCloseInterestCalculationStrategyOptions = Arrays.asList( - preCloseInterestCalculationStrategy(LoanPreCloseInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE), - preCloseInterestCalculationStrategy(LoanPreCloseInterestCalculationStrategy.TILL_REST_FREQUENCY_DATE)); + preCloseInterestCalculationStrategy(LoanPreClosureInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE), + preCloseInterestCalculationStrategy(LoanPreClosureInterestCalculationStrategy.TILL_REST_FREQUENCY_DATE)); return preCloseInterestCalculationStrategyOptions; } } \ No newline at end of file diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanEnumerations.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanEnumerations.java index 5dc83893a..f580154ff 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanEnumerations.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanEnumerations.java @@ -20,7 +20,7 @@ import org.mifosplatform.portfolio.loanproduct.domain.AmortizationMethod; import org.mifosplatform.portfolio.loanproduct.domain.InterestCalculationPeriodMethod; import org.mifosplatform.portfolio.loanproduct.domain.InterestMethod; import org.mifosplatform.portfolio.loanproduct.domain.InterestRecalculationCompoundingMethod; -import org.mifosplatform.portfolio.loanproduct.domain.LoanPreCloseInterestCalculationStrategy; +import org.mifosplatform.portfolio.loanproduct.domain.LoanPreClosureInterestCalculationStrategy; import org.mifosplatform.portfolio.loanproduct.domain.LoanProductParamType; import org.mifosplatform.portfolio.loanproduct.domain.LoanProductValueConditionType; import org.mifosplatform.portfolio.loanproduct.domain.LoanRescheduleStrategyMethod; @@ -598,19 +598,23 @@ public class LoanEnumerations { } public static EnumOptionData preCloseInterestCalculationStrategy(final int id) { - return preCloseInterestCalculationStrategy(LoanPreCloseInterestCalculationStrategy.fromInt(id)); + return preCloseInterestCalculationStrategy(LoanPreClosureInterestCalculationStrategy.fromInt(id)); } - public static EnumOptionData preCloseInterestCalculationStrategy(final LoanPreCloseInterestCalculationStrategy type) { + public static EnumOptionData preCloseInterestCalculationStrategy(final LoanPreClosureInterestCalculationStrategy type) { EnumOptionData optionData = null; switch (type) { case TILL_PRE_CLOSURE_DATE: - optionData = new EnumOptionData(LoanPreCloseInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE.getValue().longValue(), - LoanPreCloseInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE.getCode(), "Till preclose Date"); + optionData = new EnumOptionData(LoanPreClosureInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE.getValue().longValue(), + LoanPreClosureInterestCalculationStrategy.TILL_PRE_CLOSURE_DATE.getCode(), "Till preclose Date"); break; case TILL_REST_FREQUENCY_DATE: - optionData = new EnumOptionData(LoanPreCloseInterestCalculationStrategy.TILL_REST_FREQUENCY_DATE.getValue().longValue(), - LoanPreCloseInterestCalculationStrategy.TILL_REST_FREQUENCY_DATE.getCode(), "Till rest Frequency Date"); + optionData = new EnumOptionData(LoanPreClosureInterestCalculationStrategy.TILL_REST_FREQUENCY_DATE.getValue().longValue(), + LoanPreClosureInterestCalculationStrategy.TILL_REST_FREQUENCY_DATE.getCode(), "Till rest Frequency Date"); + break; + case NONE: + break; + default: break; } return optionData;