FINERACT-94: Flexible morotorium(only principal portion)

Project: http://git-wip-us.apache.org/repos/asf/incubator-fineract/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-fineract/commit/437de26c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-fineract/tree/437de26c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-fineract/diff/437de26c

Branch: refs/heads/develop
Commit: 437de26c33a800004af1918c48520713932e7e43
Parents: 446ff44
Author: binnygopinath <[email protected]>
Authored: Thu Apr 7 10:44:02 2016 +0530
Committer: binnygopinath <[email protected]>
Committed: Thu Apr 7 10:44:02 2016 +0530

----------------------------------------------------------------------
 .../loanaccount/api/LoansApiResource.java       |    2 +-
 .../loanaccount/data/LoanAccountData.java       |   36 +-
 .../domain/LoanApplicationTerms.java            | 3266 ++++++++++--------
 .../service/LoanScheduleAssembler.java          |    3 +-
 .../RescheduleLoansApiConstants.java            |    3 +-
 ...ulateLoanScheduleQueryFromApiJsonHelper.java |    2 +-
 ...LoanApplicationCommandFromApiJsonHelper.java |    1 +
 .../service/LoanReadPlatformServiceImpl.java    |    5 +-
 .../api/LoanProductsApiResource.java            |    2 +-
 .../loanproduct/data/LoanProductData.java       |   18 +-
 .../loanproduct/domain/LoanProduct.java         |    7 +-
 ...ctMinimumRepaymentScheduleRelatedDetail.java |    2 +
 .../domain/LoanProductRelatedDetail.java        |   40 +-
 .../serialization/LoanProductDataValidator.java |    2 +-
 .../LoanProductReadPlatformServiceImpl.java     |    5 +-
 ...__recurring_moratorium_principal_periods.sql |    5 +
 .../LoanProductRelatedDetailTestHelper.java     |    3 +-
 17 files changed, 1953 insertions(+), 1449 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/437de26c/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java
index 86afeab..929a5ae 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java
@@ -129,7 +129,7 @@ public class LoansApiResource {
             "interestRatePerPeriod", "annualInterestRate", 
"repaymentFrequencyType", "transactionProcessingStrategyId",
             "transactionProcessingStrategyName", "interestRateFrequencyType", 
"amortizationType", "interestType",
             "interestCalculationPeriodType", 
LoanProductConstants.allowPartialPeriodInterestCalcualtionParamName, 
"expectedFirstRepaymentOnDate",
-            "graceOnPrincipalPayment", "graceOnInterestPayment", 
"graceOnInterestCharged", "interestChargedFromDate", "timeline",
+            "graceOnPrincipalPayment", 
"recurringMoratoriumOnPrincipalPeriods", "graceOnInterestPayment", 
"graceOnInterestCharged", "interestChargedFromDate", "timeline",
             "totalFeeChargesAtDisbursement", "summary", "repaymentSchedule", 
"transactions", "charges", "collateral", "guarantors",
             "meeting", "productOptions", "amortizationTypeOptions", 
"interestTypeOptions", "interestCalculationPeriodTypeOptions",
             "repaymentFrequencyTypeOptions", 
"repaymentFrequencyNthDayTypeOptions", 
"repaymentFrequencyDaysOfWeekTypeOptions",

http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/437de26c/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanAccountData.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanAccountData.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanAccountData.java
index 6ec674d..cc7fc87 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanAccountData.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanAccountData.java
@@ -111,6 +111,7 @@ public class LoanAccountData {
     private final Long transactionProcessingStrategyId;
     private final String transactionProcessingStrategyName;
     private final Integer graceOnPrincipalPayment;
+    private final Integer recurringMoratoriumOnPrincipalPeriods;
     private final Integer graceOnInterestPayment;
     private final Integer graceOnInterestCharged;
     private final Integer graceOnArrearsAgeing;
@@ -254,6 +255,7 @@ public class LoanAccountData {
         final Boolean allowPartialPeriodInterestCalcualtion = null;
         final LocalDate expectedFirstRepaymentOnDate = null;
         final Integer graceOnPrincipalPayment = null;
+        final Integer recurringMoratoriumOnPrincipalPeriods = null;
         final Integer graceOnInterestPayment = null;
         final Integer graceOnInterestCharged = null;
         final Integer graceOnArrearsAgeing = null;
@@ -321,7 +323,7 @@ public class LoanAccountData {
                 repaymentFrequencyType, repaymentFrequencyNthDayType, 
repaymentFrequencyDayOfWeekType, transactionProcessingStrategyId,
                 transactionProcessingStrategyName, amortizationType, 
interestRatePerPeriod, interestRateFrequencyType, annualInterestRate,
                 interestType, isFloatingInterestRate, 
interestRateDifferential, interestCalculationPeriodType,
-                allowPartialPeriodInterestCalcualtion, 
expectedFirstRepaymentOnDate, graceOnPrincipalPayment, graceOnInterestPayment,
+                allowPartialPeriodInterestCalcualtion, 
expectedFirstRepaymentOnDate, graceOnPrincipalPayment, 
recurringMoratoriumOnPrincipalPeriods, graceOnInterestPayment,
                 graceOnInterestCharged, interestChargedFromDate, timeline, 
summary, feeChargesDueAtDisbursementCharged, repaymentSchedule,
                 transactions, charges, collateral, guarantors, calendarData, 
productOptions, termFrequencyTypeOptions,
                 repaymentFrequencyTypeOptions, 
repaymentFrequencyNthDayTypeOptions, repaymentFrequencyDayOfWeekTypeOptions,
@@ -384,6 +386,7 @@ public class LoanAccountData {
         final Boolean allowPartialPeriodInterestCalcualtion = null;
         final LocalDate expectedFirstRepaymentOnDate = null;
         final Integer graceOnPrincipalPayment = null;
+        final Integer recurringMoratoriumOnPrincipalPeriods = null;
         final Integer graceOnInterestPayment = null;
         final Integer graceOnArrearsAgeing = null;
         final Integer graceOnInterestCharged = null;
@@ -453,7 +456,7 @@ public class LoanAccountData {
                 repaymentFrequencyType, repaymentFrequencyNthDayType, 
repaymentFrequencyDayOfWeekType, transactionProcessingStrategyId,
                 transactionProcessingStrategyName, amortizationType, 
interestRatePerPeriod, interestRateFrequencyType, annualInterestRate,
                 interestType, isFloatingInterestRate, 
interestRateDifferential, interestCalculationPeriodType,
-                allowPartialPeriodInterestCalcualtion, 
expectedFirstRepaymentOnDate, graceOnPrincipalPayment, graceOnInterestPayment,
+                allowPartialPeriodInterestCalcualtion, 
expectedFirstRepaymentOnDate, graceOnPrincipalPayment, 
recurringMoratoriumOnPrincipalPeriods, graceOnInterestPayment,
                 graceOnInterestCharged, interestChargedFromDate, timeline, 
summary, feeChargesDueAtDisbursementCharged, repaymentSchedule,
                 transactions, charges, collateral, guarantors, calendarData, 
productOptions, termFrequencyTypeOptions,
                 repaymentFrequencyTypeOptions, 
repaymentFrequencyNthDayTypeOptions, repaymentFrequencyDayOfWeekTypeOptions,
@@ -479,7 +482,7 @@ public class LoanAccountData {
                 acc.repaymentFrequencyDayOfWeekType, 
acc.transactionProcessingStrategyId, acc.transactionProcessingStrategyName,
                 acc.amortizationType, acc.interestRatePerPeriod, 
acc.interestRateFrequencyType, acc.annualInterestRate, acc.interestType,
                 acc.isFloatingInterestRate, acc.interestRateDifferential, 
acc.interestCalculationPeriodType,
-                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment,
+                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment, 
acc.recurringMoratoriumOnPrincipalPeriods,
                 acc.graceOnInterestPayment, acc.graceOnInterestCharged, 
acc.interestChargedFromDate, clientAcc.timeline, acc.summary,
                 acc.feeChargesAtDisbursementCharged, acc.repaymentSchedule, 
acc.transactions, acc.charges, acc.collateral, acc.guarantors,
                 acc.meeting, acc.productOptions, acc.termFrequencyTypeOptions, 
acc.repaymentFrequencyTypeOptions,
@@ -546,6 +549,7 @@ public class LoanAccountData {
         final Boolean allowPartialPeriodInterestCalcualtion = null;
         final LocalDate expectedFirstRepaymentOnDate = null;
         final Integer graceOnPrincipalPayment = null;
+        final Integer recurringMoratoriumOnPrincipalPeriods = null;
         final Integer graceOnInterestPayment = null;
         final Integer graceOnInterestCharged = null;
         final Integer graceOnArrearsAgeing = null;
@@ -615,7 +619,7 @@ public class LoanAccountData {
                 repaymentFrequencyType, repaymentFrequencyNthDayType, 
repaymentFrequencyDayOfWeekType, transactionProcessingStrategyId,
                 transactionProcessingStrategyName, amortizationType, 
interestRatePerPeriod, interestRateFrequencyType, annualInterestRate,
                 interestType, isFloatingInterestRate, 
interestRateDifferential, interestCalculationPeriodType,
-                allowPartialPeriodInterestCalcualtion, 
expectedFirstRepaymentOnDate, graceOnPrincipalPayment, graceOnInterestPayment,
+                allowPartialPeriodInterestCalcualtion, 
expectedFirstRepaymentOnDate, graceOnPrincipalPayment, 
recurringMoratoriumOnPrincipalPeriods, graceOnInterestPayment,
                 graceOnInterestCharged, interestChargedFromDate, timeline, 
summary, feeChargesDueAtDisbursementCharged, repaymentSchedule,
                 transactions, charges, collateral, guarantors, calendarData, 
productOptions, termFrequencyTypeOptions,
                 repaymentFrequencyTypeOptions, 
repaymentFrequencyNthDayTypeOptions, repaymentFrequencyDayOfWeekTypeOptions,
@@ -641,7 +645,7 @@ public class LoanAccountData {
                 acc.transactionProcessingStrategyId, 
acc.transactionProcessingStrategyName, acc.amortizationType,
                 acc.interestRatePerPeriod, acc.interestRateFrequencyType, 
acc.annualInterestRate, acc.interestType,
                 acc.isFloatingInterestRate, acc.interestRateDifferential, 
acc.interestCalculationPeriodType,
-                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment,
+                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment, 
acc.recurringMoratoriumOnPrincipalPeriods,
                 acc.graceOnInterestPayment, acc.graceOnInterestCharged, 
acc.interestChargedFromDate, groupAcc.timeline, acc.summary,
                 acc.feeChargesAtDisbursementCharged, acc.repaymentSchedule, 
acc.transactions, acc.charges, acc.collateral, acc.guarantors,
                 acc.meeting, acc.productOptions, acc.termFrequencyTypeOptions, 
acc.repaymentFrequencyTypeOptions,
@@ -790,7 +794,7 @@ public class LoanAccountData {
                 product.getInterestRateFrequencyType(), 
product.getAnnualInterestRate(), product.getInterestType(),
                 product.isFloatingInterestRateCalculationAllowed(), 
product.getDefaultDifferentialLendingRate(),
                 product.getInterestCalculationPeriodType(), 
product.getAllowPartialPeriodInterestCalcualtion(),
-                expectedFirstRepaymentOnDate, 
product.getGraceOnPrincipalPayment(), product.getGraceOnInterestPayment(),
+                expectedFirstRepaymentOnDate, 
product.getGraceOnPrincipalPayment(), 
product.getRecurringMoratoriumOnPrincipalPeriods(), 
product.getGraceOnInterestPayment(),
                 product.getGraceOnInterestCharged(), interestChargedFromDate, 
timeline, summary, feeChargesDueAtDisbursementCharged,
                 repaymentSchedule, transactions, charges, collateral, 
guarantors, calendarData, productOptions, termFrequencyTypeOptions,
                 repaymentFrequencyTypeOptions, 
repaymentFrequencyNthDayTypeOptions, repaymentFrequencyDayOfWeekTypeOptions,
@@ -849,7 +853,7 @@ public class LoanAccountData {
                 product.getAmortizationType(), 
product.getInterestRatePerPeriod(), product.getInterestRateFrequencyType(),
                 product.getAnnualInterestRate(), product.getInterestType(), 
product.isFloatingInterestRateCalculationAllowed(),
                 product.getDefaultDifferentialLendingRate(), 
product.getInterestCalculationPeriodType(),
-                product.getAllowPartialPeriodInterestCalcualtion(), 
acc.expectedFirstRepaymentOnDate, product.getGraceOnPrincipalPayment(),
+                product.getAllowPartialPeriodInterestCalcualtion(), 
acc.expectedFirstRepaymentOnDate, product.getGraceOnPrincipalPayment(), 
product.getRecurringMoratoriumOnPrincipalPeriods(),
                 product.getGraceOnInterestPayment(), 
product.getGraceOnInterestCharged(), acc.interestChargedFromDate, acc.timeline,
                 acc.summary, acc.feeChargesAtDisbursementCharged, 
repaymentSchedule, transactions, charges, collateral, guarantors,
                 calendarData, productOptions, termFrequencyTypeOptions, 
repaymentFrequencyTypeOptions, null, null,
@@ -884,7 +888,7 @@ public class LoanAccountData {
             final BigDecimal annualInterestRate, final EnumOptionData 
interestType, final boolean isFloatingInterestRate,
             final BigDecimal interestRateDifferential, final EnumOptionData 
interestCalculationPeriodType,
             Boolean allowPartialPeriodInterestCalcualtion, final LocalDate 
expectedFirstRepaymentOnDate,
-            final Integer graceOnPrincipalPayment, final Integer 
graceOnInterestPayment, final Integer graceOnInterestCharged,
+            final Integer graceOnPrincipalPayment, final Integer 
recurringMoratoriumOnPrincipalPeriods, final Integer graceOnInterestPayment, 
final Integer graceOnInterestCharged,
             final LocalDate interestChargedFromDate, final 
LoanApplicationTimelineData timeline, final LoanSummaryData loanSummary,
             final BigDecimal feeChargesDueAtDisbursementCharged, final Boolean 
syncDisbursementWithMeeting, final Integer loancounter,
             final Integer loanProductCounter, final Boolean multiDisburseLoan, 
Boolean canDefineInstallmentAmount,
@@ -936,7 +940,7 @@ public class LoanAccountData {
                 repaymentEvery, repaymentFrequencyType, 
repaymentFrequencyNthDayType, repaymentFrequencyDayOfWeekType,
                 transactionStrategyId, transactionStrategyName, 
amortizationType, interestRatePerPeriod, interestRateFrequencyType,
                 annualInterestRate, interestType, isFloatingInterestRate, 
interestRateDifferential, interestCalculationPeriodType,
-                allowPartialPeriodInterestCalcualtion, 
expectedFirstRepaymentOnDate, graceOnPrincipalPayment, graceOnInterestPayment,
+                allowPartialPeriodInterestCalcualtion, 
expectedFirstRepaymentOnDate, graceOnPrincipalPayment, 
recurringMoratoriumOnPrincipalPeriods, graceOnInterestPayment,
                 graceOnInterestCharged, interestChargedFromDate, timeline, 
loanSummary, feeChargesDueAtDisbursementCharged,
                 repaymentSchedule, transactions, charges, collateral, 
guarantors, calendarData, productOptions, termFrequencyTypeOptions,
                 repaymentFrequencyTypeOptions, 
repaymentFrequencyNthDayTypeOptions, repaymentFrequencyDayOfWeekTypeOptions,
@@ -985,7 +989,7 @@ public class LoanAccountData {
                 acc.transactionProcessingStrategyId, 
acc.transactionProcessingStrategyName, acc.amortizationType,
                 acc.interestRatePerPeriod, acc.interestRateFrequencyType, 
acc.annualInterestRate, acc.interestType,
                 acc.isFloatingInterestRate, acc.interestRateDifferential, 
acc.interestCalculationPeriodType,
-                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment,
+                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment, 
acc.recurringMoratoriumOnPrincipalPeriods,
                 acc.graceOnInterestPayment, acc.graceOnInterestCharged, 
acc.interestChargedFromDate, acc.timeline, acc.summary,
                 acc.feeChargesAtDisbursementCharged, repaymentSchedule, 
transactions, charges, collateral, guarantors, calendarData,
                 productOptions, termFrequencyTypeOptions, 
repaymentFrequencyTypeOptions, repaymentFrequencyNthDayTypeOptions,
@@ -1025,7 +1029,7 @@ public class LoanAccountData {
                 acc.transactionProcessingStrategyId, 
acc.transactionProcessingStrategyName, acc.amortizationType,
                 acc.interestRatePerPeriod, acc.interestRateFrequencyType, 
acc.annualInterestRate, acc.interestType,
                 acc.isFloatingInterestRate, acc.interestRateDifferential, 
acc.interestCalculationPeriodType,
-                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment,
+                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment, 
acc.recurringMoratoriumOnPrincipalPeriods,
                 acc.graceOnInterestPayment, acc.graceOnInterestCharged, 
acc.interestChargedFromDate, acc.timeline, acc.summary,
                 acc.feeChargesAtDisbursementCharged, acc.repaymentSchedule, 
acc.transactions, acc.charges, acc.collateral, acc.guarantors,
                 acc.meeting, acc.productOptions, acc.termFrequencyTypeOptions, 
acc.repaymentFrequencyTypeOptions,
@@ -1089,7 +1093,7 @@ public class LoanAccountData {
                 acc.transactionProcessingStrategyId, 
acc.transactionProcessingStrategyName, acc.amortizationType,
                 acc.interestRatePerPeriod, acc.interestRateFrequencyType, 
acc.annualInterestRate, acc.interestType,
                 acc.isFloatingInterestRate, acc.interestRateDifferential, 
acc.interestCalculationPeriodType,
-                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment,
+                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment, 
acc.recurringMoratoriumOnPrincipalPeriods,
                 acc.graceOnInterestPayment, acc.graceOnInterestCharged, 
acc.interestChargedFromDate, acc.timeline, acc.summary,
                 acc.feeChargesAtDisbursementCharged, acc.repaymentSchedule, 
acc.transactions, acc.charges, acc.collateral, acc.guarantors,
                 acc.meeting, acc.productOptions, acc.termFrequencyTypeOptions, 
acc.repaymentFrequencyTypeOptions,
@@ -1122,7 +1126,7 @@ public class LoanAccountData {
                 acc.transactionProcessingStrategyId, 
acc.transactionProcessingStrategyName, acc.amortizationType,
                 acc.interestRatePerPeriod, acc.interestRateFrequencyType, 
acc.annualInterestRate, acc.interestType,
                 acc.isFloatingInterestRate, acc.interestRateDifferential, 
acc.interestCalculationPeriodType,
-                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment,
+                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment, 
acc.recurringMoratoriumOnPrincipalPeriods,
                 acc.graceOnInterestPayment, acc.graceOnInterestCharged, 
acc.interestChargedFromDate, acc.timeline, acc.summary,
                 acc.feeChargesAtDisbursementCharged, acc.repaymentSchedule, 
acc.transactions, acc.charges, acc.collateral, acc.guarantors,
                 acc.meeting, acc.productOptions, acc.termFrequencyTypeOptions, 
acc.repaymentFrequencyTypeOptions,
@@ -1150,7 +1154,7 @@ public class LoanAccountData {
                 acc.transactionProcessingStrategyId, 
acc.transactionProcessingStrategyName, acc.amortizationType,
                 acc.interestRatePerPeriod, acc.interestRateFrequencyType, 
acc.annualInterestRate, acc.interestType,
                 acc.isFloatingInterestRate, acc.interestRateDifferential, 
acc.interestCalculationPeriodType,
-                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment,
+                acc.allowPartialPeriodInterestCalcualtion, 
acc.expectedFirstRepaymentOnDate, acc.graceOnPrincipalPayment, 
acc.recurringMoratoriumOnPrincipalPeriods,
                 acc.graceOnInterestPayment, acc.graceOnInterestCharged, 
acc.interestChargedFromDate, acc.timeline, acc.summary,
                 acc.feeChargesAtDisbursementCharged, acc.repaymentSchedule, 
acc.transactions, acc.charges, acc.collateral, acc.guarantors,
                 acc.meeting, acc.productOptions, acc.termFrequencyTypeOptions, 
acc.repaymentFrequencyTypeOptions,
@@ -1205,7 +1209,7 @@ public class LoanAccountData {
             final BigDecimal annualInterestRate, final EnumOptionData 
interestType, final boolean isFloatingInterestRate,
             final BigDecimal interestRateDifferential, final EnumOptionData 
interestCalculationPeriodType,
             final Boolean allowPartialPeriodInterestCalcualtion, final 
LocalDate expectedFirstRepaymentOnDate,
-            final Integer graceOnPrincipalPayment, final Integer 
graceOnInterestPayment, final Integer graceOnInterestCharged,
+            final Integer graceOnPrincipalPayment, final Integer 
recurringMoratoriumOnPrincipalPeriods, final Integer graceOnInterestPayment, 
final Integer graceOnInterestCharged,
             final LocalDate interestChargedFromDate, final 
LoanApplicationTimelineData timeline, final LoanSummaryData summary,
             final BigDecimal feeChargesDueAtDisbursementCharged, final 
LoanScheduleData repaymentSchedule,
             final Collection<LoanTransactionData> transactions, final 
Collection<LoanChargeData> charges,
@@ -1279,6 +1283,8 @@ public class LoanAccountData {
         this.allowPartialPeriodInterestCalcualtion = 
allowPartialPeriodInterestCalcualtion;
         this.expectedFirstRepaymentOnDate = expectedFirstRepaymentOnDate;
         this.graceOnPrincipalPayment = graceOnPrincipalPayment;
+        this.recurringMoratoriumOnPrincipalPeriods = 
recurringMoratoriumOnPrincipalPeriods;
+        
         this.graceOnInterestPayment = graceOnInterestPayment;
         this.graceOnInterestCharged = graceOnInterestCharged;
         this.interestChargedFromDate = interestChargedFromDate;

Reply via email to