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);