From 5b5f81b3f8044f3657bd9647e335be03e3b77a20 Mon Sep 17 00:00:00 2001 From: Luc Weinbrecht Date: Fri, 27 May 2022 06:15:54 +0200 Subject: [PATCH] setting business key for loan agreement --- .../loan/agreement/adapter/common/ProcessConstants.java | 1 + .../adapter/in/process/SendCrossSellingRecommendation.java | 6 +++--- .../agreement/adapter/out/process/ProcessEngineClient.java | 4 ++-- .../in/process/SendCrossSellingRecommendationTest.java | 6 ++++-- .../adapter/out/process/ProcessEngineClientTest.java | 1 + 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/loan-agreement/src/main/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/common/ProcessConstants.java b/loan-agreement/src/main/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/common/ProcessConstants.java index 905246c..b0623d6 100644 --- a/loan-agreement/src/main/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/common/ProcessConstants.java +++ b/loan-agreement/src/main/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/common/ProcessConstants.java @@ -6,6 +6,7 @@ public class ProcessConstants { public static final String LOAN_AGREEMENT_NUMBER = "loanAgreementNumber"; public static final String RECOMMENDATION_START_EVENT_MESSAGE_REF = "crossSellingPotentialDiscoveredMessage"; public static final String RECOMMENDATION_CUSTOMER_NUMBER = "customerNumber"; + public static final String BUSINESS_KEY = "businessKey"; public static final String LOAN_AGREEMENT_TASK = "approve-loan-agreement"; public static final String LOAN_REJECTION_TASK = "reject-loan-agreement"; diff --git a/loan-agreement/src/main/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/in/process/SendCrossSellingRecommendation.java b/loan-agreement/src/main/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/in/process/SendCrossSellingRecommendation.java index 4063a34..bb621a4 100644 --- a/loan-agreement/src/main/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/in/process/SendCrossSellingRecommendation.java +++ b/loan-agreement/src/main/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/in/process/SendCrossSellingRecommendation.java @@ -11,8 +11,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; -import static de.weinbrecht.luc.bpm.architecture.loan.agreement.adapter.common.ProcessConstants.LOAN_AGREEMENT_NUMBER; -import static de.weinbrecht.luc.bpm.architecture.loan.agreement.adapter.common.ProcessConstants.SEND_CROSS_SELLING_RECOMMENDATION_TASK; +import static de.weinbrecht.luc.bpm.architecture.loan.agreement.adapter.common.ProcessConstants.*; @RequiredArgsConstructor @Component @@ -24,9 +23,10 @@ public class SendCrossSellingRecommendation { @ZeebeWorker(type = SEND_CROSS_SELLING_RECOMMENDATION_TASK, fetchVariables = LOAN_AGREEMENT_NUMBER) public void handleJobFoo(final JobClient client, final ActivatedJob job) { Long loanAgreementNumber = ((Number) job.getVariablesAsMap().get(LOAN_AGREEMENT_NUMBER)).longValue(); + String businessKey = (String) job.getVariablesAsMap().get(BUSINESS_KEY); LoanAgreement loanAgreement = loanAgreementQuery.loadByNumber(new LoanAgreementNumber(loanAgreementNumber)); - recommendationTrigger.startLoanAgreement(new CaseId("11"), loanAgreement); + recommendationTrigger.startLoanAgreement(new CaseId(businessKey), loanAgreement); client.newCompleteCommand(job.getKey()) .send() diff --git a/loan-agreement/src/main/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/out/process/ProcessEngineClient.java b/loan-agreement/src/main/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/out/process/ProcessEngineClient.java index 7f2f352..186d2c6 100644 --- a/loan-agreement/src/main/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/out/process/ProcessEngineClient.java +++ b/loan-agreement/src/main/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/out/process/ProcessEngineClient.java @@ -10,8 +10,7 @@ import java.util.HashMap; import java.util.Map; -import static de.weinbrecht.luc.bpm.architecture.loan.agreement.adapter.common.ProcessConstants.LOAN_AGREEMENT_NUMBER; -import static de.weinbrecht.luc.bpm.architecture.loan.agreement.adapter.common.ProcessConstants.LOAN_START_EVENT_MESSAGE_REF; +import static de.weinbrecht.luc.bpm.architecture.loan.agreement.adapter.common.ProcessConstants.*; @RequiredArgsConstructor @Component @@ -23,6 +22,7 @@ class ProcessEngineClient implements WorkflowCommand { public void startLoanAgreement(CaseId caseId, LoanAgreementNumber loanAgreementNumber) { Map processVariables = new HashMap<>(); processVariables.put(LOAN_AGREEMENT_NUMBER, loanAgreementNumber.getValue()); + processVariables.put(BUSINESS_KEY, caseId.getValue()); client.newPublishMessageCommand() .messageName(LOAN_START_EVENT_MESSAGE_REF) .correlationKey("") diff --git a/loan-agreement/src/test/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/in/process/SendCrossSellingRecommendationTest.java b/loan-agreement/src/test/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/in/process/SendCrossSellingRecommendationTest.java index c0e9f93..d375463 100644 --- a/loan-agreement/src/test/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/in/process/SendCrossSellingRecommendationTest.java +++ b/loan-agreement/src/test/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/in/process/SendCrossSellingRecommendationTest.java @@ -14,6 +14,7 @@ import java.util.HashMap; import java.util.Map; +import static de.weinbrecht.luc.bpm.architecture.loan.agreement.adapter.common.ProcessConstants.BUSINESS_KEY; import static de.weinbrecht.luc.bpm.architecture.loan.agreement.adapter.common.ProcessConstants.LOAN_AGREEMENT_NUMBER; import static de.weinbrecht.luc.bpm.architecture.loan.agreement.domain.model.TestdataGenerator.createLoanAgreementWithNumber; import static org.mockito.Answers.RETURNS_DEEP_STUBS; @@ -34,11 +35,12 @@ class SendCrossSellingRecommendationTest { @Test void should_load_data_and_start_process_by_message() { LoanAgreement loanAgreement = createLoanAgreementWithNumber(); - String caseId = "11"; + CaseId caseId = new CaseId("11"); JobClient client = mock(JobClient.class, RETURNS_DEEP_STUBS); ActivatedJob job = mock(ActivatedJob.class); Map variables = new HashMap<>(); variables.put(LOAN_AGREEMENT_NUMBER, loanAgreement.getLoanAgreementNumber().getValue().intValue()); + variables.put(BUSINESS_KEY, caseId.getValue()); when(job.getVariablesAsMap()).thenReturn(variables); when(job.getKey()).thenReturn(1L); when(loanAgreementQuery.loadByNumber(loanAgreement.getLoanAgreementNumber())).thenReturn(loanAgreement); @@ -47,6 +49,6 @@ void should_load_data_and_start_process_by_message() { verify(client.newCompleteCommand(job.getKey())).send(); - verify(recommendationTrigger).startLoanAgreement(new CaseId(caseId), loanAgreement); + verify(recommendationTrigger).startLoanAgreement(caseId, loanAgreement); } } \ No newline at end of file diff --git a/loan-agreement/src/test/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/out/process/ProcessEngineClientTest.java b/loan-agreement/src/test/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/out/process/ProcessEngineClientTest.java index 1151f8b..d21db6d 100644 --- a/loan-agreement/src/test/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/out/process/ProcessEngineClientTest.java +++ b/loan-agreement/src/test/java/de/weinbrecht/luc/bpm/architecture/loan/agreement/adapter/out/process/ProcessEngineClientTest.java @@ -31,6 +31,7 @@ class ProcessEngineClientTest { void should_call_zeebe_to_start_reommendation() { Map processVariables = new HashMap<>(); processVariables.put(LOAN_AGREEMENT_NUMBER, loanAgreementNumber.getValue()); + processVariables.put(BUSINESS_KEY, caseId.getValue()); classUnderTest.startLoanAgreement(caseId, loanAgreementNumber);