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

Reply via email to