Skip to content

Commit bfc1cca

Browse files
authored
[PHEE-721] Fix /gsma/transcation API to work with different dfspids. (#83)
1 parent d26cd40 commit bfc1cca

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

src/main/java/org/mifos/connector/ams/interop/AmsCommonService.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import static org.apache.camel.Exchange.HTTP_PATH;
55
import static org.mifos.connector.ams.camel.config.CamelProperties.TRANSFER_ACTION;
66
import static org.mifos.connector.ams.camel.cxfrs.HeaderBasedInterceptor.CXF_TRACE_HEADER;
7+
import static org.mifos.connector.ams.zeebe.ZeebeVariables.ACCOUNT_HOLDING_INSTITUTION_ID;
78
import static org.mifos.connector.ams.zeebe.ZeebeVariables.ACCOUNT_NUMBER;
89
import static org.mifos.connector.ams.zeebe.ZeebeVariables.PARTY_ID;
910
import static org.mifos.connector.ams.zeebe.ZeebeVariables.PARTY_ID_TYPE;
@@ -118,7 +119,9 @@ public void repayLoan(Exchange e) {
118119
headers.put(HTTP_PATH, amsLoanRepaymentPath.replace("{accountNumber}", e.getProperty(ACCOUNT_NUMBER, String.class)));
119120
logger.debug("Loan Repayment Body: {}", e.getIn().getBody());
120121
headers.put("Content-Type", APPLICATION_TYPE);
121-
headers.putAll(tenantService.getHeaders(e.getProperty(TENANT_ID, String.class)));
122+
Map<String, Object> variables = e.getProperty("zeebeVariables", Map.class);
123+
String accountHoldingInstitutionId = (String) variables.get(ACCOUNT_HOLDING_INSTITUTION_ID);
124+
headers.putAll(tenantService.getHeaders(accountHoldingInstitutionId));
122125
if (isAmsLocalEnabled) {
123126
cxfrsUtil.sendInOut("cxfrs:bean:ams.local.loan", e, headers, e.getIn().getBody());
124127
} else {

src/main/java/org/mifos/connector/ams/zeebe/ZeebeVariables.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public final class ZeebeVariables {
2424
public static final String QUOTE_SWITCH_REQUEST = "quoteSwitchRequest";
2525
public static final String QUOTE_SWITCH_REQUEST_AMOUNT = "quoteSwitchRequestAmount";
2626
public static final String TENANT_ID = "tenantId";
27+
public static final String ACCOUNT_HOLDING_INSTITUTION_ID = "accountHoldingInstitutionId";
2728
public static final String BOOK_TRANSACTION_ID = "bookTransactionId";
2829
public static final String TRANSACTION_ID = "transactionId";
2930
public static final String TRANSFER_CODE = "transferCode";

src/main/java/org/mifos/connector/ams/zeebe/ZeebeeWorkers.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import static org.mifos.connector.ams.zeebe.ZeebeUtil.zeebeVariablesToCamelProperties;
1111
import static org.mifos.connector.ams.zeebe.ZeebeVariables.ACCOUNT;
1212
import static org.mifos.connector.ams.zeebe.ZeebeVariables.ACCOUNT_CURRENCY;
13+
import static org.mifos.connector.ams.zeebe.ZeebeVariables.ACCOUNT_HOLDING_INSTITUTION_ID;
1314
import static org.mifos.connector.ams.zeebe.ZeebeVariables.ACCOUNT_IDENTIFIER;
1415
import static org.mifos.connector.ams.zeebe.ZeebeVariables.ACCOUNT_NUMBER;
1516
import static org.mifos.connector.ams.zeebe.ZeebeVariables.BOOK_TRANSACTION_ID;
@@ -410,11 +411,11 @@ public void setupWorkers() {
410411
Map<String, Object> existingVariables = job.getVariablesAsMap();
411412
logger.debug("Exisiting variables {}", existingVariables);
412413

413-
String tenantId = (String) existingVariables.get(TENANT_ID);
414-
414+
String accountHoldingInstitutionId = (String) existingVariables.get(ACCOUNT_HOLDING_INSTITUTION_ID);
415415
Exchange ex = new DefaultExchange(camelContext);
416416
Map<String, Object> variables = job.getVariablesAsMap();
417-
zeebeVariablesToCamelProperties(variables, ex, TRANSACTION_ID, TENANT_ID, CHANNEL_REQUEST);
417+
zeebeVariablesToCamelProperties(variables, ex, TRANSACTION_ID, accountHoldingInstitutionId, CHANNEL_REQUEST);
418+
418419
ex.setProperty(TRANSFER_ACTION, CREATE.name());
419420
ex.setProperty("payeeTenantId", existingVariables.get("payeeTenantId"));
420421
ex.setProperty(ZEEBE_JOB_KEY, job.getKey());
@@ -440,7 +441,7 @@ public void setupWorkers() {
440441
logWorkerDetails(job);
441442
Map<String, Object> existingVariables = job.getVariablesAsMap();
442443
logger.debug("Exisiting variables {}", existingVariables);
443-
String accountHoldingInstitutionId = (String) existingVariables.get(TENANT_ID);
444+
String accountHoldingInstitutionId = (String) existingVariables.get(ACCOUNT_HOLDING_INSTITUTION_ID);
444445
Exchange ex = new DefaultExchange(camelContext);
445446
Map<String, Object> variables = job.getVariablesAsMap();
446447
GsmaTransfer gsmaTransfer = objectMapper.readValue((String) variables.get(CHANNEL_REQUEST), GsmaTransfer.class);

0 commit comments

Comments
 (0)