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 e41d7635e Add custom Configuration class for floatingrates module
(FINERACT-1932)
e41d7635e is described below
commit e41d7635e026fbd61a69aa4ee8abd3c76f78e2c5
Author: Sinha, Abhinav <[email protected]>
AuthorDate: Thu Sep 21 08:56:06 2023 -0400
Add custom Configuration class for floatingrates module (FINERACT-1932)
---
.../FloatingRateWritePlatformServiceImpl.java | 19 +++------
.../FloatingRatesReadPlatformServiceImpl.java | 10 +----
.../starter/FloatingRatesConfiguration.java | 47 ++++++++++++++++++++++
3 files changed, 54 insertions(+), 22 deletions(-)
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/service/FloatingRateWritePlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/service/FloatingRateWritePlatformServiceImpl.java
index 932e48a42..0dcb7dca7 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/service/FloatingRateWritePlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/service/FloatingRateWritePlatformServiceImpl.java
@@ -20,6 +20,8 @@ package org.apache.fineract.portfolio.floatingrates.service;
import jakarta.persistence.PersistenceException;
import java.util.Map;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.fineract.infrastructure.core.api.JsonCommand;
import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
@@ -28,28 +30,17 @@ import
org.apache.fineract.infrastructure.core.exception.PlatformDataIntegrityEx
import org.apache.fineract.portfolio.floatingrates.domain.FloatingRate;
import
org.apache.fineract.portfolio.floatingrates.domain.FloatingRateRepositoryWrapper;
import
org.apache.fineract.portfolio.floatingrates.serialization.FloatingRateDataValidator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.orm.jpa.JpaSystemException;
-import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-@Service
+@RequiredArgsConstructor
+@Slf4j
public class FloatingRateWritePlatformServiceImpl implements
FloatingRateWritePlatformService {
- private static final Logger LOG =
LoggerFactory.getLogger(FloatingRateWritePlatformServiceImpl.class);
private final FloatingRateDataValidator fromApiJsonDeserializer;
private final FloatingRateRepositoryWrapper floatingRateRepository;
- @Autowired
- public FloatingRateWritePlatformServiceImpl(final
FloatingRateDataValidator fromApiJsonDeserializer,
- final FloatingRateRepositoryWrapper floatingRateRepository) {
- this.fromApiJsonDeserializer = fromApiJsonDeserializer;
- this.floatingRateRepository = floatingRateRepository;
- }
-
@Transactional
@Override
public CommandProcessingResult createFloatingRate(final JsonCommand
command) {
@@ -118,7 +109,7 @@ public class FloatingRateWritePlatformServiceImpl
implements FloatingRateWritePl
}
private void logAsErrorUnexpectedDataIntegrityException(Exception dve) {
- LOG.error("Error occured.", dve);
+ log.error("Error occured.", dve);
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/service/FloatingRatesReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/service/FloatingRatesReadPlatformServiceImpl.java
index 9eeeff0ce..1c097cb18 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/service/FloatingRatesReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/service/FloatingRatesReadPlatformServiceImpl.java
@@ -25,27 +25,21 @@ import java.sql.SQLException;
import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.util.List;
+import lombok.RequiredArgsConstructor;
import org.apache.fineract.infrastructure.core.domain.JdbcSupport;
import org.apache.fineract.portfolio.floatingrates.data.FloatingRateData;
import org.apache.fineract.portfolio.floatingrates.data.FloatingRatePeriodData;
import org.apache.fineract.portfolio.floatingrates.data.InterestRatePeriodData;
import
org.apache.fineract.portfolio.floatingrates.exception.FloatingRateNotFoundException;
-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
+@RequiredArgsConstructor
public class FloatingRatesReadPlatformServiceImpl implements
FloatingRatesReadPlatformService {
private final JdbcTemplate jdbcTemplate;
- @Autowired
- public FloatingRatesReadPlatformServiceImpl(final JdbcTemplate
jdbcTemplate) {
- this.jdbcTemplate = jdbcTemplate;
- }
-
@Override
public List<FloatingRateData> retrieveAll() {
FloatingRateRowMapper rateMapper = new FloatingRateRowMapper(false);
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/starter/FloatingRatesConfiguration.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/starter/FloatingRatesConfiguration.java
new file mode 100644
index 000000000..3bdc33493
--- /dev/null
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/starter/FloatingRatesConfiguration.java
@@ -0,0 +1,47 @@
+/**
+ * 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.floatingrates.starter;
+
+import
org.apache.fineract.portfolio.floatingrates.domain.FloatingRateRepositoryWrapper;
+import
org.apache.fineract.portfolio.floatingrates.serialization.FloatingRateDataValidator;
+import
org.apache.fineract.portfolio.floatingrates.service.FloatingRateWritePlatformService;
+import
org.apache.fineract.portfolio.floatingrates.service.FloatingRateWritePlatformServiceImpl;
+import
org.apache.fineract.portfolio.floatingrates.service.FloatingRatesReadPlatformService;
+import
org.apache.fineract.portfolio.floatingrates.service.FloatingRatesReadPlatformServiceImpl;
+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 FloatingRatesConfiguration {
+
+ @Bean
+ @ConditionalOnMissingBean(FloatingRatesReadPlatformService.class)
+ public FloatingRatesReadPlatformService
floatingRatesReadPlatformService(JdbcTemplate jdbcTemplate) {
+ return new FloatingRatesReadPlatformServiceImpl(jdbcTemplate);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(FloatingRateWritePlatformService.class)
+ public FloatingRateWritePlatformService
floatingRateWritePlatformService(FloatingRateDataValidator
fromApiJsonDeserializer,
+ FloatingRateRepositoryWrapper floatingRateRepository) {
+ return new
FloatingRateWritePlatformServiceImpl(fromApiJsonDeserializer,
floatingRateRepository);
+ }
+}