This is an automated email from the ASF dual-hosted git repository.

arnold pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new 6f7f55a22 FINERACT-1724 - [x] eliminate sonar security hotspots - [x] 
eliminate sonar bugs
6f7f55a22 is described below

commit 6f7f55a227bbe2d8b403ab75a6019fc2032fc33d
Author: Janos Haber <[email protected]>
AuthorDate: Mon Nov 28 11:34:47 2022 +0100

    FINERACT-1724
    - [x] eliminate sonar security hotspots
    - [x] eliminate sonar bugs
---
 .../journalentry/service/JournalEntryReadPlatformServiceImpl.java     | 4 ++--
 .../service/ProvisioningEntriesReadPlatformServiceImpl.java           | 4 ++--
 .../loanaccount/service/LoanChargeWritePlatformServiceImpl.java       | 4 +++-
 .../service/LoanWritePlatformServiceJpaRepositoryImpl.java            | 4 ++++
 4 files changed, 11 insertions(+), 5 deletions(-)

diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/service/JournalEntryReadPlatformServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/service/JournalEntryReadPlatformServiceImpl.java
index aaaddbd11..8dfa84213 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/service/JournalEntryReadPlatformServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/service/JournalEntryReadPlatformServiceImpl.java
@@ -385,9 +385,9 @@ public class JournalEntryReadPlatformServiceImpl implements 
JournalEntryReadPlat
 
             final GLJournalEntryMapper rm = new 
GLJournalEntryMapper(associationParametersData);
             // Programmatic query, disable sonar issue
-            final String sql = "select " + rm.schema() + " where 
journalEntry.id = ?"; // NOSONAR
+            final String sql = "select " + rm.schema() + " where 
journalEntry.id = ?";
 
-            return this.jdbcTemplate.queryForObject(sql, rm, glJournalEntryId);
+            return this.jdbcTemplate.queryForObject(sql, rm, 
glJournalEntryId); // NOSONAR
         } catch (final EmptyResultDataAccessException e) {
             throw new JournalEntriesNotFoundException(glJournalEntryId, e);
         }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/service/ProvisioningEntriesReadPlatformServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/service/ProvisioningEntriesReadPlatformServiceImpl.java
index e11a92337..8e21a8db5 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/service/ProvisioningEntriesReadPlatformServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/service/ProvisioningEntriesReadPlatformServiceImpl.java
@@ -110,8 +110,8 @@ public class ProvisioningEntriesReadPlatformServiceImpl 
implements ProvisioningE
     public ProvisioningEntryData retrieveProvisioningEntryData(Long entryId) {
         ProvisioningEntryDataMapperWithSumReserved mapper1 = new 
ProvisioningEntryDataMapperWithSumReserved();
         // Programmatic query, disable sonar
-        final String sql = "select" + mapper1.getSchema() + " where entry.id = 
? group by entry.id, created.username, modified.username"; // NOSONAR
-        return this.jdbcTemplate.queryForObject(sql, mapper1, entryId);
+        final String sql = "select" + mapper1.getSchema() + " where entry.id = 
? group by entry.id, created.username, modified.username";
+        return this.jdbcTemplate.queryForObject(sql, mapper1, entryId);// 
NOSONAR
     }
 
     private static final class ProvisioningEntryDataMapper implements 
RowMapper<ProvisioningEntryData> {
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargeWritePlatformServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargeWritePlatformServiceImpl.java
index 064ce0948..1a0560806 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargeWritePlatformServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargeWritePlatformServiceImpl.java
@@ -65,6 +65,7 @@ import 
org.apache.fineract.portfolio.account.data.PortfolioAccountData;
 import 
org.apache.fineract.portfolio.account.domain.AccountTransferDetailRepository;
 import org.apache.fineract.portfolio.account.domain.AccountTransferDetails;
 import org.apache.fineract.portfolio.account.domain.AccountTransferType;
+import 
org.apache.fineract.portfolio.account.exception.AccountTransferNotFoundException;
 import 
org.apache.fineract.portfolio.account.service.AccountAssociationsReadPlatformService;
 import 
org.apache.fineract.portfolio.account.service.AccountTransfersWritePlatformService;
 import org.apache.fineract.portfolio.accountdetails.domain.AccountType;
@@ -621,7 +622,8 @@ public class LoanChargeWritePlatformServiceImpl implements 
LoanChargeWritePlatfo
                 AccountTransferType.CHARGE_PAYMENT.getValue(), null, null, 
externalId, null, null, fromSavingsAccount, isRegularTransaction,
                 isExceptionForBalanceCheck);
         Long transferTransactionId = 
this.accountTransfersWritePlatformService.transferFunds(accountTransferDTO);
-        AccountTransferDetails transferDetails = 
this.accountTransferDetailRepository.findById(transferTransactionId).get();
+        AccountTransferDetails transferDetails = 
this.accountTransferDetailRepository.findById(transferTransactionId)
+                .orElseThrow(() -> new 
AccountTransferNotFoundException(transferTransactionId));
         LoanTransaction loanTransaction = 
transferDetails.getAccountTransferTransactions().get(0).getToLoanTransaction();
         return new CommandProcessingResultBuilder() //
                 .withCommandId(command.commandId()) //
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 ae7acca09..19d680f0a 100644
--- 
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
@@ -2113,6 +2113,10 @@ public class LoanWritePlatformServiceJpaRepositoryImpl 
implements LoanWritePlatf
         }
         LocalDate recalculateFrom = null;
         LoanTransaction writeOffTransaction = loan.findWriteOffTransaction();
+        if (writeOffTransaction == null) {
+            throw new 
PlatformServiceUnavailableException("error.msg.loan.write.off.transaction.not.found",
+                    "Loan :" + loanId + " write off transaction not found", 
loanId);
+        }
         businessEventNotifierService.notifyPreBusinessEvent(new 
LoanUndoWrittenOffBusinessEvent(writeOffTransaction));
 
         ScheduleGeneratorDTO scheduleGeneratorDTO = 
this.loanUtilService.buildScheduleGeneratorDTO(loan, recalculateFrom);

Reply via email to