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 4 weeks ago
parent 63f10ef2fc
commit 10084bbd48

@ -19,8 +19,13 @@ public class AuthService {
@Value("${app.security.uri}")
private String securityURI;
private final RestTemplate restTemplate = new RestTemplate();
private final ObjectMapper objectMapper = new ObjectMapper();
private final RestTemplate restTemplate;
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) {

@ -15,7 +15,11 @@ public class CRMService {
@Value("${app.crm.uri}")
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) {
String porOrgacode = workflowRequestDTO.getPorOrgacode();
String url = crmURI + "/crm" + "/mongodb/formdata" ;

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

@ -14,8 +14,10 @@ public class LoanAccountService {
@Value("${app.loan.uri}")
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) {
String porOrgacode = workflowRequestDTO.getPorOrgacode();

@ -19,7 +19,10 @@ public class RejectTransactionService {
@Value("${app.generalledger.uri}")
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) {
String porOrgacode = rejectRequest.getPorOrgacode();

@ -20,7 +20,11 @@ public class ReversalTransactionService {
@Value("${app.generalledger.uri}")
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) {
String porOrgacode = reversalRequest.getPorOrgacode();
String nodeID = reversalRequest.getNodeId();

@ -20,7 +20,10 @@ public class TransactionAuthorizationService {
@Value("${app.generalledger.uri}")
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) {
String porOrgacode = authorizationRequest.getPorOrgacode();

@ -25,10 +25,10 @@ public class TransactionService {
@Value("${app.generalledger.uri}")
private String generalledgerURI;
@Value("${app.onlinebanking.uri}")
private String onlinebankingURI;
private final RestTemplate restTemplate = new RestTemplate();
private final RestTemplate restTemplate;
public TransactionService(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}
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