diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/service/InlineLoanCOBExecutorServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/cob/service/InlineLoanCOBExecutorServiceImpl.java index ec8fb7ba0..98d9def4b 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/service/InlineLoanCOBExecutorServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/service/InlineLoanCOBExecutorServiceImpl.java @@ -200,16 +200,17 @@ public class InlineLoanCOBExecutorServiceImpl implements InlineExecutorService paramSet = Collections.singleton(paramDTO); + return customJobParameterRepository.save(paramSet); + } + private Map> getJobParametersMap(List loanIds, LocalDate businessDate) { - // TODO: refactor for a more generic solution String parameterJson = gson.toJson(loanIds); - JobParameterDTO loanIdsParameterDTO = new JobParameterDTO(LoanCOBConstant.LOAN_IDS_PARAMETER_NAME, parameterJson); - Set loanIdJobParameter = Collections.singleton(loanIdsParameterDTO); - Long loanIdsJobParameterId = customJobParameterRepository.save(loanIdJobParameter); - JobParameterDTO businessDateParameterDTO = new JobParameterDTO(LoanCOBConstant.BUSINESS_DATE_PARAMETER_NAME, + Long loanIdsJobParameterId = saveCustomJobParameter(LoanCOBConstant.LOAN_IDS_PARAMETER_NAME, parameterJson); + Long businessDateJobParameterId = saveCustomJobParameter(LoanCOBConstant.BUSINESS_DATE_PARAMETER_NAME, businessDate.format(DateTimeFormatter.ISO_DATE)); - Set businessDateJobParameter = Collections.singleton(businessDateParameterDTO); - Long businessDateJobParameterId = customJobParameterRepository.save(businessDateJobParameter); Map> jobParameterMap = new HashMap<>(); jobParameterMap.put(SpringBatchJobConstants.CUSTOM_JOB_PARAMETER_ID_KEY, new JobParameter<>(loanIdsJobParameterId, Long.class)); jobParameterMap.put(LoanCOBConstant.BUSINESS_DATE_PARAMETER_NAME, new JobParameter<>(businessDateJobParameterId, Long.class));