From a6b69ec029fa96ff481dbc6839a851e3b8256493 Mon Sep 17 00:00:00 2001 From: Adam Saghy Date: Mon, 10 Jun 2024 12:48:19 +0200 Subject: [PATCH] FINERACT-2081: Fix linked account validation --- .../serialization/LoanApplicationValidator.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanApplicationValidator.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanApplicationValidator.java index 6cb8c9222..19358daa8 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanApplicationValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanApplicationValidator.java @@ -1531,12 +1531,11 @@ public final class LoanApplicationValidator { public void validateLinkedSavingsAccount(final JsonElement element, DataValidatorBuilder baseDataValidator) { final boolean linkedAccountIdWasProvided = this.fromApiJsonHelper.parameterExists(LoanApiConstants.linkAccountIdParameterName, element); - if (linkedAccountIdWasProvided) { - final Long linkAccountId = this.fromApiJsonHelper.extractLongNamed(LoanApiConstants.linkAccountIdParameterName, element); - baseDataValidator.reset().parameter(LoanApiConstants.linkAccountIdParameterName).value(linkAccountId).ignoreIfNull() + final Long linkedAccountId = this.fromApiJsonHelper.extractLongNamed(LoanApiConstants.linkAccountIdParameterName, element); + if (linkedAccountIdWasProvided && linkedAccountId != null) { + baseDataValidator.reset().parameter(LoanApiConstants.linkAccountIdParameterName).value(linkedAccountId).ignoreIfNull() .longGreaterThanZero(); - final Long linkedAccountId = this.fromApiJsonHelper.extractLongNamed(LoanApiConstants.linkAccountIdParameterName, element); final SavingsAccount savingsAccount = savingsAccountRepository.findOneWithNotFoundDetection(linkedAccountId); final Long clientId = this.fromApiJsonHelper.extractLongNamed(LoanApiConstants.clientIdParameterName, element); if (savingsAccount.isNotActive()) {