@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/variables/scope/doer.bpmn"}) public void testWithDelegateVariableMapping () { BpmnModelInstance instance = Bpmn.createExecutableProcess("process1") .startEvent() .subProcess("SubProcess_1") .embeddedSubProcess() .startEvent() .callActivity() .calledElement("Process_StuffDoer") .camundaVariableMappingClass("org.camunda.bpm.engine.test.api.variables.scope.SetVariableMappingDelegate") .serviceTask() .camundaClass("org.camunda.bpm.engine.test.api.variables.scope.AssertVariableScopeDelegate") .endEvent() .subProcessDone() .endEvent() .done(); instance = modify(instance) .activityBuilder("SubProcess_1") .multiInstance() .parallel() .camundaCollection("orderIds") .camundaElementVariable("orderId") .done(); ProcessDefinition processDefinition = testHelper.deployAndGetDefinition(instance); VariableMap variables = Variables.createVariables().putValue("orderIds", Arrays.asList(new int[]{1, 2, 3})); engineRule.getRuntimeService().startProcessInstanceById(processDefinition.getId(),variables); }
@Test public void testMigrateSequentialMultiInstanceEventSubscription() { BpmnModelInstance parallelMiReceiveTaskProcess = modify(MessageReceiveModels.ONE_RECEIVE_TASK_PROCESS) .activityBuilder("receiveTask") .multiInstance() .sequential() .cardinality("3") .done(); ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(parallelMiReceiveTaskProcess); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(parallelMiReceiveTaskProcess); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("receiveTask#multiInstanceBody", "receiveTask#multiInstanceBody") .mapActivities("receiveTask", "receiveTask") .build(); // when ProcessInstance processInstance = testHelper.createProcessInstanceAndMigrate(migrationPlan); testHelper.assertEventSubscriptionsMigrated("receiveTask", "receiveTask", MessageReceiveModels.MESSAGE_NAME); // and it is possible to trigger the receive tasks for (int i = 0; i < 3; i++) { rule.getRuntimeService().correlateMessage(MessageReceiveModels.MESSAGE_NAME); } testHelper.completeTask("userTask"); testHelper.assertProcessEnded(processInstance.getId()); }
@Test public void testMigrateParallelMultiInstanceEventSubscription() { BpmnModelInstance parallelMiReceiveTaskProcess = modify(MessageReceiveModels.ONE_RECEIVE_TASK_PROCESS) .activityBuilder("receiveTask") .multiInstance() .parallel() .cardinality("3") .done(); ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(parallelMiReceiveTaskProcess); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(parallelMiReceiveTaskProcess); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("receiveTask#multiInstanceBody", "receiveTask#multiInstanceBody") .mapActivities("receiveTask", "receiveTask") .build(); // when ProcessInstance processInstance = testHelper.createProcessInstanceAndMigrate(migrationPlan); testHelper.assertEventSubscriptionsMigrated("receiveTask", "receiveTask", MessageReceiveModels.MESSAGE_NAME); // and it is possible to trigger the receive tasks rule.getRuntimeService().createMessageCorrelation(MessageReceiveModels.MESSAGE_NAME).correlateAll(); testHelper.completeTask("userTask"); testHelper.assertProcessEnded(processInstance.getId()); }
instance = modify(instance) .activityBuilder("SubProcess_1") .multiInstance() .parallel() .camundaCollection("orderIds")
modify(CallActivityModels.oneBpmnCallActivityProcess("oneTaskProcess")) .activityBuilder("callActivity") .multiInstance() .sequential() .cardinality("1")
modify(CallActivityModels.oneBpmnCallActivityProcess("oneTaskProcess")) .activityBuilder("callActivity") .multiInstance() .parallel() .cardinality("1")
.multiInstance() .parallel() .cardinality("1")
modify(CallActivityModels.oneCmmnCallActivityProcess("oneTaskCase")) .activityBuilder("callActivity") .multiInstance() .sequential() .cardinality("1")
modify(CallActivityModels.oneCmmnCallActivityProcess("oneTaskCase")) .activityBuilder("callActivity") .multiInstance() .parallel() .cardinality("1")
.multiInstance() .parallel() .cardinality("1")
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/variables/scope/doer.bpmn"}) public void testWithDelegateVariableMapping () { BpmnModelInstance instance = Bpmn.createExecutableProcess("process1") .startEvent() .subProcess("SubProcess_1") .embeddedSubProcess() .startEvent() .callActivity() .calledElement("Process_StuffDoer") .camundaVariableMappingClass("org.camunda.bpm.engine.test.api.variables.scope.SetVariableMappingDelegate") .serviceTask() .camundaClass("org.camunda.bpm.engine.test.api.variables.scope.AssertVariableScopeDelegate") .endEvent() .subProcessDone() .endEvent() .done(); instance = modify(instance) .activityBuilder("SubProcess_1") .multiInstance() .parallel() .camundaCollection("orderIds") .camundaElementVariable("orderId") .done(); ProcessDefinition processDefinition = testHelper.deployAndGetDefinition(instance); VariableMap variables = Variables.createVariables().putValue("orderIds", Arrays.asList(new int[]{1, 2, 3})); engineRule.getRuntimeService().startProcessInstanceById(processDefinition.getId(),variables); }
@Test public void testMigrateParallelMultiInstanceEventSubscription() { BpmnModelInstance parallelMiReceiveTaskProcess = modify(MessageReceiveModels.ONE_RECEIVE_TASK_PROCESS) .activityBuilder("receiveTask") .multiInstance() .parallel() .cardinality("3") .done(); ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(parallelMiReceiveTaskProcess); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(parallelMiReceiveTaskProcess); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("receiveTask#multiInstanceBody", "receiveTask#multiInstanceBody") .mapActivities("receiveTask", "receiveTask") .build(); // when ProcessInstance processInstance = testHelper.createProcessInstanceAndMigrate(migrationPlan); testHelper.assertEventSubscriptionsMigrated("receiveTask", "receiveTask", MessageReceiveModels.MESSAGE_NAME); // and it is possible to trigger the receive tasks rule.getRuntimeService().createMessageCorrelation(MessageReceiveModels.MESSAGE_NAME).correlateAll(); testHelper.completeTask("userTask"); testHelper.assertProcessEnded(processInstance.getId()); }
@Test public void testMigrateSequentialMultiInstanceEventSubscription() { BpmnModelInstance parallelMiReceiveTaskProcess = modify(MessageReceiveModels.ONE_RECEIVE_TASK_PROCESS) .activityBuilder("receiveTask") .multiInstance() .sequential() .cardinality("3") .done(); ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(parallelMiReceiveTaskProcess); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(parallelMiReceiveTaskProcess); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("receiveTask#multiInstanceBody", "receiveTask#multiInstanceBody") .mapActivities("receiveTask", "receiveTask") .build(); // when ProcessInstance processInstance = testHelper.createProcessInstanceAndMigrate(migrationPlan); testHelper.assertEventSubscriptionsMigrated("receiveTask", "receiveTask", MessageReceiveModels.MESSAGE_NAME); // and it is possible to trigger the receive tasks for (int i = 0; i < 3; i++) { rule.getRuntimeService().correlateMessage(MessageReceiveModels.MESSAGE_NAME); } testHelper.completeTask("userTask"); testHelper.assertProcessEnded(processInstance.getId()); }
instance = modify(instance) .activityBuilder("SubProcess_1") .multiInstance() .parallel() .camundaCollection("orderIds")
modify(CallActivityModels.oneBpmnCallActivityProcess("oneTaskProcess")) .activityBuilder("callActivity") .multiInstance() .sequential() .cardinality("1")
modify(CallActivityModels.oneBpmnCallActivityProcess("oneTaskProcess")) .activityBuilder("callActivity") .multiInstance() .parallel() .cardinality("1")
.multiInstance() .parallel() .cardinality("1")
modify(CallActivityModels.oneCmmnCallActivityProcess("oneTaskCase")) .activityBuilder("callActivity") .multiInstance() .parallel() .cardinality("1")
modify(CallActivityModels.oneCmmnCallActivityProcess("oneTaskCase")) .activityBuilder("callActivity") .multiInstance() .sequential() .cardinality("1")
.multiInstance() .parallel() .cardinality("1")