@Override public BpmnModelInstance getSourceProcess() { return modify(ProcessModels.SUBPROCESS_PROCESS) .addSubProcessTo(EventSubProcessModels.SUB_PROCESS_ID) .triggerByEvent() .embeddedSubProcess() .startEvent(EVENT_SUB_PROCESS_START_ID).timerWithDate(TIMER_DATE) .userTask(EVENT_SUB_PROCESS_TASK_ID) .endEvent() .subProcessDone() .done(); }
@Override public BpmnModelInstance getSourceProcess() { return modify(ProcessModels.SUBPROCESS_PROCESS) .addSubProcessTo(EventSubProcessModels.SUB_PROCESS_ID) .triggerByEvent() .embeddedSubProcess() .startEvent(EVENT_SUB_PROCESS_START_ID).signal(EventSubProcessModels.SIGNAL_NAME) .userTask(EVENT_SUB_PROCESS_TASK_ID) .endEvent() .subProcessDone() .done(); }
@Override public BpmnModelInstance getSourceProcess() { return modify(ProcessModels.SUBPROCESS_PROCESS) .addSubProcessTo(EventSubProcessModels.SUB_PROCESS_ID) .triggerByEvent() .embeddedSubProcess() .startEvent(EVENT_SUB_PROCESS_START_ID) .condition(EventSubProcessModels.VAR_CONDITION) .userTask(EVENT_SUB_PROCESS_TASK_ID) .endEvent() .subProcessDone() .done(); }
@Override public MigratingBpmnEventTrigger addEventSubProcess(ProcessEngine engine, BpmnModelInstance modelInstance, String parentId, String subProcessId, String startEventId) { ModifiableBpmnModelInstance.wrap(modelInstance) .addSubProcessTo(parentId) .id(subProcessId) .triggerByEvent() .embeddedSubProcess() .startEvent(startEventId).timerWithDuration("PT10M") .subProcessDone() .done(); TimerEventTrigger trigger = new TimerEventTrigger(); trigger.engine = engine; trigger.activityId = startEventId; trigger.handlerType = TimerStartEventSubprocessJobHandler.TYPE; return trigger; }
@Override public MigratingBpmnEventTrigger addEventSubProcess(ProcessEngine engine, BpmnModelInstance modelInstance, String parentId, String subProcessId, String startEventId) { ModifiableBpmnModelInstance.wrap(modelInstance) .addSubProcessTo(parentId) .id(subProcessId) .triggerByEvent() .embeddedSubProcess() .startEvent(startEventId).signal(SIGNAL_NAME) .subProcessDone() .done(); SignalTrigger trigger = new SignalTrigger(); trigger.engine = engine; trigger.signalName = SIGNAL_NAME; trigger.activityId = startEventId; return trigger; }
@Override public MigratingBpmnEventTrigger addEventSubProcess(ProcessEngine engine, BpmnModelInstance modelInstance, String parentId, String subProcessId, String startEventId) { ModifiableBpmnModelInstance.wrap(modelInstance) .addSubProcessTo(parentId) .id(subProcessId) .triggerByEvent() .embeddedSubProcess() .startEvent(startEventId).message(MESSAGE_NAME) .subProcessDone() .done(); MessageTrigger trigger = new MessageTrigger(); trigger.engine = engine; trigger.messageName = MESSAGE_NAME; trigger.activityId = startEventId; return trigger; }
@Override public MigratingBpmnEventTrigger addEventSubProcess(ProcessEngine engine, BpmnModelInstance modelInstance, String parentId, String subProcessId, String startEventId) { ModifiableBpmnModelInstance.wrap(modelInstance) .addSubProcessTo(parentId) .id(subProcessId) .triggerByEvent() .embeddedSubProcess() .startEvent(startEventId) .condition(VAR_CONDITION) .subProcessDone() .done(); ConditionalEventTrigger trigger = new ConditionalEventTrigger(); trigger.engine = engine; trigger.variableName = "any"; trigger.variableValue = "any"; trigger.activityId = startEventId; return trigger; }
.endEvent() .subProcessDone() .done();
@Test public void testMapProcessDefinitionWithEventSubProcess() { BpmnModelInstance testProcess = modify(ProcessModels.ONE_TASK_PROCESS) .addSubProcessTo(ProcessModels.PROCESS_KEY) .triggerByEvent() .embeddedSubProcess() .startEvent().message(MESSAGE_NAME) .endEvent() .subProcessDone() .done(); ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(testProcess); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(testProcess); MigrationPlan migrationPlan = runtimeService .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("userTask", "userTask") .build(); assertThat(migrationPlan) .hasSourceProcessDefinition(sourceProcessDefinition) .hasTargetProcessDefinition(targetProcessDefinition) .hasInstructions( migrate("userTask").to("userTask") ); }
@Test public void testMapActivityWithUnmappedParentWhichHasAEventSubProcessChild() { BpmnModelInstance testProcess = modify(ProcessModels.SUBPROCESS_PROCESS) .addSubProcessTo("subProcess") .triggerByEvent() .embeddedSubProcess() .startEvent().message(MESSAGE_NAME) .endEvent() .subProcessDone() .done(); ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(testProcess); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(testProcess); MigrationPlan migrationPlan = runtimeService .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("userTask", "userTask") .build(); assertThat(migrationPlan) .hasSourceProcessDefinition(sourceProcessDefinition) .hasTargetProcessDefinition(targetProcessDefinition) .hasInstructions( migrate("userTask").to("userTask") ); }
@Test public void testMigrateProcessInstanceWithEventSubProcess() { BpmnModelInstance testProcess = modify(ProcessModels.ONE_TASK_PROCESS) .addSubProcessTo(ProcessModels.PROCESS_KEY) .id("eventSubProcess") .triggerByEvent() .embeddedSubProcess() .startEvent("eventSubProcessStart").message(MESSAGE_NAME) .endEvent() .subProcessDone() .done(); assertGeneratedMigrationPlan(testProcess, testProcess) .hasInstructions( migrate("eventSubProcess").to("eventSubProcess"), migrate("eventSubProcessStart").to("eventSubProcessStart"), migrate("userTask").to("userTask") ); assertGeneratedMigrationPlan(testProcess, ProcessModels.ONE_TASK_PROCESS) .hasInstructions( migrate("userTask").to("userTask") ); assertGeneratedMigrationPlan(ProcessModels.ONE_TASK_PROCESS, testProcess) .hasInstructions( migrate("userTask").to("userTask") ); }
@Test public void testMapUserTaskInEventSubProcess() { BpmnModelInstance testProcess = modify(ProcessModels.SUBPROCESS_PROCESS) .addSubProcessTo("subProcess") .triggerByEvent() .embeddedSubProcess() .startEvent().message(MESSAGE_NAME) .userTask("innerTask") .endEvent() .subProcessDone() .done(); ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(testProcess); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(testProcess); MigrationPlan migrationPlan = runtimeService .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("userTask", "userTask") .mapActivities("innerTask", "innerTask") .build(); assertThat(migrationPlan) .hasSourceProcessDefinition(sourceProcessDefinition) .hasTargetProcessDefinition(targetProcessDefinition) .hasInstructions( migrate("userTask").to("userTask"), migrate("innerTask").to("innerTask") ); }
@Test public void testMigrateSubProcessWithEventSubProcess() { BpmnModelInstance testProcess = modify(ProcessModels.SUBPROCESS_PROCESS) .addSubProcessTo("subProcess") .id("eventSubProcess") .triggerByEvent() .embeddedSubProcess() .startEvent("eventSubProcessStart").message(MESSAGE_NAME) .endEvent() .subProcessDone() .done(); assertGeneratedMigrationPlan(testProcess, testProcess) .hasInstructions( migrate("eventSubProcess").to("eventSubProcess"), migrate("eventSubProcessStart").to("eventSubProcessStart"), migrate("subProcess").to("subProcess"), migrate("userTask").to("userTask") ); assertGeneratedMigrationPlan(testProcess, ProcessModels.SUBPROCESS_PROCESS) .hasInstructions( migrate("subProcess").to("subProcess"), migrate("userTask").to("userTask") ); assertGeneratedMigrationPlan(ProcessModels.SUBPROCESS_PROCESS, testProcess) .hasInstructions( migrate("subProcess").to("subProcess"), migrate("userTask").to("userTask") ); }
.endEvent() .subProcessDone() .done();
.endEvent() .subProcessDone() .done(); CompensationModels.addUserTaskCompensationHandler(sourceModel, "compensationBoundary", "compensationHandler");
@Override public BpmnModelInstance getSourceProcess() { return modify(ProcessModels.SUBPROCESS_PROCESS) .addSubProcessTo(EventSubProcessModels.SUB_PROCESS_ID) .triggerByEvent() .embeddedSubProcess() .startEvent(EVENT_SUB_PROCESS_START_ID).signal(EventSubProcessModels.SIGNAL_NAME) .userTask(EVENT_SUB_PROCESS_TASK_ID) .endEvent() .subProcessDone() .done(); }
@Override public BpmnModelInstance getSourceProcess() { return modify(ProcessModels.SUBPROCESS_PROCESS) .addSubProcessTo(EventSubProcessModels.SUB_PROCESS_ID) .triggerByEvent() .embeddedSubProcess() .startEvent(EVENT_SUB_PROCESS_START_ID).timerWithDate(TIMER_DATE) .userTask(EVENT_SUB_PROCESS_TASK_ID) .endEvent() .subProcessDone() .done(); }
@Override public BpmnModelInstance getSourceProcess() { return modify(ProcessModels.SUBPROCESS_PROCESS) .addSubProcessTo(EventSubProcessModels.SUB_PROCESS_ID) .triggerByEvent() .embeddedSubProcess() .startEvent(EVENT_SUB_PROCESS_START_ID) .condition(EventSubProcessModels.VAR_CONDITION) .userTask(EVENT_SUB_PROCESS_TASK_ID) .endEvent() .subProcessDone() .done(); }
@Override public MigratingBpmnEventTrigger addEventSubProcess(ProcessEngine engine, BpmnModelInstance modelInstance, String parentId, String subProcessId, String startEventId) { ModifiableBpmnModelInstance.wrap(modelInstance) .addSubProcessTo(parentId) .id(subProcessId) .triggerByEvent() .embeddedSubProcess() .startEvent(startEventId).message(MESSAGE_NAME) .subProcessDone() .done(); MessageTrigger trigger = new MessageTrigger(); trigger.engine = engine; trigger.messageName = MESSAGE_NAME; trigger.activityId = startEventId; return trigger; }
@Override public MigratingBpmnEventTrigger addEventSubProcess(ProcessEngine engine, BpmnModelInstance modelInstance, String parentId, String subProcessId, String startEventId) { ModifiableBpmnModelInstance.wrap(modelInstance) .addSubProcessTo(parentId) .id(subProcessId) .triggerByEvent() .embeddedSubProcess() .startEvent(startEventId).signal(SIGNAL_NAME) .subProcessDone() .done(); SignalTrigger trigger = new SignalTrigger(); trigger.engine = engine; trigger.signalName = SIGNAL_NAME; trigger.activityId = startEventId; return trigger; }