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 String transactionProcessingStrategyName;
private MoneyData principal;
private MoneyData inArrearsTolerance;
private CurrencyData currency;
private BigDecimal principal;
private BigDecimal inArrearsTolerance;
private Integer numberOfRepayments;
private Integer loanTermFrequency;
@@ -69,8 +70,9 @@ public class LoanProductData {
this.id = id;
this.name = name;
this.description = description;
this.principal = principal;
this.inArrearsTolerance = tolerance;
this.currency = new CurrencyData(principal.getCurrencyCode(), principal.getDefaultName(), principal.getDigitsAfterDecimal(), principal.getDisplaySymbol(), principal.getNameCode());
this.principal = principal.getAmount();
this.inArrearsTolerance = tolerance.getAmount();
this.numberOfRepayments = numberOfRepayments;
this.loanTermFrequency = loanTermFrequency;
this.repaymentEvery = repaymentEvery;
@@ -144,20 +146,28 @@ public class LoanProductData {
String transactionProcessingStrategyName) {
this.transactionProcessingStrategyName = transactionProcessingStrategyName;
}
public CurrencyData getCurrency() {
return currency;
}
public MoneyData getPrincipal() {
public void setCurrency(CurrencyData currency) {
this.currency = currency;
}
public BigDecimal getPrincipal() {
return principal;
}
public void setPrincipal(MoneyData principal) {
public void setPrincipal(BigDecimal principal) {
this.principal = principal;
}
public MoneyData getInArrearsTolerance() {
public BigDecimal getInArrearsTolerance() {
return inArrearsTolerance;
}
public void setInArrearsTolerance(MoneyData inArrearsTolerance) {
public void setInArrearsTolerance(BigDecimal inArrearsTolerance) {
this.inArrearsTolerance = inArrearsTolerance;
}
@@ -101,10 +101,8 @@ public class LoanProductReadPlatformServiceImpl implements LoanProductReadPlatfo
LoanProductData productData = new LoanProductData();
productData.setAmortizationType(LoanEnumerations
.amortizationType(AmortizationMethod.EQUAL_INSTALLMENTS));
productData.setInterestType(LoanEnumerations
.interestType(InterestMethod.DECLINING_BALANCE));
productData.setAmortizationType(LoanEnumerations.amortizationType(AmortizationMethod.EQUAL_INSTALLMENTS));
productData.setInterestType(LoanEnumerations.interestType(InterestMethod.DECLINING_BALANCE));
productData.setLoanTermFrequencyType(LoanEnumerations.loanTermFrequencyType(PeriodFrequencyType.MONTHS));
@@ -115,12 +113,16 @@ public class LoanProductReadPlatformServiceImpl implements LoanProductReadPlatfo
productData.setInterestCalculationPeriodType(LoanEnumerations.interestCalculationPeriodType(InterestCalculationPeriodMethod.SAME_AS_REPAYMENT_PERIOD));
populateProductDataWithDropdownOptions(productData);
productData.setPrincipal(BigDecimal.ZERO);
productData.setInArrearsTolerance(BigDecimal.ZERO);
CurrencyData currency = new CurrencyData("", "", 0, "", "");
productData.setCurrency(currency);
if (productData.getCurrencyOptions().size() >= 1) {
CurrencyData currency = productData.getCurrencyOptions().get(0);
MoneyData zero = MoneyData.zero(currency);
productData.setPrincipal(zero);
productData.setInArrearsTolerance(zero);
if (productData.getCurrencyOptions().size() == 1) {
currency = productData.getCurrencyOptions().get(0);
productData.setCurrency(currency);
}
return productData;