Refactor services to inject RestTemplate via constructor

Updated all service classes to receive RestTemplate (and ObjectMapper where needed) through constructor injection instead of instantiating them directly. Removed the RestTemplateConfig class, as RestTemplate is now expected to be provided externally, improving testability and configuration flexibility.
ACONNECT-DEPOSITACCOUNT-API
Naeem Ullah 1 month ago
parent 63f10ef2fc
commit 10084bbd48

@ -19,8 +19,13 @@ public class AuthService {
@Value("${app.security.uri}") @Value("${app.security.uri}")
private String securityURI; private String securityURI;
private final RestTemplate restTemplate = new RestTemplate(); private final RestTemplate restTemplate;
private final ObjectMapper objectMapper = new ObjectMapper(); private final ObjectMapper objectMapper;
public AuthService(RestTemplate restTemplate, ObjectMapper objectMapper) {
this.restTemplate = restTemplate;
this.objectMapper = objectMapper;
}
public Map<String, Object> authenticate(Map<String, String> payload) { public Map<String, Object> authenticate(Map<String, String> payload) {

@ -15,7 +15,11 @@ public class CRMService {
@Value("${app.crm.uri}") @Value("${app.crm.uri}")
private String crmURI; private String crmURI;
private final RestTemplate restTemplate = new RestTemplate(); private final RestTemplate restTemplate;
public CRMService(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}
public Object createIndividualCRM(WorkflowRequestDTO workflowRequestDTO, String token) { public Object createIndividualCRM(WorkflowRequestDTO workflowRequestDTO, String token) {
String porOrgacode = workflowRequestDTO.getPorOrgacode(); String porOrgacode = workflowRequestDTO.getPorOrgacode();
String url = crmURI + "/crm" + "/mongodb/formdata" ; String url = crmURI + "/crm" + "/mongodb/formdata" ;

@ -21,6 +21,11 @@ public class CancellationTransactionService {
@Value("${app.generalledger.uri}") @Value("${app.generalledger.uri}")
private String generalledgerURI; private String generalledgerURI;
private final RestTemplate restTemplate;
public CancellationTransactionService(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}
public Object processDepositCancellationTransaction(DepositCancellationDTO depositCancellationDTO, String tokenHeader) { public Object processDepositCancellationTransaction(DepositCancellationDTO depositCancellationDTO, String tokenHeader) {
String porOrgacode = depositCancellationDTO.getPorOrgacode(); String porOrgacode = depositCancellationDTO.getPorOrgacode();
String url = depositURI + "/deposit" + "/organizations/" + depositCancellationDTO.getPorOrgacode() + String url = depositURI + "/deposit" + "/organizations/" + depositCancellationDTO.getPorOrgacode() +
@ -34,7 +39,6 @@ public class CancellationTransactionService {
headers.setContentType(MediaType.APPLICATION_JSON); headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<DepositCancellationDTO> entity = new HttpEntity<>(depositCancellationDTO, headers); HttpEntity<DepositCancellationDTO> entity = new HttpEntity<>(depositCancellationDTO, headers);
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<Map> response = restTemplate.exchange( ResponseEntity<Map> response = restTemplate.exchange(
url, url,
@ -59,8 +63,6 @@ public class CancellationTransactionService {
headers.setContentType(MediaType.APPLICATION_JSON); headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<GLCancellationDTO> entity = new HttpEntity<>(glCancellationDTO, headers); HttpEntity<GLCancellationDTO> entity = new HttpEntity<>(glCancellationDTO, headers);
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<Map> response = restTemplate.exchange( ResponseEntity<Map> response = restTemplate.exchange(
url, url,
HttpMethod.POST, HttpMethod.POST,

@ -14,8 +14,10 @@ public class LoanAccountService {
@Value("${app.loan.uri}") @Value("${app.loan.uri}")
private String loanURI; private String loanURI;
private final RestTemplate restTemplate = new RestTemplate(); private final RestTemplate restTemplate;
public LoanAccountService(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}
public Object createIndividualLoan(WorkflowRequestDTO workflowRequestDTO, String token) { public Object createIndividualLoan(WorkflowRequestDTO workflowRequestDTO, String token) {
String porOrgacode = workflowRequestDTO.getPorOrgacode(); String porOrgacode = workflowRequestDTO.getPorOrgacode();

@ -19,7 +19,10 @@ public class RejectTransactionService {
@Value("${app.generalledger.uri}") @Value("${app.generalledger.uri}")
private String generalledgerURI; private String generalledgerURI;
private final RestTemplate restTemplate = new RestTemplate(); private final RestTemplate restTemplate;
public RejectTransactionService(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}
public Object processDepositRejectionTransaction(DepositRejectDTO rejectRequest, String tokenHeader) { public Object processDepositRejectionTransaction(DepositRejectDTO rejectRequest, String tokenHeader) {
String porOrgacode = rejectRequest.getPorOrgacode(); String porOrgacode = rejectRequest.getPorOrgacode();

@ -20,7 +20,11 @@ public class ReversalTransactionService {
@Value("${app.generalledger.uri}") @Value("${app.generalledger.uri}")
private String generalledgerURI; private String generalledgerURI;
private final RestTemplate restTemplate = new RestTemplate(); private final RestTemplate restTemplate;
public ReversalTransactionService(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}
public Object processDepositReversalTransaction(DepositReversalDTO reversalRequest, String tokenHeader) { public Object processDepositReversalTransaction(DepositReversalDTO reversalRequest, String tokenHeader) {
String porOrgacode = reversalRequest.getPorOrgacode(); String porOrgacode = reversalRequest.getPorOrgacode();
String nodeID = reversalRequest.getNodeId(); String nodeID = reversalRequest.getNodeId();

@ -20,7 +20,10 @@ public class TransactionAuthorizationService {
@Value("${app.generalledger.uri}") @Value("${app.generalledger.uri}")
private String generalledgerURI; private String generalledgerURI;
private final RestTemplate restTemplate = new RestTemplate(); private final RestTemplate restTemplate;
public TransactionAuthorizationService(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}
public Object processDepositAuthTransaction(DepositAuthorizationRequest authorizationRequest, String tokenHeader) { public Object processDepositAuthTransaction(DepositAuthorizationRequest authorizationRequest, String tokenHeader) {
String porOrgacode = authorizationRequest.getPorOrgacode(); String porOrgacode = authorizationRequest.getPorOrgacode();

@ -25,10 +25,10 @@ public class TransactionService {
@Value("${app.generalledger.uri}") @Value("${app.generalledger.uri}")
private String generalledgerURI; private String generalledgerURI;
@Value("${app.onlinebanking.uri}") private final RestTemplate restTemplate;
private String onlinebankingURI; public TransactionService(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
private final RestTemplate restTemplate = new RestTemplate(); }
public ResponseEntity getActiveAccountDetails(String porOrgacode, String mbmBkmsnumber, LocalDate sgtGntrvaluedate, String tokenHeader, String userCode) { public ResponseEntity getActiveAccountDetails(String porOrgacode, String mbmBkmsnumber, LocalDate sgtGntrvaluedate, String tokenHeader, String userCode) {

@ -1,15 +0,0 @@
package com.mfsys.aconnect.configuration.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
@Configuration
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate(new HttpComponentsClientHttpRequestFactory());
}
}
Loading…
Cancel
Save