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 54ca135c3 Add custom Configuration class for organisation/holiday 
module (FINERACT-1932)
54ca135c3 is described below

commit 54ca135c3fb1209c37434eb142699393d360219b
Author: Sinha, Abhinav <[email protected]>
AuthorDate: Mon Oct 23 16:40:40 2023 -0400

    Add custom Configuration class for organisation/holiday module 
(FINERACT-1932)
---
 .../service/HolidayReadPlatformServiceImpl.java    | 11 +----
 ...lidayWritePlatformServiceJpaRepositoryImpl.java | 26 ++---------
 .../starter/OrganisationHolidayConfiguration.java  | 53 ++++++++++++++++++++++
 3 files changed, 60 insertions(+), 30 deletions(-)

diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/service/HolidayReadPlatformServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/service/HolidayReadPlatformServiceImpl.java
index 5acfd0c7b..94f9e7b05 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/service/HolidayReadPlatformServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/service/HolidayReadPlatformServiceImpl.java
@@ -25,6 +25,7 @@ import java.time.format.DateTimeFormatter;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.infrastructure.core.data.EnumOptionData;
 import org.apache.fineract.infrastructure.core.domain.JdbcSupport;
 import org.apache.fineract.infrastructure.core.service.DateUtils;
@@ -32,24 +33,16 @@ import 
org.apache.fineract.infrastructure.security.service.PlatformSecurityConte
 import org.apache.fineract.organisation.holiday.data.HolidayData;
 import org.apache.fineract.organisation.holiday.domain.RescheduleType;
 import 
org.apache.fineract.organisation.holiday.exception.HolidayNotFoundException;
-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 HolidayReadPlatformServiceImpl implements 
HolidayReadPlatformService {
 
     private final PlatformSecurityContext context;
     private final JdbcTemplate jdbcTemplate;
 
-    @Autowired
-    public HolidayReadPlatformServiceImpl(final PlatformSecurityContext 
context, final JdbcTemplate jdbcTemplate) {
-        this.context = context;
-        this.jdbcTemplate = jdbcTemplate;
-    }
-
     private static final class HolidayMapper implements RowMapper<HolidayData> 
{
 
         private final String schema;
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/service/HolidayWritePlatformServiceJpaRepositoryImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/service/HolidayWritePlatformServiceJpaRepositoryImpl.java
index 7c8d33798..22d0acc02 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/service/HolidayWritePlatformServiceJpaRepositoryImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/service/HolidayWritePlatformServiceJpaRepositoryImpl.java
@@ -27,6 +27,8 @@ import java.time.LocalDate;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
+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;
@@ -45,19 +47,14 @@ import 
org.apache.fineract.organisation.office.domain.OfficeRepositoryWrapper;
 import org.apache.fineract.organisation.workingdays.domain.WorkingDays;
 import 
org.apache.fineract.organisation.workingdays.domain.WorkingDaysRepositoryWrapper;
 import org.apache.fineract.organisation.workingdays.service.WorkingDaysUtil;
-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
+@Slf4j
+@RequiredArgsConstructor
 public class HolidayWritePlatformServiceJpaRepositoryImpl implements 
HolidayWritePlatformService {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(HolidayWritePlatformServiceJpaRepositoryImpl.class);
-
     private final HolidayDataValidator fromApiJsonDeserializer;
     private final HolidayRepositoryWrapper holidayRepository;
     private final WorkingDaysRepositoryWrapper daysRepositoryWrapper;
@@ -65,19 +62,6 @@ public class HolidayWritePlatformServiceJpaRepositoryImpl 
implements HolidayWrit
     private final OfficeRepositoryWrapper officeRepositoryWrapper;
     private final FromJsonHelper fromApiJsonHelper;
 
-    @Autowired
-    public HolidayWritePlatformServiceJpaRepositoryImpl(final 
HolidayDataValidator fromApiJsonDeserializer,
-            final HolidayRepositoryWrapper holidayRepository, final 
PlatformSecurityContext context,
-            final OfficeRepositoryWrapper officeRepositoryWrapper, final 
FromJsonHelper fromApiJsonHelper,
-            final WorkingDaysRepositoryWrapper daysRepositoryWrapper) {
-        this.fromApiJsonDeserializer = fromApiJsonDeserializer;
-        this.holidayRepository = holidayRepository;
-        this.context = context;
-        this.officeRepositoryWrapper = officeRepositoryWrapper;
-        this.fromApiJsonHelper = fromApiJsonHelper;
-        this.daysRepositoryWrapper = daysRepositoryWrapper;
-    }
-
     @Transactional
     @Override
     public CommandProcessingResult createHoliday(final JsonCommand command) {
@@ -185,7 +169,7 @@ public class HolidayWritePlatformServiceJpaRepositoryImpl 
implements HolidayWrit
                     "name", name);
         }
 
-        LOG.error("Error occured.", dve);
+        log.error("Error occured.", dve);
         throw new 
PlatformDataIntegrityException("error.msg.office.unknown.data.integrity.issue",
                 "Unknown data integrity issue with resource.");
     }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/starter/OrganisationHolidayConfiguration.java
 
b/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/starter/OrganisationHolidayConfiguration.java
new file mode 100644
index 000000000..f59962ff1
--- /dev/null
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/starter/OrganisationHolidayConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.organisation.holiday.starter;
+
+import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper;
+import 
org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
+import org.apache.fineract.organisation.holiday.data.HolidayDataValidator;
+import 
org.apache.fineract.organisation.holiday.domain.HolidayRepositoryWrapper;
+import 
org.apache.fineract.organisation.holiday.service.HolidayReadPlatformService;
+import 
org.apache.fineract.organisation.holiday.service.HolidayReadPlatformServiceImpl;
+import 
org.apache.fineract.organisation.holiday.service.HolidayWritePlatformService;
+import 
org.apache.fineract.organisation.holiday.service.HolidayWritePlatformServiceJpaRepositoryImpl;
+import org.apache.fineract.organisation.office.domain.OfficeRepositoryWrapper;
+import 
org.apache.fineract.organisation.workingdays.domain.WorkingDaysRepositoryWrapper;
+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 OrganisationHolidayConfiguration {
+
+    @Bean
+    @ConditionalOnMissingBean(HolidayReadPlatformService.class)
+    public HolidayReadPlatformService 
holidayReadPlatformService(PlatformSecurityContext context, JdbcTemplate 
jdbcTemplate) {
+        return new HolidayReadPlatformServiceImpl(context, jdbcTemplate);
+    }
+
+    @Bean
+    @ConditionalOnMissingBean(HolidayWritePlatformService.class)
+    public HolidayWritePlatformService 
holidayWritePlatformService(HolidayDataValidator fromApiJsonDeserializer,
+            HolidayRepositoryWrapper holidayRepository, 
PlatformSecurityContext context, OfficeRepositoryWrapper 
officeRepositoryWrapper,
+            FromJsonHelper fromApiJsonHelper, WorkingDaysRepositoryWrapper 
daysRepositoryWrapper) {
+        return new 
HolidayWritePlatformServiceJpaRepositoryImpl(fromApiJsonDeserializer, 
holidayRepository, daysRepositoryWrapper, context,
+                officeRepositoryWrapper, fromApiJsonHelper);
+    }
+}

Reply via email to