Skip to content

Commit a10de36

Browse files
authored
Adding Header (#136)
1 parent 33d7250 commit a10de36

File tree

4 files changed

+10
-3
lines changed

4 files changed

+10
-3
lines changed

Diff for: src/main/java/org/mifos/connector/channel/api/definition/TransferApi.java

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import static org.mifos.connector.channel.camel.config.CamelProperties.BATCH_ID_HEADER;
44
import static org.mifos.connector.channel.camel.config.CamelProperties.CLIENTCORRELATIONID;
5+
import static org.mifos.connector.channel.camel.config.CamelProperties.REGISTERING_INSTITUTION_ID;
56

67
import com.fasterxml.jackson.core.JsonProcessingException;
78
import org.mifos.connector.channel.gsma_api.GsmaP2PResponseDto;
@@ -19,6 +20,7 @@ public interface TransferApi {
1920
GsmaP2PResponseDto transfer(@RequestHeader(value = "Platform-TenantId") String tenant,
2021
@RequestHeader(value = BATCH_ID_HEADER, required = false) String batchId,
2122
@RequestHeader(value = CLIENTCORRELATIONID, required = false) String correlationId,
23+
@RequestHeader(value = REGISTERING_INSTITUTION_ID, required = false) String registeringInstitutionId,
2224
@RequestBody TransactionChannelRequestDTO requestBody) throws JsonProcessingException;
2325

2426
@GetMapping("/channel/transfer/{transactionId}")

Diff for: src/main/java/org/mifos/connector/channel/api/implementation/TransferApiController.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import static org.mifos.connector.channel.camel.config.CamelProperties.BATCH_ID;
44
import static org.mifos.connector.channel.camel.config.CamelProperties.CLIENTCORRELATIONID;
5+
import static org.mifos.connector.channel.camel.config.CamelProperties.REGISTERING_INSTITUTION_ID;
56

67
import com.fasterxml.jackson.core.JsonProcessingException;
78
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -30,10 +31,10 @@ public class TransferApiController implements TransferApi {
3031
private Logger logger = LoggerFactory.getLogger(this.getClass());
3132

3233
@Override
33-
public GsmaP2PResponseDto transfer(String tenant, String batchId, String correlationId, TransactionChannelRequestDTO requestBody)
34-
throws JsonProcessingException {
34+
public GsmaP2PResponseDto transfer(String tenant, String batchId, String correlationId, String registeringInstitutionId,
35+
TransactionChannelRequestDTO requestBody) throws JsonProcessingException {
3536
Headers headers = new Headers.HeaderBuilder().addHeader("Platform-TenantId", tenant).addHeader(BATCH_ID, batchId)
36-
.addHeader(CLIENTCORRELATIONID, correlationId).build();
37+
.addHeader(CLIENTCORRELATIONID, correlationId).addHeader(REGISTERING_INSTITUTION_ID, registeringInstitutionId).build();
3738
Exchange exchange = SpringWrapperUtil.getDefaultWrappedExchange(producerTemplate.getCamelContext(), headers,
3839
objectMapper.writeValueAsString(requestBody));
3940
logger.info("Client correlation id: " + correlationId);

Diff for: src/main/java/org/mifos/connector/channel/camel/config/CamelProperties.java

+1
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@ private CamelProperties() {}
1111
public static final String BATCH_ID_HEADER = "X-BatchID";
1212
public static final String PLATFORM_TENANT_ID = "Platform-TenantId";
1313
public static final String PAYMENT_SCHEME_HEADER = "X-Payment-Scheme";
14+
public static final String REGISTERING_INSTITUTION_ID = "X-Registering-Institution-ID";
1415

1516
}

Diff for: src/main/java/org/mifos/connector/channel/camel/routes/ChannelRouteBuilder.java

+3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import static org.mifos.connector.channel.camel.config.CamelProperties.BATCH_ID;
88
import static org.mifos.connector.channel.camel.config.CamelProperties.CLIENTCORRELATIONID;
99
import static org.mifos.connector.channel.camel.config.CamelProperties.PAYMENT_SCHEME_HEADER;
10+
import static org.mifos.connector.channel.camel.config.CamelProperties.REGISTERING_INSTITUTION_ID;
1011
import static org.mifos.connector.channel.zeebe.ZeebeMessages.OPERATOR_MANUAL_RECOVERY;
1112
import static org.mifos.connector.channel.zeebe.ZeebeVariables.ACCOUNT;
1213
import static org.mifos.connector.channel.zeebe.ZeebeVariables.AMS;
@@ -306,12 +307,14 @@ private void transferRoutes() {
306307
extraVariables.put(BATCH_ID, batchIdHeader);
307308

308309
String tenantId = exchange.getIn().getHeader("Platform-TenantId", String.class);
310+
String registeringInstitutionId = exchange.getIn().getHeader("X-Registering-Institution-ID", String.class);
309311
String clientCorrelationId = exchange.getIn().getHeader("X-CorrelationID", String.class);
310312
logger.info("## CHANNEL Client Correlation Id: " + clientCorrelationId);
311313
if (tenantId == null || !dfspIds.contains(tenantId)) {
312314
throw new RuntimeException("Requested tenant " + tenantId + " not configured in the connector!");
313315
}
314316
extraVariables.put(TENANT_ID, tenantId);
317+
extraVariables.put(REGISTERING_INSTITUTION_ID, registeringInstitutionId);
315318

316319
TransactionChannelRequestDTO channelRequest = exchange.getIn().getBody(TransactionChannelRequestDTO.class);
317320
TransactionType transactionType = new TransactionType();

0 commit comments

Comments
 (0)