From 17cb620ec0b062c537cb507acf6127c659173ad2 Mon Sep 17 00:00:00 2001 From: percyashu Date: Fri, 12 Jun 2020 02:31:39 +0100 Subject: [PATCH] FINERACT-822 enable BigDecimalEquals error --- fineract-provider/build.gradle | 2 +- .../service/AccountTransfersWritePlatformServiceImpl.java | 4 ++-- .../interestratechart/domain/InterestRateChartSlabFields.java | 3 ++- .../apache/fineract/portfolio/loanaccount/domain/Loan.java | 2 +- .../service/LoanWritePlatformServiceJpaRepositoryImpl.java | 4 ++-- .../portfolio/savings/domain/FixedDepositAccount.java | 2 +- .../portfolio/savings/domain/RecurringDepositAccount.java | 2 +- .../fineract/portfolio/shareaccounts/domain/ShareAccount.java | 2 +- .../fineract/portfolio/shareproducts/domain/ShareProduct.java | 4 ++-- 9 files changed, 13 insertions(+), 12 deletions(-) diff --git a/fineract-provider/build.gradle b/fineract-provider/build.gradle index 2e8dd414c..b5b064f8d 100644 --- a/fineract-provider/build.gradle +++ b/fineract-provider/build.gradle @@ -316,7 +316,6 @@ tasks.withType(JavaCompile) { "SameNameButDifferent", "StringSplitter", "MissingOverride", - "BigDecimalEquals", "ImmutableEnumChecker", "EqualsUnsafeCast", "BoxedPrimitiveEquality", @@ -341,6 +340,7 @@ tasks.withType(JavaCompile) { "MultiVariableDeclaration", "AssertEqualsArgumentOrderChecker", "EmptySetMultibindingContributions", + "BigDecimalEquals", "MixedArrayDimensions", "PackageLocation", "UseBinds", diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountTransfersWritePlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountTransfersWritePlatformServiceImpl.java index 96b4ab42e..61b598040 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountTransfersWritePlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountTransfersWritePlatformServiceImpl.java @@ -506,7 +506,7 @@ public class AccountTransfersWritePlatformServiceImpl implements AccountTransfer BigDecimal overpaid = this.loanReadPlatformService.retrieveTotalPaidInAdvance(fromLoanAccountId).getPaidInAdvance(); - if (overpaid == null || overpaid.equals(BigDecimal.ZERO) || transactionAmount.floatValue() > overpaid.floatValue()) { + if (overpaid == null || overpaid.compareTo(BigDecimal.ZERO) == 0 ? Boolean.TRUE:Boolean.FALSE || transactionAmount.floatValue() > overpaid.floatValue()) { if(overpaid == null) { overpaid = BigDecimal.ZERO; } @@ -536,4 +536,4 @@ public class AccountTransfersWritePlatformServiceImpl implements AccountTransfer return builder.build(); } -} \ No newline at end of file +} diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/domain/InterestRateChartSlabFields.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/domain/InterestRateChartSlabFields.java index 7c2179416..16b8a9f10 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/domain/InterestRateChartSlabFields.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/domain/InterestRateChartSlabFields.java @@ -27,6 +27,7 @@ import static org.apache.fineract.portfolio.interestratechart.InterestRateChartS import static org.apache.fineract.portfolio.interestratechart.InterestRateChartSlabApiConstants.toPeriodParamName; import java.math.BigDecimal; +import java.util.Comparator; import java.util.Locale; import java.util.Map; import java.util.Objects; @@ -304,7 +305,7 @@ public class InterestRateChartSlabFields { public boolean isBigDecimalSame(final BigDecimal obj1, final BigDecimal obj2) { if (obj1 == null || obj2 == null) { - if (Objects.equals(obj1, obj2)) { return true; } + if (Objects.compare(obj1,obj2, Comparator.nullsFirst(Comparator.naturalOrder())) == 0 ? Boolean.TRUE:Boolean.FALSE){ return true; } return false; } return obj1.compareTo(obj2) == 0; diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java index af09fe99d..3a150015c 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java @@ -2834,7 +2834,7 @@ public class Loan extends AbstractPersistableCustom { this.actualDisbursementDate = null; this.disbursedBy = null; boolean isDisbursedAmountChanged = - !this.approvedPrincipal.equals(this.loanRepaymentScheduleDetail.getPrincipal().getAmount()); + approvedPrincipal.compareTo(this.loanRepaymentScheduleDetail.getPrincipal().getAmount()) == 0 ? Boolean.FALSE:Boolean.TRUE; this.loanRepaymentScheduleDetail.setPrincipal(this.approvedPrincipal); if (this.loanProduct.isMultiDisburseLoan()) { for (final LoanDisbursementDetails details : this.disbursementDetails) { diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java index 75a3f9138..584882a3f 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java @@ -2959,7 +2959,7 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf private void checkIfLoanIsPaidInAdvance(final Long loanId, final BigDecimal transactionAmount) { BigDecimal overpaid = this.loanReadPlatformService.retrieveTotalPaidInAdvance(loanId).getPaidInAdvance(); - if (overpaid == null || overpaid.equals(new BigDecimal(0)) || transactionAmount.floatValue() > overpaid.floatValue()) { + if (overpaid == null || overpaid.compareTo(BigDecimal.ZERO) == 0 ? Boolean.TRUE:Boolean.FALSE || transactionAmount.floatValue() > overpaid.floatValue()) { if (overpaid == null) { overpaid = BigDecimal.ZERO; } @@ -3105,4 +3105,4 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf } } -} \ No newline at end of file +} diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/FixedDepositAccount.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/FixedDepositAccount.java index a527a17b0..298040eac 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/FixedDepositAccount.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/FixedDepositAccount.java @@ -746,7 +746,7 @@ public class FixedDepositAccount extends SavingsAccount { BigDecimal applicableInterestRate = this.chart.getApplicableInterestRate(depositAmount, depositStartDate(), calculateMaturityDate(), this.client); - if (applicableInterestRate.equals(BigDecimal.ZERO)) { + if (applicableInterestRate.compareTo(BigDecimal.ZERO) == 0 ? Boolean.TRUE:Boolean.FALSE) { baseDataValidator.reset().failWithCodeNoParameterAddedToErrorCode( "no.applicable.interest.rate.is.found.based.on.amount.and.deposit.period"); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/RecurringDepositAccount.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/RecurringDepositAccount.java index 8cfa864ba..62499f2ac 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/RecurringDepositAccount.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/RecurringDepositAccount.java @@ -1042,7 +1042,7 @@ public class RecurringDepositAccount extends SavingsAccount { BigDecimal applicableInterestRate = this.chart.getApplicableInterestRate(maturityAmount, depositStartDate(), maturityDate, this.client); - if (applicableInterestRate.equals(BigDecimal.ZERO)) { + if (applicableInterestRate.compareTo(BigDecimal.ZERO) == 0 ? Boolean.TRUE:Boolean.FALSE) { baseDataValidator.reset().failWithCodeNoParameterAddedToErrorCode( "no.applicable.interest.rate.is.found.based.on.amount.and.deposit.period"); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/domain/ShareAccount.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/domain/ShareAccount.java index b4f0220c1..5d358a383 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/domain/ShareAccount.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/domain/ShareAccount.java @@ -518,7 +518,7 @@ public class ShareAccount extends AbstractPersistableCustom { for (ShareAccountTransaction tran : this.shareAccountTransactions) { if (tran.getPurchasedDate().equals(transaction.getPurchasedDate()) && tran.getTotalShares().equals(transaction.getTotalShares()) - && tran.getPurchasePrice().equals(transaction.getPurchasePrice()) + && tran.getPurchasePrice().compareTo(transaction.getPurchasePrice()) == 0 ? Boolean.TRUE:Boolean.FALSE && tran.getTransactionStatus().equals(transaction.getTransactionStatus()) && tran.getTransactionType().equals(transaction.getTransactionType())) { returnTrans = tran; diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/domain/ShareProduct.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/domain/ShareProduct.java index 5f1ba6526..dd8624603 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/domain/ShareProduct.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/domain/ShareProduct.java @@ -248,7 +248,7 @@ public class ShareProduct extends AbstractAuditableCustom { public boolean setUnitPrice(BigDecimal unitPrice) { boolean returnValue = false; - if (!this.unitPrice.equals(unitPrice)) { + if (this.unitPrice.compareTo(unitPrice) == 0 ? Boolean.FALSE:Boolean.TRUE) { this.unitPrice = unitPrice; returnValue = true; } @@ -363,7 +363,7 @@ public class ShareProduct extends AbstractAuditableCustom { public boolean setshareCapitalValue(BigDecimal shareCapitalValue) { boolean updated = false; - if (this.shareCapital == null || !this.shareCapital.equals(shareCapitalValue)) { + if (this.shareCapital == null || this.shareCapital.compareTo(shareCapitalValue) == 0 ? Boolean.FALSE:Boolean.TRUE) { this.shareCapital = shareCapitalValue; updated = true; }