You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ar...@apache.org on 2023/09/11 12:43:45 UTC
[fineract] branch develop updated: FINERACT-1932: Add custom Configuration class for self-registration module
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 ed4c85a5c FINERACT-1932: Add custom Configuration class for self-registration module
ed4c85a5c is described below
commit ed4c85a5c8a93e2efdc3c03c5c8681355869593e
Author: Mohamed Magdi-Abdelmonem <mo...@gmail.com>
AuthorDate: Sat Sep 9 18:13:17 2023 +0300
FINERACT-1932: Add custom Configuration class for self-registration module
---
...ServiceRegistrationReadPlatformServiceImpl.java | 10 +---
...erviceRegistrationWritePlatformServiceImpl.java | 30 +---------
.../starter/SelfRegistrationConfiguration.java | 66 ++++++++++++++++++++++
3 files changed, 71 insertions(+), 35 deletions(-)
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/registration/service/SelfServiceRegistrationReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/registration/service/SelfServiceRegistrationReadPlatformServiceImpl.java
index d26f8f6c2..8fd55f5b8 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/registration/service/SelfServiceRegistrationReadPlatformServiceImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/registration/service/SelfServiceRegistrationReadPlatformServiceImpl.java
@@ -18,20 +18,14 @@
*/
package org.apache.fineract.portfolio.self.registration.service;
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.RequiredArgsConstructor;
import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.stereotype.Service;
-@Service
+@RequiredArgsConstructor
public class SelfServiceRegistrationReadPlatformServiceImpl implements SelfServiceRegistrationReadPlatformService {
private final JdbcTemplate jdbcTemplate;
- @Autowired
- public SelfServiceRegistrationReadPlatformServiceImpl(final JdbcTemplate jdbcTemplate) {
- this.jdbcTemplate = jdbcTemplate;
- }
-
@Override
public boolean isClientExist(String accountNumber, String firstName, String lastName, String mobileNumber,
boolean isEmailAuthenticationMode) {
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/registration/service/SelfServiceRegistrationWritePlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/registration/service/SelfServiceRegistrationWritePlatformServiceImpl.java
index 4432fc44e..3f76b1936 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/registration/service/SelfServiceRegistrationWritePlatformServiceImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/registration/service/SelfServiceRegistrationWritePlatformServiceImpl.java
@@ -31,6 +31,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.fineract.infrastructure.campaigns.sms.data.SmsProviderData;
import org.apache.fineract.infrastructure.campaigns.sms.domain.SmsCampaign;
@@ -64,15 +65,13 @@ import org.apache.fineract.useradministration.domain.RoleRepository;
import org.apache.fineract.useradministration.domain.UserDomainService;
import org.apache.fineract.useradministration.exception.RoleNotFoundException;
import org.apache.fineract.useradministration.service.AppUserReadPlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.orm.jpa.JpaSystemException;
import org.springframework.security.authentication.AuthenticationServiceException;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.User;
-import org.springframework.stereotype.Service;
-@Service
+@RequiredArgsConstructor
public class SelfServiceRegistrationWritePlatformServiceImpl implements SelfServiceRegistrationWritePlatformService {
private final SelfServiceRegistrationRepository selfServiceRegistrationRepository;
@@ -83,35 +82,12 @@ public class SelfServiceRegistrationWritePlatformServiceImpl implements SelfServ
private final UserDomainService userDomainService;
private final GmailBackedPlatformEmailService gmailBackedPlatformEmailService;
private final SmsMessageRepository smsMessageRepository;
- private SmsMessageScheduledJobService smsMessageScheduledJobService;
+ private final SmsMessageScheduledJobService smsMessageScheduledJobService;
private final SmsCampaignDropdownReadPlatformService smsCampaignDropdownReadPlatformService;
private final AppUserReadPlatformService appUserReadPlatformService;
private final RoleRepository roleRepository;
private static final SecureRandom secureRandom = new SecureRandom();
- @Autowired
- public SelfServiceRegistrationWritePlatformServiceImpl(final SelfServiceRegistrationRepository selfServiceRegistrationRepository,
- final FromJsonHelper fromApiJsonHelper,
- final SelfServiceRegistrationReadPlatformService selfServiceRegistrationReadPlatformService,
- final ClientRepositoryWrapper clientRepository, final PasswordValidationPolicyRepository passwordValidationPolicy,
- final UserDomainService userDomainService, final GmailBackedPlatformEmailService gmailBackedPlatformEmailService,
- final SmsMessageRepository smsMessageRepository, SmsMessageScheduledJobService smsMessageScheduledJobService,
- final SmsCampaignDropdownReadPlatformService smsCampaignDropdownReadPlatformService,
- final AppUserReadPlatformService appUserReadPlatformService, final RoleRepository roleRepository) {
- this.selfServiceRegistrationRepository = selfServiceRegistrationRepository;
- this.fromApiJsonHelper = fromApiJsonHelper;
- this.selfServiceRegistrationReadPlatformService = selfServiceRegistrationReadPlatformService;
- this.clientRepository = clientRepository;
- this.passwordValidationPolicy = passwordValidationPolicy;
- this.userDomainService = userDomainService;
- this.gmailBackedPlatformEmailService = gmailBackedPlatformEmailService;
- this.smsMessageRepository = smsMessageRepository;
- this.smsMessageScheduledJobService = smsMessageScheduledJobService;
- this.smsCampaignDropdownReadPlatformService = smsCampaignDropdownReadPlatformService;
- this.appUserReadPlatformService = appUserReadPlatformService;
- this.roleRepository = roleRepository;
- }
-
@Override
public SelfServiceRegistration createRegistrationRequest(String apiRequestBodyAsJson) {
Gson gson = new Gson();
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/registration/starter/SelfRegistrationConfiguration.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/registration/starter/SelfRegistrationConfiguration.java
new file mode 100644
index 000000000..17e2b7fe1
--- /dev/null
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/registration/starter/SelfRegistrationConfiguration.java
@@ -0,0 +1,66 @@
+/**
+ * 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.self.registration.starter;
+
+import org.apache.fineract.infrastructure.campaigns.sms.service.SmsCampaignDropdownReadPlatformService;
+import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper;
+import org.apache.fineract.infrastructure.core.service.GmailBackedPlatformEmailService;
+import org.apache.fineract.infrastructure.sms.domain.SmsMessageRepository;
+import org.apache.fineract.infrastructure.sms.scheduler.SmsMessageScheduledJobService;
+import org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper;
+import org.apache.fineract.portfolio.self.registration.domain.SelfServiceRegistrationRepository;
+import org.apache.fineract.portfolio.self.registration.service.SelfServiceRegistrationReadPlatformService;
+import org.apache.fineract.portfolio.self.registration.service.SelfServiceRegistrationReadPlatformServiceImpl;
+import org.apache.fineract.portfolio.self.registration.service.SelfServiceRegistrationWritePlatformService;
+import org.apache.fineract.portfolio.self.registration.service.SelfServiceRegistrationWritePlatformServiceImpl;
+import org.apache.fineract.useradministration.domain.PasswordValidationPolicyRepository;
+import org.apache.fineract.useradministration.domain.RoleRepository;
+import org.apache.fineract.useradministration.domain.UserDomainService;
+import org.apache.fineract.useradministration.service.AppUserReadPlatformService;
+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 SelfRegistrationConfiguration {
+
+ @Bean
+ @ConditionalOnMissingBean(SelfServiceRegistrationReadPlatformService.class)
+ public SelfServiceRegistrationReadPlatformService selfServiceRegistrationReadPlatformService(JdbcTemplate jdbcTemplate) {
+ return new SelfServiceRegistrationReadPlatformServiceImpl(jdbcTemplate);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(SelfServiceRegistrationWritePlatformService.class)
+ public SelfServiceRegistrationWritePlatformService selfServiceRegistrationWritePlatformService(
+
+ SelfServiceRegistrationRepository selfServiceRegistrationRepository, FromJsonHelper fromApiJsonHelper,
+ SelfServiceRegistrationReadPlatformService selfServiceRegistrationReadPlatformService, ClientRepositoryWrapper clientRepository,
+ PasswordValidationPolicyRepository passwordValidationPolicy, UserDomainService userDomainService,
+ GmailBackedPlatformEmailService gmailBackedPlatformEmailService, SmsMessageRepository smsMessageRepository,
+ SmsMessageScheduledJobService smsMessageScheduledJobService,
+ SmsCampaignDropdownReadPlatformService smsCampaignDropdownReadPlatformService,
+ AppUserReadPlatformService appUserReadPlatformService, RoleRepository roleRepository) {
+ return new SelfServiceRegistrationWritePlatformServiceImpl(selfServiceRegistrationRepository, fromApiJsonHelper,
+ selfServiceRegistrationReadPlatformService, clientRepository, passwordValidationPolicy, userDomainService,
+ gmailBackedPlatformEmailService, smsMessageRepository, smsMessageScheduledJobService,
+ smsCampaignDropdownReadPlatformService, appUserReadPlatformService, roleRepository);
+ }
+}