diff --git a/fineract-provider/src/main/java/org/apache/fineract/accounting/producttoaccountmapping/service/ProductToGLAccountMappingWritePlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/accounting/producttoaccountmapping/service/ProductToGLAccountMappingWritePlatformServiceImpl.java index a745a280d..66b04327f 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/accounting/producttoaccountmapping/service/ProductToGLAccountMappingWritePlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/accounting/producttoaccountmapping/service/ProductToGLAccountMappingWritePlatformServiceImpl.java @@ -315,6 +315,7 @@ public class ProductToGLAccountMappingWritePlatformServiceImpl implements Produc } @Override + @Transactional public Map updateSavingsProductToGLAccountMapping(final Long savingsProductId, final JsonCommand command, final boolean accountingRuleChanged, final int accountingRuleTypeId, final DepositAccountType accountType) { /*** @@ -346,6 +347,7 @@ public class ProductToGLAccountMappingWritePlatformServiceImpl implements Produc } @Override + @Transactional public Map updateShareProductToGLAccountMapping(final Long shareProductId, final JsonCommand command, final boolean accountingRuleChanged, final int accountingRuleTypeId) { /*** diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/domain/FineractPlatformTenantConnection.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/domain/FineractPlatformTenantConnection.java index cfa1287bb..293447a94 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/domain/FineractPlatformTenantConnection.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/domain/FineractPlatformTenantConnection.java @@ -18,6 +18,7 @@ */ package org.apache.fineract.infrastructure.core.domain; +import java.sql.Connection; import javax.sql.DataSource; import org.apache.commons.lang3.StringUtils; @@ -196,8 +197,8 @@ public class FineractPlatformTenantConnection { } public static String toProtocol(DataSource dataSource) { - try { - String url = dataSource.getConnection().getMetaData().getURL(); + try (Connection connection = dataSource.getConnection()) { + String url = connection.getMetaData().getURL(); return url.substring(0, url.indexOf("://")); } catch (Exception e) { throw new RuntimeException(e); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookData.java index 8f3d892df..2fdc7e8dc 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookData.java @@ -93,7 +93,7 @@ public final class HookData implements Serializable { } public String getTemplateName() { - return this.name; + return this.templateName; } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/ClientRepositoryWrapper.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/ClientRepositoryWrapper.java index 92e0b5431..682910ad0 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/ClientRepositoryWrapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/domain/ClientRepositoryWrapper.java @@ -44,6 +44,7 @@ public class ClientRepositoryWrapper { this.context = context; } + @Transactional(readOnly = true) public Client findOneWithNotFoundDetection(final Long id) { return this.findOneWithNotFoundDetection(id, false); } @@ -77,6 +78,7 @@ public class ClientRepositoryWrapper { this.repository.flush(); } + @Transactional(readOnly = true) public Client getActiveClientInUserScope(Long clientId) { final Client client = this.findOneWithNotFoundDetection(clientId); if (client.isNotActive()) { diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanRepositoryWrapper.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanRepositoryWrapper.java index 752c2071d..d7bb7adef 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanRepositoryWrapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanRepositoryWrapper.java @@ -44,6 +44,7 @@ public class LoanRepositoryWrapper { this.repository = repository; } + @Transactional(readOnly = true) public Loan findOneWithNotFoundDetection(final Long id) { return this.findOneWithNotFoundDetection(id, false); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/service/GuarantorReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/service/GuarantorReadPlatformServiceImpl.java index 938eb1012..92e6ac31d 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/service/GuarantorReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/service/GuarantorReadPlatformServiceImpl.java @@ -84,7 +84,7 @@ public class GuarantorReadPlatformServiceImpl implements GuarantorReadPlatformSe PreparedStatement preparedStatement = con.prepareStatement(finalSql, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); preparedStatement.setInt(1, AccountAssociationType.GUARANTOR_ACCOUNT_ASSOCIATION.getValue()); - preparedStatement.setLong(2, loanId); + preparedStatement.setLong(2, loanId); // NOSONAR return preparedStatement; }, rm); @@ -107,7 +107,7 @@ public class GuarantorReadPlatformServiceImpl implements GuarantorReadPlatformSe ResultSet.CONCUR_UPDATABLE); preparedStatement.setInt(1, AccountAssociationType.GUARANTOR_ACCOUNT_ASSOCIATION.getValue()); preparedStatement.setLong(2, loanId); - preparedStatement.setLong(3, guarantorId); + preparedStatement.setLong(3, guarantorId);// NOSONAR return preparedStatement; }, rm).get(0); diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/AbstractLoanScheduleGenerator.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/AbstractLoanScheduleGenerator.java index 82ba4fbac..396dc1f2b 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/AbstractLoanScheduleGenerator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/AbstractLoanScheduleGenerator.java @@ -1024,7 +1024,7 @@ public abstract class AbstractLoanScheduleGenerator implements LoanScheduleGener } } else { Money totalInterestDueForLoan = Money.zero(loanApplicationTerms.getCurrency()); - loanApplicationTerms.setTotalPrincipalAccounted(scheduleParams.getTotalCumulativePrincipal()); + loanApplicationTerms.setTotalPrincipalAccountedForInterestCalculation(scheduleParams.getTotalCumulativePrincipal()); totalInterestDueForLoan = loanApplicationTerms.calculateTotalInterestCharged(calculator, mc); totalInterestDueForLoan = totalInterestDueForLoan.plus(scheduleParams.getTotalCumulativeInterest()); loanApplicationTerms.updateTotalInterestDue(totalInterestDueForLoan); @@ -1147,7 +1147,7 @@ public abstract class AbstractLoanScheduleGenerator implements LoanScheduleGener if (loanApplicationTerms.getInterestMethod().isDecliningBalnce()) { adjustInstallmentOrPrincipalAmount(loanApplicationTerms, totalCumulativePrincipal, instalmentNumber, mc); } else { - loanApplicationTerms.setTotalPrincipalAccounted(totalCumulativePrincipal); + loanApplicationTerms.setTotalPrincipalAccountedForInterestCalculation(totalCumulativePrincipal); loanApplicationTerms.updateExcludePeriodsForCalculation(instalmentNumber - 1); } variation.setProcessed(true); diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java index 11a344bc8..4759d4b27 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java @@ -1773,7 +1773,7 @@ public final class LoanApplicationTerms { } - public void setTotalPrincipalAccounted(Money totalPrincipalAccounted) { + public void setTotalPrincipalAccountedForInterestCalculation(Money totalPrincipalAccounted) { this.totalPrincipalAccountedForInterestCalcualtion = totalPrincipalAccounted; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/rescheduleloan/domain/LoanRescheduleRequestRepositoryWrapper.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/rescheduleloan/domain/LoanRescheduleRequestRepositoryWrapper.java index e7dcf8ab0..b2e8cc78d 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/rescheduleloan/domain/LoanRescheduleRequestRepositoryWrapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/rescheduleloan/domain/LoanRescheduleRequestRepositoryWrapper.java @@ -33,6 +33,7 @@ public class LoanRescheduleRequestRepositoryWrapper { this.loanRescheduleRequestRepository = loanRescheduleRequestRepository; } + @Transactional(readOnly = true) public LoanRescheduleRequest findOneWithNotFoundDetection(final Long id) { return this.findOneWithNotFoundDetection(id, false); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java index 9339f1273..f64e79bb1 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java @@ -529,6 +529,7 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi } @Override + @Transactional public CommandProcessingResult postInterest(final JsonCommand command) { Long savingsId = command.getSavingsId(); diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/RepaymentWithPostDatedChecksTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/RepaymentWithPostDatedChecksTest.java index 472e7b32e..3e392a746 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/RepaymentWithPostDatedChecksTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/RepaymentWithPostDatedChecksTest.java @@ -137,7 +137,7 @@ public class RepaymentWithPostDatedChecksTest { // Repay for the installment 1 using post dated check HashMap postDatedCheck = this.loanTransactionHelper.getPostDatedCheck(loanID, Integer.valueOf(1)); Assertions.assertNotNull(postDatedCheck); - Assertions.assertNotNull(Float.parseFloat(String.valueOf(postDatedCheck.get("amount")))); + Assertions.assertNotNull(Float.valueOf(String.valueOf(postDatedCheck.get("amount")))); this.loanTransactionHelper.makeRepaymentWithPDC(LOAN_REPAYMENT_DATE, firstInstallmentAmount, loanID, paymentTypeId); }