From 457be1ad15ed66ecdb3d92dc7e76e0ce323829a0 Mon Sep 17 00:00:00 2001 From: zeyad2003 Date: Tue, 16 Apr 2024 16:20:26 +0200 Subject: [PATCH] FINERACT-2075: (chore) refactor some classes under `loanproduct` package in loan module. - Remove Getters, Setters, and constructors from `LoanProductMinMaxConstraints` & `LoanProductVariableInstallmentConfig`. --- .../domain/LoanProductMinMaxConstraints.java | 55 +++---------------- .../LoanProductVariableInstallmentConfig.java | 31 +++-------- 2 files changed, 16 insertions(+), 70 deletions(-) diff --git a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanProductMinMaxConstraints.java b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanProductMinMaxConstraints.java index e9bc7dc65..2ba6fcb68 100644 --- a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanProductMinMaxConstraints.java +++ b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanProductMinMaxConstraints.java @@ -23,11 +23,19 @@ import jakarta.persistence.Embeddable; import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.Map; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; import org.apache.fineract.infrastructure.core.api.JsonCommand; /** * LoanProductMinMaxConstraints encapsulates all the Min and Max details of a {@link LoanProduct}. */ +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor @Embeddable public class LoanProductMinMaxConstraints { @@ -49,29 +57,6 @@ public class LoanProductMinMaxConstraints { @Column(name = "max_number_of_repayments") private Integer maxNumberOfRepayments; - public static LoanProductMinMaxConstraints createFrom(final BigDecimal minPrincipal, final BigDecimal maxPrincipal, - final BigDecimal minNominalInterestRatePerPeriod, final BigDecimal maxNominalInterestRatePerPeriod, - final Integer minNumberOfRepayments, final Integer maxNumberOfRepayments) { - - return new LoanProductMinMaxConstraints(minPrincipal, maxPrincipal, minNominalInterestRatePerPeriod, - maxNominalInterestRatePerPeriod, minNumberOfRepayments, maxNumberOfRepayments); - } - - protected LoanProductMinMaxConstraints() { - // - } - - public LoanProductMinMaxConstraints(final BigDecimal defaultMinPrincipal, final BigDecimal defaultMaxPrincipal, - final BigDecimal defaultMinNominalInterestRatePerPeriod, final BigDecimal defaultMaxNominalInterestRatePerPeriod, - final Integer defaultMinNumberOfRepayments, final Integer defaultMaxNumberOfRepayments) { - this.minPrincipal = defaultMinPrincipal; - this.maxPrincipal = defaultMaxPrincipal; - this.minNominalInterestRatePerPeriod = defaultMinNominalInterestRatePerPeriod; - this.maxNominalInterestRatePerPeriod = defaultMaxNominalInterestRatePerPeriod; - this.minNumberOfRepayments = defaultMinNumberOfRepayments; - this.maxNumberOfRepayments = defaultMaxNumberOfRepayments; - } - public Map update(final JsonCommand command) { final Map actualChanges = new LinkedHashMap<>(20); @@ -131,14 +116,6 @@ public class LoanProductMinMaxConstraints { return actualChanges; } - public BigDecimal getMinPrincipal() { - return this.minPrincipal; - } - - public BigDecimal getMaxPrincipal() { - return this.maxPrincipal; - } - public BigDecimal getMinNominalInterestRatePerPeriod() { return this.minNominalInterestRatePerPeriod == null ? null : BigDecimal.valueOf(Double.parseDouble(this.minNominalInterestRatePerPeriod.stripTrailingZeros().toString())); @@ -149,24 +126,8 @@ public class LoanProductMinMaxConstraints { : BigDecimal.valueOf(Double.parseDouble(this.maxNominalInterestRatePerPeriod.stripTrailingZeros().toString())); } - public Integer getMinNumberOfRepayments() { - return this.minNumberOfRepayments; - } - - public Integer getMaxNumberOfRepayments() { - return this.maxNumberOfRepayments; - } - public void updateForFloatingInterestRates() { this.minNominalInterestRatePerPeriod = null; this.maxNominalInterestRatePerPeriod = null; } - - public void setMinNominalInterestRatePerPeriod(BigDecimal minNominalInterestRatePerPeriod) { - this.minNominalInterestRatePerPeriod = minNominalInterestRatePerPeriod; - } - - public void setMaxNominalInterestRatePerPeriod(BigDecimal maxNominalInterestRatePerPeriod) { - this.maxNominalInterestRatePerPeriod = maxNominalInterestRatePerPeriod; - } } diff --git a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanProductVariableInstallmentConfig.java b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanProductVariableInstallmentConfig.java index 3d8cd9007..8182e6159 100644 --- a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanProductVariableInstallmentConfig.java +++ b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanProductVariableInstallmentConfig.java @@ -25,14 +25,22 @@ import jakarta.persistence.OneToOne; import jakarta.persistence.Table; import java.util.LinkedHashMap; import java.util.Map; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; import org.apache.fineract.infrastructure.core.api.JsonCommand; import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom; import org.apache.fineract.portfolio.loanproduct.LoanProductConstants; @Entity +@Getter +@NoArgsConstructor +@AllArgsConstructor @Table(name = "m_product_loan_variable_installment_config") public class LoanProductVariableInstallmentConfig extends AbstractPersistableCustom { + @Setter @OneToOne @JoinColumn(name = "loan_product_id", nullable = false) private LoanProduct loanProduct; @@ -43,20 +51,6 @@ public class LoanProductVariableInstallmentConfig extends AbstractPersistableCus @Column(name = "maximum_gap") private Integer maximumGap; - protected LoanProductVariableInstallmentConfig() { - - } - - public LoanProductVariableInstallmentConfig(final LoanProduct loanProduct, final Integer minimumGap, final Integer maximumGap) { - this.loanProduct = loanProduct; - this.minimumGap = minimumGap; - this.maximumGap = maximumGap; - } - - public void setLoanProduct(final LoanProduct loanProduct) { - this.loanProduct = loanProduct; - } - public Map update(JsonCommand command) { final Map actualChanges = new LinkedHashMap<>(3); @@ -74,13 +68,4 @@ public class LoanProductVariableInstallmentConfig extends AbstractPersistableCus return actualChanges; } - - public Integer getMinimumGap() { - return this.minimumGap; - } - - public Integer getMaximumGap() { - return this.maximumGap; - } - }