Skip to content

Commit 06b844d

Browse files
FINERACT-2421: WorkingCapital loan delinquency start type null
1 parent 9efda67 commit 06b844d

2 files changed

Lines changed: 22 additions & 15 deletions

File tree

fineract-working-capital-loan/src/main/java/org/apache/fineract/portfolio/workingcapitalloan/service/WorkingCapitalLoanAssemblerImpl.java

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -190,11 +190,15 @@ private WorkingCapitalLoanProductRelatedDetails buildLoanProductRelatedDetails(f
190190
? fromApiJsonHelper.extractIntegerNamed(WorkingCapitalLoanProductConstants.delinquencyGraceDaysParamName, element,
191191
new HashSet<>())
192192
: productDetail.getDelinquencyGraceDays());
193-
detail.setDelinquencyStartType(
194-
fromApiJsonHelper.parameterExists(WorkingCapitalLoanProductConstants.delinquencyStartTypeParamName, element)
195-
? WorkingCapitalLoanDelinquencyStartType.valueOf(fromApiJsonHelper
196-
.extractStringNamed(WorkingCapitalLoanProductConstants.delinquencyStartTypeParamName, element))
197-
: productDetail.getDelinquencyStartType());
193+
final String delinquencyStartTypeValue = fromApiJsonHelper
194+
.parameterExists(WorkingCapitalLoanProductConstants.delinquencyStartTypeParamName, element)
195+
? fromApiJsonHelper.extractStringNamed(WorkingCapitalLoanProductConstants.delinquencyStartTypeParamName, element)
196+
: null;
197+
if (delinquencyStartTypeValue != null) {
198+
detail.setDelinquencyStartType(WorkingCapitalLoanDelinquencyStartType.valueOf(delinquencyStartTypeValue));
199+
} else {
200+
detail.setDelinquencyStartType(productDetail.getDelinquencyStartType());
201+
}
198202

199203
if (fromApiJsonHelper.parameterExists(WorkingCapitalLoanProductConstants.delinquencyBucketIdParamName, element)) {
200204
final Long bucketId = fromApiJsonHelper.extractLongNamed(WorkingCapitalLoanProductConstants.delinquencyBucketIdParamName,
@@ -374,10 +378,17 @@ public Map<String, Object> updateFrom(final JsonCommand command, final WorkingCa
374378
final String existingValue = detail.getDelinquencyStartType() != null ? detail.getDelinquencyStartType().name() : null;
375379
if (command.isChangeInStringParameterNamed(WorkingCapitalLoanProductConstants.delinquencyStartTypeParamName,
376380
existingValue)) {
377-
final WorkingCapitalLoanDelinquencyStartType type = WorkingCapitalLoanDelinquencyStartType.valueOf(fromApiJsonHelper
378-
.extractStringNamed(WorkingCapitalLoanProductConstants.delinquencyStartTypeParamName, element));
379-
detail.setDelinquencyStartType(type);
380-
changes.put(WorkingCapitalLoanProductConstants.delinquencyStartTypeParamName, type.name());
381+
final String delinquencyStartTypeValue = fromApiJsonHelper
382+
.extractStringNamed(WorkingCapitalLoanProductConstants.delinquencyStartTypeParamName, element);
383+
if (delinquencyStartTypeValue != null) {
384+
final WorkingCapitalLoanDelinquencyStartType type = WorkingCapitalLoanDelinquencyStartType
385+
.valueOf(delinquencyStartTypeValue);
386+
detail.setDelinquencyStartType(type);
387+
changes.put(WorkingCapitalLoanProductConstants.delinquencyStartTypeParamName, type.getCode());
388+
} else {
389+
detail.setDelinquencyStartType(null);
390+
changes.put(WorkingCapitalLoanProductConstants.delinquencyStartTypeParamName, null);
391+
}
381392
}
382393
}
383394
}

integration-tests/src/test/java/org/apache/fineract/integrationtests/common/workingcapitalloan/WorkingCapitalLoanApplicationTestBuilder.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -209,12 +209,8 @@ public String buildModifyJson() {
209209
if (delinquencyBucketId != null) {
210210
json.addProperty("delinquencyBucketId", delinquencyBucketId);
211211
}
212-
if (delinquencyGraceDays != null) {
213-
json.addProperty("delinquencyGraceDays", delinquencyGraceDays);
214-
}
215-
if (delinquencyStartType != null) {
216-
json.addProperty("delinquencyStartType", delinquencyStartType);
217-
}
212+
json.addProperty("delinquencyGraceDays", delinquencyGraceDays);
213+
json.addProperty("delinquencyStartType", delinquencyStartType);
218214
if (breachId != null) {
219215
json.addProperty("breachId", breachId);
220216
}

0 commit comments

Comments
 (0)