This is an automated email from the ASF dual-hosted git repository.

aleks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new 62811ad60 Add custom Configuration class for collateralmanagement 
module (FINERACT-1932)
62811ad60 is described below

commit 62811ad60b68f9eee7b608de29a57cf155b7640f
Author: Sinha, Abhinav <[email protected]>
AuthorDate: Tue Sep 19 12:05:30 2023 -0400

    Add custom Configuration class for collateralmanagement module 
(FINERACT-1932)
---
 ...ollateralManagementReadPlatformServiceImpl.java |  14 +--
 ...llateralManagementWritePlatformServiceImpl.java |  19 +---
 ...ollateralManagementReadPlatformServiceImpl.java |  12 +--
 ...llateralManagementWritePlatformServiceImpl.java |  13 +--
 .../service/LoanCollateralAssembler.java           |  15 +--
 ...ollateralManagementReadPlatformServiceImpl.java |   4 -
 ...llateralManagementWritePlatformServiceImpl.java |  12 +--
 .../starter/CollateralManagementConfiguration.java | 109 +++++++++++++++++++++
 8 files changed, 123 insertions(+), 75 deletions(-)

diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/ClientCollateralManagementReadPlatformServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/ClientCollateralManagementReadPlatformServiceImpl.java
index 0286cc19a..27d3fbfff 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/ClientCollateralManagementReadPlatformServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/ClientCollateralManagementReadPlatformServiceImpl.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Set;
+import lombok.RequiredArgsConstructor;
 import 
org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
 import 
org.apache.fineract.portfolio.collateralmanagement.data.ClientCollateralManagementData;
 import 
org.apache.fineract.portfolio.collateralmanagement.data.LoanCollateralTemplateData;
@@ -33,25 +34,14 @@ import 
org.apache.fineract.portfolio.loanaccount.domain.LoanCollateralManagement
 import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
 import 
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionRepository;
 import 
org.apache.fineract.portfolio.loanaccount.exception.LoanTransactionNotFoundException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 
-@Service
+@RequiredArgsConstructor
 public class ClientCollateralManagementReadPlatformServiceImpl implements 
ClientCollateralManagementReadPlatformService {
 
     private final PlatformSecurityContext context;
     private final ClientCollateralManagementRepositoryWrapper 
clientCollateralManagementRepositoryWrapper;
     private final LoanTransactionRepository loanTransactionRepository;
 
-    @Autowired
-    public ClientCollateralManagementReadPlatformServiceImpl(final 
PlatformSecurityContext context,
-            final ClientCollateralManagementRepositoryWrapper 
clientCollateralManagementRepositoryWrapper,
-            final LoanTransactionRepository loanTransactionRepository) {
-        this.context = context;
-        this.clientCollateralManagementRepositoryWrapper = 
clientCollateralManagementRepositoryWrapper;
-        this.loanTransactionRepository = loanTransactionRepository;
-    }
-
     @Override
     public List<ClientCollateralManagementData> getClientCollaterals(final 
Long clientId, final Long prodId) {
         return 
this.clientCollateralManagementRepositoryWrapper.getClientCollateralData(clientId,
 prodId);
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/ClientCollateralManagementWritePlatformServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/ClientCollateralManagementWritePlatformServiceImpl.java
index 95576b97b..67d8ddb77 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/ClientCollateralManagementWritePlatformServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/ClientCollateralManagementWritePlatformServiceImpl.java
@@ -23,6 +23,7 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.ApiParameterError;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
@@ -39,26 +40,14 @@ import 
org.apache.fineract.portfolio.collateralmanagement.exception.ClientCollat
 import 
org.apache.fineract.portfolio.collateralmanagement.exception.ClientCollateralNotFoundException;
 import 
org.apache.fineract.portfolio.collateralmanagement.exception.CollateralNotFoundException;
 import 
org.apache.fineract.portfolio.loanaccount.domain.LoanCollateralManagement;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 
-@Service
+@RequiredArgsConstructor
 public class ClientCollateralManagementWritePlatformServiceImpl implements 
ClientCollateralManagementWritePlatformService {
 
     private final ClientCollateralManagementRepositoryWrapper 
clientCollateralManagementRepositoryWrapper;
     private final CollateralManagementRepositoryWrapper 
collateralManagementRepositoryWrapper;
     private final ClientRepositoryWrapper clientRepositoryWrapper;
 
-    @Autowired
-    public ClientCollateralManagementWritePlatformServiceImpl(
-            final ClientCollateralManagementRepositoryWrapper 
clientCollateralManagementRepositoryWrapper,
-            final CollateralManagementRepositoryWrapper 
collateralManagementRepositoryWrapper,
-            final ClientRepositoryWrapper clientRepositoryWrapper) {
-        this.clientCollateralManagementRepositoryWrapper = 
clientCollateralManagementRepositoryWrapper;
-        this.collateralManagementRepositoryWrapper = 
collateralManagementRepositoryWrapper;
-        this.clientRepositoryWrapper = clientRepositoryWrapper;
-    }
-
     @Transactional
     @Override
     public CommandProcessingResult addClientCollateralProduct(final 
JsonCommand command) {
@@ -136,7 +125,7 @@ public class 
ClientCollateralManagementWritePlatformServiceImpl implements Clien
         }
 
         BigDecimal totalQuantity = BigDecimal.ZERO;
-        if (clientCollateralManagement.getLoanCollateralManagementSet().size() 
> 0) {
+        if 
(!clientCollateralManagement.getLoanCollateralManagementSet().isEmpty()) {
             for (LoanCollateralManagement loanCollateralManagement : 
clientCollateralManagement.getLoanCollateralManagementSet()) {
                 totalQuantity = 
totalQuantity.add(loanCollateralManagement.getQuantity());
             }
@@ -167,7 +156,7 @@ public class 
ClientCollateralManagementWritePlatformServiceImpl implements Clien
             throw new CollateralNotFoundException(clientCollateralId);
         }
 
-        if (clientCollateralManagement.getLoanCollateralManagementSet().size() 
> 0) {
+        if 
(!clientCollateralManagement.getLoanCollateralManagementSet().isEmpty()) {
             for (LoanCollateralManagement loanCollateralManagement : 
clientCollateralManagement.getLoanCollateralManagementSet()) {
                 if (!loanCollateralManagement.isReleased()) {
                     throw new ClientCollateralCannotBeDeletedException(
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/CollateralManagementReadPlatformServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/CollateralManagementReadPlatformServiceImpl.java
index 2d61ceca9..47432cee6 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/CollateralManagementReadPlatformServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/CollateralManagementReadPlatformServiceImpl.java
@@ -20,26 +20,18 @@ package 
org.apache.fineract.portfolio.collateralmanagement.service;
 
 import java.util.ArrayList;
 import java.util.List;
+import lombok.RequiredArgsConstructor;
 import 
org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
 import 
org.apache.fineract.portfolio.collateralmanagement.data.CollateralManagementData;
 import 
org.apache.fineract.portfolio.collateralmanagement.domain.CollateralManagementDomain;
 import 
org.apache.fineract.portfolio.collateralmanagement.domain.CollateralManagementRepositoryWrapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 
-@Service
+@RequiredArgsConstructor
 public class CollateralManagementReadPlatformServiceImpl implements 
CollateralManagementReadPlatformService {
 
     private final PlatformSecurityContext context;
     private final CollateralManagementRepositoryWrapper 
collateralManagementRepositoryWrapper;
 
-    @Autowired
-    public CollateralManagementReadPlatformServiceImpl(final 
PlatformSecurityContext context,
-            final CollateralManagementRepositoryWrapper 
collateralManagementRepositoryWrapper) {
-        this.context = context;
-        this.collateralManagementRepositoryWrapper = 
collateralManagementRepositoryWrapper;
-    }
-
     @Override
     public CollateralManagementData getCollateralProduct(Long collateralId) {
         final CollateralManagementDomain collateralManagementDomain = 
this.collateralManagementRepositoryWrapper
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/CollateralManagementWritePlatformServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/CollateralManagementWritePlatformServiceImpl.java
index fcaca36d2..e6a122185 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/CollateralManagementWritePlatformServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/CollateralManagementWritePlatformServiceImpl.java
@@ -23,6 +23,7 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.ApiParameterError;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
@@ -38,25 +39,15 @@ import 
org.apache.fineract.portfolio.collateralmanagement.domain.CollateralManag
 import 
org.apache.fineract.portfolio.collateralmanagement.domain.CollateralManagementRepositoryWrapper;
 import 
org.apache.fineract.portfolio.collateralmanagement.exception.CollateralCannotBeDeletedException;
 import 
org.apache.fineract.portfolio.collateralmanagement.exception.CollateralNotFoundException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-@Service
+@RequiredArgsConstructor
 public class CollateralManagementWritePlatformServiceImpl implements 
CollateralManagementWritePlatformService {
 
     private final CollateralManagementRepositoryWrapper 
collateralManagementRepositoryWrapper;
     private final ApplicationCurrencyRepository applicationCurrencyRepository;
     private final FromJsonHelper fromApiJsonHelper;
 
-    @Autowired
-    public CollateralManagementWritePlatformServiceImpl(final 
CollateralManagementRepositoryWrapper collateralManagementRepositoryWrapper,
-            final ApplicationCurrencyRepository applicationCurrencyRepository, 
final FromJsonHelper fromApiJsonHelper) {
-        this.collateralManagementRepositoryWrapper = 
collateralManagementRepositoryWrapper;
-        this.applicationCurrencyRepository = applicationCurrencyRepository;
-        this.fromApiJsonHelper = fromApiJsonHelper;
-    }
-
     @Transactional
     @Override
     public CommandProcessingResult createCollateral(final JsonCommand 
jsonCommand) {
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/LoanCollateralAssembler.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/LoanCollateralAssembler.java
index 37b6f48a1..26bdeeb48 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/LoanCollateralAssembler.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/LoanCollateralAssembler.java
@@ -25,6 +25,7 @@ import java.math.BigDecimal;
 import java.util.HashSet;
 import java.util.Locale;
 import java.util.Set;
+import lombok.RequiredArgsConstructor;
 import 
org.apache.fineract.infrastructure.codes.domain.CodeValueRepositoryWrapper;
 import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper;
 import 
org.apache.fineract.portfolio.collateralmanagement.domain.ClientCollateralManagement;
@@ -33,10 +34,8 @@ import 
org.apache.fineract.portfolio.collateralmanagement.exception.LoanCollater
 import 
org.apache.fineract.portfolio.loanaccount.domain.LoanCollateralManagement;
 import 
org.apache.fineract.portfolio.loanaccount.domain.LoanCollateralManagementRepository;
 import 
org.apache.fineract.portfolio.loanaccount.exception.InvalidAmountOfCollateralQuantity;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 
-@Service
+@RequiredArgsConstructor
 public class LoanCollateralAssembler {
 
     private final FromJsonHelper fromApiJsonHelper;
@@ -44,16 +43,6 @@ public class LoanCollateralAssembler {
     private final LoanCollateralManagementRepository loanCollateralRepository;
     private final ClientCollateralManagementRepositoryWrapper 
clientCollateralManagementRepositoryWrapper;
 
-    @Autowired
-    public LoanCollateralAssembler(final FromJsonHelper fromApiJsonHelper, 
final CodeValueRepositoryWrapper codeValueRepository,
-            final LoanCollateralManagementRepository loanCollateralRepository,
-            final ClientCollateralManagementRepositoryWrapper 
clientCollateralManagementRepositoryWrapper) {
-        this.fromApiJsonHelper = fromApiJsonHelper;
-        this.codeValueRepository = codeValueRepository;
-        this.loanCollateralRepository = loanCollateralRepository;
-        this.clientCollateralManagementRepositoryWrapper = 
clientCollateralManagementRepositoryWrapper;
-    }
-
     public Set<LoanCollateralManagement> fromParsedJson(final JsonElement 
element) {
 
         final Set<LoanCollateralManagement> collateralItems = new HashSet<>();
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/LoanCollateralManagementReadPlatformServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/LoanCollateralManagementReadPlatformServiceImpl.java
index 88d2a7f19..74dc7787d 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/LoanCollateralManagementReadPlatformServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/LoanCollateralManagementReadPlatformServiceImpl.java
@@ -31,11 +31,8 @@ import 
org.apache.fineract.portfolio.loanaccount.domain.LoanCollateralManagement
 import 
org.apache.fineract.portfolio.loanaccount.domain.LoanCollateralManagementRepository;
 import org.apache.fineract.portfolio.loanaccount.domain.LoanRepository;
 import 
org.apache.fineract.portfolio.loanaccount.exception.LoanNotFoundException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-@Service
 @Transactional(readOnly = true)
 public class LoanCollateralManagementReadPlatformServiceImpl implements 
LoanCollateralManagementReadPlatformService {
 
@@ -43,7 +40,6 @@ public class LoanCollateralManagementReadPlatformServiceImpl 
implements LoanColl
     private LoanCollateralManagementRepository 
loanCollateralManagementRepository;
     private LoanRepository loanRepository;
 
-    @Autowired
     public LoanCollateralManagementReadPlatformServiceImpl(final 
PlatformSecurityContext context,
             final LoanCollateralManagementRepository 
loanCollateralManagementRepository, final LoanRepository loanRepository) {
         this.context = context;
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/LoanCollateralManagementWritePlatformServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/LoanCollateralManagementWritePlatformServiceImpl.java
index 3f53fc76a..248e9e231 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/LoanCollateralManagementWritePlatformServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/service/LoanCollateralManagementWritePlatformServiceImpl.java
@@ -19,6 +19,7 @@
 package org.apache.fineract.portfolio.collateralmanagement.service;
 
 import java.math.BigDecimal;
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import 
org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuilder;
@@ -26,23 +27,14 @@ import 
org.apache.fineract.portfolio.collateralmanagement.domain.ClientCollatera
 import 
org.apache.fineract.portfolio.collateralmanagement.domain.ClientCollateralManagementRepositoryWrapper;
 import 
org.apache.fineract.portfolio.loanaccount.domain.LoanCollateralManagement;
 import 
org.apache.fineract.portfolio.loanaccount.domain.LoanCollateralManagementRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-@Service
+@RequiredArgsConstructor
 public class LoanCollateralManagementWritePlatformServiceImpl implements 
LoanCollateralManagementWritePlatformService {
 
     private final LoanCollateralManagementRepository 
loanCollateralManagementRepository;
     private final ClientCollateralManagementRepositoryWrapper 
clientCollateralManagementRepositoryWrapper;
 
-    @Autowired
-    public LoanCollateralManagementWritePlatformServiceImpl(final 
LoanCollateralManagementRepository loanCollateralManagementRepository,
-            final ClientCollateralManagementRepositoryWrapper 
clientCollateralManagementRepositoryWrapper) {
-        this.loanCollateralManagementRepository = 
loanCollateralManagementRepository;
-        this.clientCollateralManagementRepositoryWrapper = 
clientCollateralManagementRepositoryWrapper;
-    }
-
     @Transactional
     @Override
     public CommandProcessingResult deleteLoanCollateral(JsonCommand command) {
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/starter/CollateralManagementConfiguration.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/starter/CollateralManagementConfiguration.java
new file mode 100644
index 000000000..4c30c3987
--- /dev/null
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateralmanagement/starter/CollateralManagementConfiguration.java
@@ -0,0 +1,109 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.fineract.portfolio.collateralmanagement.starter;
+
+import 
org.apache.fineract.infrastructure.codes.domain.CodeValueRepositoryWrapper;
+import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper;
+import 
org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
+import 
org.apache.fineract.organisation.monetary.domain.ApplicationCurrencyRepository;
+import org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper;
+import 
org.apache.fineract.portfolio.collateralmanagement.domain.ClientCollateralManagementRepositoryWrapper;
+import 
org.apache.fineract.portfolio.collateralmanagement.domain.CollateralManagementRepositoryWrapper;
+import 
org.apache.fineract.portfolio.collateralmanagement.service.ClientCollateralManagementReadPlatformService;
+import 
org.apache.fineract.portfolio.collateralmanagement.service.ClientCollateralManagementReadPlatformServiceImpl;
+import 
org.apache.fineract.portfolio.collateralmanagement.service.ClientCollateralManagementWritePlatformService;
+import 
org.apache.fineract.portfolio.collateralmanagement.service.ClientCollateralManagementWritePlatformServiceImpl;
+import 
org.apache.fineract.portfolio.collateralmanagement.service.CollateralManagementReadPlatformService;
+import 
org.apache.fineract.portfolio.collateralmanagement.service.CollateralManagementReadPlatformServiceImpl;
+import 
org.apache.fineract.portfolio.collateralmanagement.service.CollateralManagementWritePlatformService;
+import 
org.apache.fineract.portfolio.collateralmanagement.service.CollateralManagementWritePlatformServiceImpl;
+import 
org.apache.fineract.portfolio.collateralmanagement.service.LoanCollateralAssembler;
+import 
org.apache.fineract.portfolio.collateralmanagement.service.LoanCollateralManagementReadPlatformService;
+import 
org.apache.fineract.portfolio.collateralmanagement.service.LoanCollateralManagementReadPlatformServiceImpl;
+import 
org.apache.fineract.portfolio.collateralmanagement.service.LoanCollateralManagementWritePlatformService;
+import 
org.apache.fineract.portfolio.collateralmanagement.service.LoanCollateralManagementWritePlatformServiceImpl;
+import 
org.apache.fineract.portfolio.loanaccount.domain.LoanCollateralManagementRepository;
+import org.apache.fineract.portfolio.loanaccount.domain.LoanRepository;
+import 
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionRepository;
+import 
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class CollateralManagementConfiguration {
+
+    @Bean
+    
@ConditionalOnMissingBean(ClientCollateralManagementReadPlatformService.class)
+    public ClientCollateralManagementReadPlatformService 
clientCollateralManagementReadPlatformService(PlatformSecurityContext context,
+            ClientCollateralManagementRepositoryWrapper 
clientCollateralManagementRepositoryWrapper,
+            LoanTransactionRepository loanTransactionRepository) {
+        return new ClientCollateralManagementReadPlatformServiceImpl(context, 
clientCollateralManagementRepositoryWrapper,
+                loanTransactionRepository);
+    }
+
+    @Bean
+    
@ConditionalOnMissingBean(ClientCollateralManagementWritePlatformService.class)
+    public ClientCollateralManagementWritePlatformService 
clientCollateralManagementWritePlatformService(
+            ClientCollateralManagementRepositoryWrapper 
clientCollateralManagementRepositoryWrapper,
+            CollateralManagementRepositoryWrapper 
collateralManagementRepositoryWrapper, ClientRepositoryWrapper 
clientRepositoryWrapper) {
+        return new 
ClientCollateralManagementWritePlatformServiceImpl(clientCollateralManagementRepositoryWrapper,
+                collateralManagementRepositoryWrapper, 
clientRepositoryWrapper);
+    }
+
+    @Bean
+    @ConditionalOnMissingBean(CollateralManagementReadPlatformService.class)
+    public CollateralManagementReadPlatformService 
collateralManagementReadPlatformService(PlatformSecurityContext context,
+            CollateralManagementRepositoryWrapper 
collateralManagementRepositoryWrapper) {
+        return new CollateralManagementReadPlatformServiceImpl(context, 
collateralManagementRepositoryWrapper);
+    }
+
+    @Bean
+    @ConditionalOnMissingBean(CollateralManagementWritePlatformService.class)
+    public CollateralManagementWritePlatformService 
collateralManagementWritePlatformService(
+            CollateralManagementRepositoryWrapper 
collateralManagementRepositoryWrapper,
+            ApplicationCurrencyRepository applicationCurrencyRepository, 
FromJsonHelper fromApiJsonHelper) {
+        return new 
CollateralManagementWritePlatformServiceImpl(collateralManagementRepositoryWrapper,
 applicationCurrencyRepository,
+                fromApiJsonHelper);
+    }
+
+    @Bean
+    @ConditionalOnMissingBean(LoanCollateralAssembler.class)
+    public LoanCollateralAssembler loanCollateralAssembler(FromJsonHelper 
fromApiJsonHelper, CodeValueRepositoryWrapper codeValueRepository,
+            LoanCollateralManagementRepository loanCollateralRepository,
+            ClientCollateralManagementRepositoryWrapper 
clientCollateralManagementRepositoryWrapper) {
+        return new LoanCollateralAssembler(fromApiJsonHelper, 
codeValueRepository, loanCollateralRepository,
+                clientCollateralManagementRepositoryWrapper);
+    }
+
+    @Bean
+    
@ConditionalOnMissingBean(LoanCollateralManagementReadPlatformService.class)
+    public LoanCollateralManagementReadPlatformService 
loanCollateralManagementReadPlatformService(PlatformSecurityContext context,
+            LoanCollateralManagementRepository 
loanCollateralManagementRepository, LoanRepository loanRepository) {
+        return new LoanCollateralManagementReadPlatformServiceImpl(context, 
loanCollateralManagementRepository, loanRepository);
+    }
+
+    @Bean
+    
@ConditionalOnMissingBean(LoanCollateralManagementWritePlatformService.class)
+    public LoanCollateralManagementWritePlatformService 
loanCollateralManagementWritePlatformService(
+            LoanCollateralManagementRepository 
loanCollateralManagementRepository,
+            ClientCollateralManagementRepositoryWrapper 
clientCollateralManagementRepositoryWrapper) {
+        return new 
LoanCollateralManagementWritePlatformServiceImpl(loanCollateralManagementRepository,
+                clientCollateralManagementRepositoryWrapper);
+    }
+}

Reply via email to