protected BpmnModelInstance getBpmnModelInstance() { return Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .callActivity(CALL_ACTIVITY) .calledElement(SUB_PROCESS_ID) .multiInstance() .cardinality("2") .multiInstanceDone() .endEvent() .done(); }
.startEvent() .callActivity("callActivity").calledElement("subprocess") .multiInstance().cardinality("3").multiInstanceDone() .userTask() .endEvent()
@Test public void shouldCompleteParentProcessWithMultiInstance() { final BpmnModelInstance parentProcessInstance = Bpmn.createExecutableProcess("parentProcess") .startEvent() .callActivity("callActivity").calledElement("subprocess") .multiInstance().cardinality("3").multiInstanceDone() .endEvent() .done(); final BpmnModelInstance subprocessInstance = Bpmn.createExecutableProcess("subprocess") .startEvent() .userTask("userTask") .endEvent("subEnd") .done(); testHelper.deploy(parentProcessInstance, subprocessInstance); final String subprocessPrDefId = repositoryService.createProcessDefinitionQuery().processDefinitionKey("subprocess").singleResult().getId(); // given I start the process, which waits at user task inside multiinstance subprocess runtimeService.startProcessInstanceByKey("parentProcess"); final List<ProcessInstance> subprocesses = runtimeService.createProcessInstanceQuery().processDefinitionKey("subprocess").list(); assertEquals(3, subprocesses.size()); // when I do process instance modification runtimeService.createModification(subprocessPrDefId) .cancelAllForActivity("userTask") .startAfterActivity("userTask") .processInstanceIds(collectIds(subprocesses)) .execute(); // then the process should be finished assertThat(runtimeService.createProcessInstanceQuery().count(), is(0L)); }
.callActivity("callActivity") .calledElement("subprocess") .multiInstance() .cardinality("3") .multiInstanceDone()
.callActivity("callActivity") .calledElement("subprocess") .multiInstance() .cardinality("3") .multiInstanceDone()
.callActivity("callActivity") .calledElement("subprocess") .multiInstance() .cardinality("3") .multiInstanceDone()
protected BpmnModelInstance getBpmnModelInstance() { return Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .callActivity(CALL_ACTIVITY) .calledElement(SUB_PROCESS_ID) .multiInstance() .cardinality("2") .multiInstanceDone() .endEvent() .done(); }
.startEvent() .callActivity("callActivity").calledElement("subprocess") .multiInstance().cardinality("3").multiInstanceDone() .userTask() .endEvent()
@Test public void shouldCompleteParentProcessWithMultiInstance() { final BpmnModelInstance parentProcessInstance = Bpmn.createExecutableProcess("parentProcess") .startEvent() .callActivity("callActivity").calledElement("subprocess") .multiInstance().cardinality("3").multiInstanceDone() .endEvent() .done(); final BpmnModelInstance subprocessInstance = Bpmn.createExecutableProcess("subprocess") .startEvent() .userTask("userTask") .endEvent("subEnd") .done(); testHelper.deploy(parentProcessInstance, subprocessInstance); final String subprocessPrDefId = repositoryService.createProcessDefinitionQuery().processDefinitionKey("subprocess").singleResult().getId(); // given I start the process, which waits at user task inside multiinstance subprocess runtimeService.startProcessInstanceByKey("parentProcess"); final List<ProcessInstance> subprocesses = runtimeService.createProcessInstanceQuery().processDefinitionKey("subprocess").list(); assertEquals(3, subprocesses.size()); // when I do process instance modification runtimeService.createModification(subprocessPrDefId) .cancelAllForActivity("userTask") .startAfterActivity("userTask") .processInstanceIds(collectIds(subprocesses)) .execute(); // then the process should be finished assertThat(runtimeService.createProcessInstanceQuery().count(), is(0L)); }
.callActivity("callActivity") .calledElement("subprocess") .multiInstance() .cardinality("3") .multiInstanceDone()
.callActivity("callActivity") .calledElement("subprocess") .multiInstance() .cardinality("3") .multiInstanceDone()
.callActivity("callActivity") .calledElement("subprocess") .multiInstance() .cardinality("3") .multiInstanceDone()