This is an automated email from the ASF dual-hosted git repository. adamsaghy pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/fineract.git
commit 6e5c6c491346b390685e82c5d449076143ca30ad Author: Adam Saghy <[email protected]> AuthorDate: Wed Jun 4 17:41:07 2025 +0200 FINERACT-2181: No need for explicit serialization --- .../domain/EmbeddableProgressiveLoanScheduleGenerator.java | 4 ++-- .../service/InterestScheduleModelRepositoryWrapper.java | 2 +- .../service/InterestScheduleModelRepositoryWrapperImpl.java | 4 ++-- .../service/InternalProgressiveLoanApiResource.java | 10 ++++------ 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/fineract-progressive-loan-embeddable-schedule-generator/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/EmbeddableProgressiveLoanScheduleGenerator.java b/fineract-progressive-loan-embeddable-schedule-generator/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/EmbeddableProgressiveLoanScheduleGenerator.java index f479d20e71..7d8f6ddc82 100644 --- a/fineract-progressive-loan-embeddable-schedule-generator/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/EmbeddableProgressiveLoanScheduleGenerator.java +++ b/fineract-progressive-loan-embeddable-schedule-generator/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/EmbeddableProgressiveLoanScheduleGenerator.java @@ -61,8 +61,8 @@ public class EmbeddableProgressiveLoanScheduleGenerator { } @Override - public String writeInterestScheduleModel(Loan loan, ProgressiveLoanInterestScheduleModel model) { - return ""; + public ProgressiveLoanInterestScheduleModel writeInterestScheduleModel(Loan loan, ProgressiveLoanInterestScheduleModel model) { + return null; } @Override diff --git a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/InterestScheduleModelRepositoryWrapper.java b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/InterestScheduleModelRepositoryWrapper.java index bce405ca07..e6e8c67903 100644 --- a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/InterestScheduleModelRepositoryWrapper.java +++ b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/InterestScheduleModelRepositoryWrapper.java @@ -31,7 +31,7 @@ public interface InterestScheduleModelRepositoryWrapper { Optional<ProgressiveLoanInterestScheduleModel> extractModel(Optional<ProgressiveLoanModel> progressiveLoanModel); - String writeInterestScheduleModel(Loan loan, ProgressiveLoanInterestScheduleModel model); + ProgressiveLoanInterestScheduleModel writeInterestScheduleModel(Loan loan, ProgressiveLoanInterestScheduleModel model); Optional<ProgressiveLoanInterestScheduleModel> readProgressiveLoanInterestScheduleModel(Long loanId, LoanProductMinimumRepaymentScheduleRelatedDetail detail, Integer installmentAmountInMultipliesOf); diff --git a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/InterestScheduleModelRepositoryWrapperImpl.java b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/InterestScheduleModelRepositoryWrapperImpl.java index 086b46c809..a485544a46 100644 --- a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/InterestScheduleModelRepositoryWrapperImpl.java +++ b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/InterestScheduleModelRepositoryWrapperImpl.java @@ -50,7 +50,7 @@ public class InterestScheduleModelRepositoryWrapperImpl implements InterestSched @Transactional @Override - public String writeInterestScheduleModel(Loan loan, ProgressiveLoanInterestScheduleModel model) { + public ProgressiveLoanInterestScheduleModel writeInterestScheduleModel(Loan loan, ProgressiveLoanInterestScheduleModel model) { if (model == null) { return null; } @@ -66,7 +66,7 @@ public class InterestScheduleModelRepositoryWrapperImpl implements InterestSched progressiveLoanModel.setJsonModel(jsonModel); loanModelRepository.save(progressiveLoanModel); }); - return jsonModel; + return model; } @Override diff --git a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/InternalProgressiveLoanApiResource.java b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/InternalProgressiveLoanApiResource.java index 61e5a9d388..d2a59a2623 100644 --- a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/InternalProgressiveLoanApiResource.java +++ b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/service/InternalProgressiveLoanApiResource.java @@ -76,16 +76,14 @@ public class InternalProgressiveLoanApiResource implements InitializingBean { @Produces({ MediaType.APPLICATION_JSON }) @Path("{loanId}/model") @Operation(summary = "Fetch ProgressiveLoanInterestScheduleModel", description = "DO NOT USE THIS IN PRODUCTION!") - public String fetchModel(@PathParam("loanId") @Parameter(description = "loanId") long loanId) { + public ProgressiveLoanInterestScheduleModel fetchModel(@PathParam("loanId") @Parameter(description = "loanId") long loanId) { Loan loan = loanRepository.findOneWithNotFoundDetection(loanId); if (!loan.isProgressiveSchedule()) { throw new IllegalArgumentException("The loan is not progressive."); } - return writePlatformService - .readProgressiveLoanInterestScheduleModel(loanId, loan.getLoanRepaymentScheduleDetail(), - loan.getLoanProduct().getInstallmentAmountInMultiplesOf()) - .map(progressiveLoanInterestScheduleModelParserService::toJson).orElse(null); + return writePlatformService.readProgressiveLoanInterestScheduleModel(loanId, loan.getLoanRepaymentScheduleDetail(), + loan.getLoanProduct().getInstallmentAmountInMultiplesOf()).orElse(null); } private ProgressiveLoanInterestScheduleModel reprocessTransactionsAndGetModel(final Loan loan) { @@ -110,7 +108,7 @@ public class InternalProgressiveLoanApiResource implements InitializingBean { @Path("{loanId}/model") @Produces({ MediaType.APPLICATION_JSON }) @Operation(summary = "Update and Save ProgressiveLoanInterestScheduleModel", description = "DO NOT USE THIS IN PRODUCTION!") - public String updateModel(@PathParam("loanId") @Parameter(description = "loanId") long loanId) { + public ProgressiveLoanInterestScheduleModel updateModel(@PathParam("loanId") @Parameter(description = "loanId") long loanId) { Loan loan = loanRepository.findOneWithNotFoundDetection(loanId); if (!loan.isProgressiveSchedule()) { throw new IllegalArgumentException("The loan is not progressive.");
