This is an automated email from the ASF dual-hosted git repository.
arnold 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 349103015 Add custom Configuration class for Account module
(FINERACT-1932)
349103015 is described below
commit 349103015f51ce094d45717b420cdbfb7613e6f1
Author: Sinha, Abhinav <[email protected]>
AuthorDate: Mon Aug 21 18:38:10 2023 -0400
Add custom Configuration class for Account module (FINERACT-1932)
---
...AccountAssociationsReadPlatformServiceImpl.java | 11 +-
.../AccountTransfersReadPlatformServiceImpl.java | 4 -
.../AccountTransfersWritePlatformServiceImpl.java | 2 -
.../PortfolioAccountReadPlatformServiceImpl.java | 4 -
...gInstructionHistoryReadPlatformServiceImpl.java | 4 -
...StandingInstructionReadPlatformServiceImpl.java | 4 -
...tandingInstructionWritePlatformServiceImpl.java | 2 -
.../account/starter/AccountConfiguration.java | 131 +++++++++++++++++++++
8 files changed, 135 insertions(+), 27 deletions(-)
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountAssociationsReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountAssociationsReadPlatformServiceImpl.java
index 3b11b8d8b..f26eb5984 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountAssociationsReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountAssociationsReadPlatformServiceImpl.java
@@ -24,24 +24,21 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import org.apache.fineract.infrastructure.core.domain.JdbcSupport;
import org.apache.fineract.portfolio.account.data.AccountAssociationsData;
import org.apache.fineract.portfolio.account.data.PortfolioAccountData;
import org.apache.fineract.portfolio.account.domain.AccountAssociationType;
import org.apache.fineract.portfolio.loanaccount.domain.LoanStatus;
import org.apache.fineract.portfolio.savings.domain.SavingsAccountStatusType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
-import org.springframework.stereotype.Service;
-@Service
@RequiredArgsConstructor
+@Slf4j
public class AccountAssociationsReadPlatformServiceImpl implements
AccountAssociationsReadPlatformService {
- private static final Logger LOG =
LoggerFactory.getLogger(AccountAssociationsReadPlatformServiceImpl.class);
private final JdbcTemplate jdbcTemplate;
@Override
@@ -56,7 +53,7 @@ public class AccountAssociationsReadPlatformServiceImpl
implements AccountAssoci
linkedAccount = accountAssociationsData.linkedAccount();
}
} catch (final EmptyResultDataAccessException e) {
- LOG.debug("Linking account is not configured");
+ log.debug("Linking account is not configured");
}
return linkedAccount;
}
@@ -85,7 +82,7 @@ public class AccountAssociationsReadPlatformServiceImpl
implements AccountAssoci
linkedAccount = accountAssociationsData.linkedAccount();
}
} catch (final EmptyResultDataAccessException e) {
- LOG.debug("Linking account is not configured");
+ log.debug("Linking account is not configured");
}
return linkedAccount;
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountTransfersReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountTransfersReadPlatformServiceImpl.java
index a5498fb22..a0fb3b9d0 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountTransfersReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountTransfersReadPlatformServiceImpl.java
@@ -45,14 +45,11 @@ import
org.apache.fineract.portfolio.account.domain.AccountTransferType;
import
org.apache.fineract.portfolio.account.exception.AccountTransferNotFoundException;
import org.apache.fineract.portfolio.client.data.ClientData;
import org.apache.fineract.portfolio.client.service.ClientReadPlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
-import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
-@Service
public class AccountTransfersReadPlatformServiceImpl implements
AccountTransfersReadPlatformService {
private static final DateTimeFormatter DATE_TIME_FORMATTER =
DateTimeFormatter.ofPattern("yyyy-MM-dd");
@@ -67,7 +64,6 @@ public class AccountTransfersReadPlatformServiceImpl
implements AccountTransfers
// pagination
private final PaginationHelper paginationHelper;
- @Autowired
public AccountTransfersReadPlatformServiceImpl(final JdbcTemplate
jdbcTemplate,
final ClientReadPlatformService clientReadPlatformService, final
OfficeReadPlatformService officeReadPlatformService,
final PortfolioAccountReadPlatformService
portfolioAccountReadPlatformService, final ColumnValidator columnValidator,
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountTransfersWritePlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountTransfersWritePlatformServiceImpl.java
index 644d6526d..dd07013f3 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountTransfersWritePlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountTransfersWritePlatformServiceImpl.java
@@ -69,10 +69,8 @@ import
org.apache.fineract.portfolio.savings.domain.SavingsAccountAssembler;
import
org.apache.fineract.portfolio.savings.domain.SavingsAccountDomainService;
import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransaction;
import
org.apache.fineract.portfolio.savings.service.SavingsAccountWritePlatformService;
-import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-@Service
@RequiredArgsConstructor
public class AccountTransfersWritePlatformServiceImpl implements
AccountTransfersWritePlatformService {
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/PortfolioAccountReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/PortfolioAccountReadPlatformServiceImpl.java
index 3542c0325..61d5beb0f 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/PortfolioAccountReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/PortfolioAccountReadPlatformServiceImpl.java
@@ -31,13 +31,10 @@ import
org.apache.fineract.portfolio.account.PortfolioAccountType;
import org.apache.fineract.portfolio.account.data.PortfolioAccountDTO;
import org.apache.fineract.portfolio.account.data.PortfolioAccountData;
import
org.apache.fineract.portfolio.account.exception.AccountTransferNotFoundException;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
-import org.springframework.stereotype.Service;
-@Service
public class PortfolioAccountReadPlatformServiceImpl implements
PortfolioAccountReadPlatformService {
private final JdbcTemplate jdbcTemplate;
@@ -47,7 +44,6 @@ public class PortfolioAccountReadPlatformServiceImpl
implements PortfolioAccount
private final PortfolioLoanAccountMapper loanAccountMapper;
private final PortfolioLoanAccountRefundByTransferMapper
accountRefundByTransferMapper;
- @Autowired
public PortfolioAccountReadPlatformServiceImpl(final JdbcTemplate
jdbcTemplate, DatabaseSpecificSQLGenerator sqlGenerator) {
this.jdbcTemplate = jdbcTemplate;
this.savingsAccountMapper = new PortfolioSavingsAccountMapper();
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/StandingInstructionHistoryReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/StandingInstructionHistoryReadPlatformServiceImpl.java
index 8c9ad5c52..f3efb4e35 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/StandingInstructionHistoryReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/StandingInstructionHistoryReadPlatformServiceImpl.java
@@ -40,12 +40,9 @@ import
org.apache.fineract.portfolio.account.data.PortfolioAccountData;
import org.apache.fineract.portfolio.account.data.StandingInstructionDTO;
import
org.apache.fineract.portfolio.account.data.StandingInstructionHistoryData;
import org.apache.fineract.portfolio.client.data.ClientData;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
-import org.springframework.stereotype.Service;
-@Service
public class StandingInstructionHistoryReadPlatformServiceImpl implements
StandingInstructionHistoryReadPlatformService {
private final JdbcTemplate jdbcTemplate;
@@ -58,7 +55,6 @@ public class
StandingInstructionHistoryReadPlatformServiceImpl implements Standi
// pagination
private final PaginationHelper paginationHelper;
- @Autowired
public StandingInstructionHistoryReadPlatformServiceImpl(final
JdbcTemplate jdbcTemplate, final ColumnValidator columnValidator,
DatabaseSpecificSQLGenerator sqlGenerator, PaginationHelper
paginationHelper) {
this.jdbcTemplate = jdbcTemplate;
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/StandingInstructionReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/StandingInstructionReadPlatformServiceImpl.java
index 0f1c74682..3d74d6749 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/StandingInstructionReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/StandingInstructionReadPlatformServiceImpl.java
@@ -60,14 +60,11 @@ import org.apache.fineract.portfolio.client.data.ClientData;
import org.apache.fineract.portfolio.client.service.ClientReadPlatformService;
import org.apache.fineract.portfolio.common.service.CommonEnumerations;
import
org.apache.fineract.portfolio.common.service.DropdownReadPlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
-import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
-@Service
public class StandingInstructionReadPlatformServiceImpl implements
StandingInstructionReadPlatformService {
private final JdbcTemplate jdbcTemplate;
@@ -84,7 +81,6 @@ public class StandingInstructionReadPlatformServiceImpl
implements StandingInstr
// pagination
private final PaginationHelper paginationHelper;
- @Autowired
public StandingInstructionReadPlatformServiceImpl(final JdbcTemplate
jdbcTemplate,
final ClientReadPlatformService clientReadPlatformService, final
OfficeReadPlatformService officeReadPlatformService,
final PortfolioAccountReadPlatformService
portfolioAccountReadPlatformService,
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/StandingInstructionWritePlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/StandingInstructionWritePlatformServiceImpl.java
index 3a808cc09..e832fd574 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/StandingInstructionWritePlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/StandingInstructionWritePlatformServiceImpl.java
@@ -44,11 +44,9 @@ import
org.apache.fineract.portfolio.account.exception.StandingInstructionNotFou
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.dao.NonTransientDataAccessException;
import org.springframework.orm.jpa.JpaSystemException;
-import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Slf4j
-@Service
@RequiredArgsConstructor
public class StandingInstructionWritePlatformServiceImpl implements
StandingInstructionWritePlatformService {
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/starter/AccountConfiguration.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/starter/AccountConfiguration.java
new file mode 100644
index 000000000..90a827854
--- /dev/null
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/starter/AccountConfiguration.java
@@ -0,0 +1,131 @@
+/**
+ * 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.account.starter;
+
+import
org.apache.fineract.infrastructure.configuration.domain.ConfigurationDomainService;
+import org.apache.fineract.infrastructure.core.config.FineractProperties;
+import org.apache.fineract.infrastructure.core.service.ExternalIdFactory;
+import org.apache.fineract.infrastructure.core.service.PaginationHelper;
+import
org.apache.fineract.infrastructure.core.service.database.DatabaseSpecificSQLGenerator;
+import org.apache.fineract.infrastructure.security.utils.ColumnValidator;
+import
org.apache.fineract.organisation.office.service.OfficeReadPlatformService;
+import
org.apache.fineract.portfolio.account.data.AccountTransfersDataValidator;
+import
org.apache.fineract.portfolio.account.data.StandingInstructionDataValidator;
+import org.apache.fineract.portfolio.account.domain.AccountTransferAssembler;
+import
org.apache.fineract.portfolio.account.domain.AccountTransferDetailRepository;
+import org.apache.fineract.portfolio.account.domain.AccountTransferRepository;
+import
org.apache.fineract.portfolio.account.domain.StandingInstructionAssembler;
+import
org.apache.fineract.portfolio.account.domain.StandingInstructionRepository;
+import
org.apache.fineract.portfolio.account.service.AccountAssociationsReadPlatformService;
+import
org.apache.fineract.portfolio.account.service.AccountAssociationsReadPlatformServiceImpl;
+import
org.apache.fineract.portfolio.account.service.AccountTransfersReadPlatformService;
+import
org.apache.fineract.portfolio.account.service.AccountTransfersReadPlatformServiceImpl;
+import
org.apache.fineract.portfolio.account.service.AccountTransfersWritePlatformService;
+import
org.apache.fineract.portfolio.account.service.AccountTransfersWritePlatformServiceImpl;
+import
org.apache.fineract.portfolio.account.service.PortfolioAccountReadPlatformService;
+import
org.apache.fineract.portfolio.account.service.PortfolioAccountReadPlatformServiceImpl;
+import
org.apache.fineract.portfolio.account.service.StandingInstructionHistoryReadPlatformService;
+import
org.apache.fineract.portfolio.account.service.StandingInstructionHistoryReadPlatformServiceImpl;
+import
org.apache.fineract.portfolio.account.service.StandingInstructionReadPlatformService;
+import
org.apache.fineract.portfolio.account.service.StandingInstructionReadPlatformServiceImpl;
+import
org.apache.fineract.portfolio.account.service.StandingInstructionWritePlatformService;
+import
org.apache.fineract.portfolio.account.service.StandingInstructionWritePlatformServiceImpl;
+import org.apache.fineract.portfolio.client.service.ClientReadPlatformService;
+import
org.apache.fineract.portfolio.common.service.DropdownReadPlatformService;
+import
org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService;
+import org.apache.fineract.portfolio.loanaccount.service.LoanAssembler;
+import
org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService;
+import org.apache.fineract.portfolio.savings.domain.GSIMRepositoy;
+import org.apache.fineract.portfolio.savings.domain.SavingsAccountAssembler;
+import
org.apache.fineract.portfolio.savings.domain.SavingsAccountDomainService;
+import
org.apache.fineract.portfolio.savings.service.SavingsAccountWritePlatformService;
+import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.jdbc.core.JdbcTemplate;
+
+@Configuration
+public class AccountConfiguration {
+
+ @Bean
+ @ConditionalOnMissingBean(AccountAssociationsReadPlatformService.class)
+ public AccountAssociationsReadPlatformService
accountAssociationsReadPlatformService(JdbcTemplate jdbcTemplate) {
+ return new AccountAssociationsReadPlatformServiceImpl(jdbcTemplate);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(AccountTransfersReadPlatformService.class)
+ public AccountTransfersReadPlatformService
accountTransfersReadPlatformService(JdbcTemplate jdbcTemplate,
+ ClientReadPlatformService clientReadPlatformService,
OfficeReadPlatformService officeReadPlatformService,
+ PortfolioAccountReadPlatformService
portfolioAccountReadPlatformService, ColumnValidator columnValidator,
+ DatabaseSpecificSQLGenerator sqlGenerator, PaginationHelper
paginationHelper) {
+ return new AccountTransfersReadPlatformServiceImpl(jdbcTemplate,
clientReadPlatformService, officeReadPlatformService,
+ portfolioAccountReadPlatformService, columnValidator,
sqlGenerator, paginationHelper);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(AccountTransfersWritePlatformService.class)
+ public AccountTransfersWritePlatformService
accountTransfersWritePlatformService(
+ AccountTransfersDataValidator accountTransfersDataValidator,
AccountTransferAssembler accountTransferAssembler,
+ AccountTransferRepository accountTransferRepository,
SavingsAccountAssembler savingsAccountAssembler,
+ SavingsAccountDomainService savingsAccountDomainService,
LoanAssembler loanAccountAssembler,
+ LoanAccountDomainService loanAccountDomainService,
SavingsAccountWritePlatformService savingsAccountWritePlatformService,
+ AccountTransferDetailRepository accountTransferDetailRepository,
LoanReadPlatformService loanReadPlatformService,
+ GSIMRepositoy gsimRepository, ConfigurationDomainService
configurationDomainService, ExternalIdFactory externalIdFactory,
+ FineractProperties fineractProperties) {
+ return new
AccountTransfersWritePlatformServiceImpl(accountTransfersDataValidator,
accountTransferAssembler,
+ accountTransferRepository, savingsAccountAssembler,
savingsAccountDomainService, loanAccountAssembler,
+ loanAccountDomainService, savingsAccountWritePlatformService,
accountTransferDetailRepository, loanReadPlatformService,
+ gsimRepository, configurationDomainService, externalIdFactory,
fineractProperties);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(PortfolioAccountReadPlatformService.class)
+ public PortfolioAccountReadPlatformService
portfolioAccountReadPlatformService(JdbcTemplate jdbcTemplate,
+ DatabaseSpecificSQLGenerator sqlGenerator) {
+ return new PortfolioAccountReadPlatformServiceImpl(jdbcTemplate,
sqlGenerator);
+ }
+
+ @Bean
+
@ConditionalOnMissingBean(StandingInstructionHistoryReadPlatformService.class)
+ public StandingInstructionHistoryReadPlatformService
standingInstructionHistoryReadPlatformService(JdbcTemplate jdbcTemplate,
+ ColumnValidator columnValidator, DatabaseSpecificSQLGenerator
sqlGenerator, PaginationHelper paginationHelper) {
+ return new
StandingInstructionHistoryReadPlatformServiceImpl(jdbcTemplate,
columnValidator, sqlGenerator, paginationHelper);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(StandingInstructionReadPlatformService.class)
+ public StandingInstructionReadPlatformService
standingInstructionReadPlatformService(JdbcTemplate jdbcTemplate,
+ ClientReadPlatformService clientReadPlatformService,
OfficeReadPlatformService officeReadPlatformService,
+ PortfolioAccountReadPlatformService
portfolioAccountReadPlatformService,
+ DropdownReadPlatformService dropdownReadPlatformService,
ColumnValidator columnValidator,
+ DatabaseSpecificSQLGenerator sqlGenerator, PaginationHelper
paginationHelper) {
+ return new StandingInstructionReadPlatformServiceImpl(jdbcTemplate,
clientReadPlatformService, officeReadPlatformService,
+ portfolioAccountReadPlatformService,
dropdownReadPlatformService, columnValidator, sqlGenerator, paginationHelper);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(StandingInstructionWritePlatformService.class)
+ public StandingInstructionWritePlatformService
standingInstructionWritePlatformService(
+ StandingInstructionDataValidator standingInstructionDataValidator,
StandingInstructionAssembler standingInstructionAssembler,
+ AccountTransferDetailRepository accountTransferDetailRepository,
StandingInstructionRepository standingInstructionRepository) {
+ return new
StandingInstructionWritePlatformServiceImpl(standingInstructionDataValidator,
standingInstructionAssembler,
+ accountTransferDetailRepository,
standingInstructionRepository);
+ }
+}