break out currency information on its own, using use values for loan product amount and inArrearsTolerance.

This commit is contained in:
Keith Woodlock
2012-08-22 16:12:34 +01:00
parent 9459db944b
commit 12a16a07cf
2 changed files with 29 additions and 17 deletions
@@ -19,8 +19,9 @@ public class LoanProductData {
private Long transactionProcessingStrategyId; private Long transactionProcessingStrategyId;
private String transactionProcessingStrategyName; private String transactionProcessingStrategyName;
private MoneyData principal; private CurrencyData currency;
private MoneyData inArrearsTolerance; private BigDecimal principal;
private BigDecimal inArrearsTolerance;
private Integer numberOfRepayments; private Integer numberOfRepayments;
private Integer loanTermFrequency; private Integer loanTermFrequency;
@@ -69,8 +70,9 @@ public class LoanProductData {
this.id = id; this.id = id;
this.name = name; this.name = name;
this.description = description; this.description = description;
this.principal = principal; this.currency = new CurrencyData(principal.getCurrencyCode(), principal.getDefaultName(), principal.getDigitsAfterDecimal(), principal.getDisplaySymbol(), principal.getNameCode());
this.inArrearsTolerance = tolerance; this.principal = principal.getAmount();
this.inArrearsTolerance = tolerance.getAmount();
this.numberOfRepayments = numberOfRepayments; this.numberOfRepayments = numberOfRepayments;
this.loanTermFrequency = loanTermFrequency; this.loanTermFrequency = loanTermFrequency;
this.repaymentEvery = repaymentEvery; this.repaymentEvery = repaymentEvery;
@@ -145,19 +147,27 @@ public class LoanProductData {
this.transactionProcessingStrategyName = transactionProcessingStrategyName; this.transactionProcessingStrategyName = transactionProcessingStrategyName;
} }
public MoneyData getPrincipal() { public CurrencyData getCurrency() {
return currency;
}
public void setCurrency(CurrencyData currency) {
this.currency = currency;
}
public BigDecimal getPrincipal() {
return principal; return principal;
} }
public void setPrincipal(MoneyData principal) { public void setPrincipal(BigDecimal principal) {
this.principal = principal; this.principal = principal;
} }
public MoneyData getInArrearsTolerance() { public BigDecimal getInArrearsTolerance() {
return inArrearsTolerance; return inArrearsTolerance;
} }
public void setInArrearsTolerance(MoneyData inArrearsTolerance) { public void setInArrearsTolerance(BigDecimal inArrearsTolerance) {
this.inArrearsTolerance = inArrearsTolerance; this.inArrearsTolerance = inArrearsTolerance;
} }
@@ -101,10 +101,8 @@ public class LoanProductReadPlatformServiceImpl implements LoanProductReadPlatfo
LoanProductData productData = new LoanProductData(); LoanProductData productData = new LoanProductData();
productData.setAmortizationType(LoanEnumerations productData.setAmortizationType(LoanEnumerations.amortizationType(AmortizationMethod.EQUAL_INSTALLMENTS));
.amortizationType(AmortizationMethod.EQUAL_INSTALLMENTS)); productData.setInterestType(LoanEnumerations.interestType(InterestMethod.DECLINING_BALANCE));
productData.setInterestType(LoanEnumerations
.interestType(InterestMethod.DECLINING_BALANCE));
productData.setLoanTermFrequencyType(LoanEnumerations.loanTermFrequencyType(PeriodFrequencyType.MONTHS)); productData.setLoanTermFrequencyType(LoanEnumerations.loanTermFrequencyType(PeriodFrequencyType.MONTHS));
@@ -116,11 +114,15 @@ public class LoanProductReadPlatformServiceImpl implements LoanProductReadPlatfo
populateProductDataWithDropdownOptions(productData); populateProductDataWithDropdownOptions(productData);
if (productData.getCurrencyOptions().size() >= 1) { productData.setPrincipal(BigDecimal.ZERO);
CurrencyData currency = productData.getCurrencyOptions().get(0); productData.setInArrearsTolerance(BigDecimal.ZERO);
MoneyData zero = MoneyData.zero(currency);
productData.setPrincipal(zero); CurrencyData currency = new CurrencyData("", "", 0, "", "");
productData.setInArrearsTolerance(zero); productData.setCurrency(currency);
if (productData.getCurrencyOptions().size() == 1) {
currency = productData.getCurrencyOptions().get(0);
productData.setCurrency(currency);
} }
return productData; return productData;