예제 #1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testMigrateBoundaryEventToParallelSubProcess()
        public virtual void testMigrateBoundaryEventToParallelSubProcess()
        {
            // given
            BpmnModelInstance         sourceProcess = ProcessModels.PARALLEL_SUBPROCESS_PROCESS.clone();
            MigratingBpmnEventTrigger eventTrigger  = eventFactory.addBoundaryEvent(rule.ProcessEngine, sourceProcess, "subProcess1", BOUNDARY_ID);

            ModifiableBpmnModelInstance.wrap(sourceProcess).flowNodeBuilder(BOUNDARY_ID).userTask(AFTER_BOUNDARY_TASK).endEvent().done();

            BpmnModelInstance targetProcess = modify(sourceProcess).changeElementId(BOUNDARY_ID, NEW_BOUNDARY_ID);

            ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(sourceProcess);
            ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(targetProcess);

            MigrationPlan migrationPlan = rule.RuntimeService.createMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id).mapActivities("subProcess1", "subProcess1").mapActivities(USER_TASK_1_ID, USER_TASK_1_ID).mapActivities("subProcess2", "subProcess2").mapActivities(USER_TASK_2_ID, USER_TASK_2_ID).mapActivities(BOUNDARY_ID, NEW_BOUNDARY_ID).updateEventTrigger().build();

            // when
            testHelper.createProcessInstanceAndMigrate(migrationPlan);

            // then
            eventTrigger.assertEventTriggerMigrated(testHelper, NEW_BOUNDARY_ID);

            // and it is possible to successfully complete the migrated instance
            testHelper.completeTask(USER_TASK_1_ID);
            testHelper.completeTask(USER_TASK_2_ID);
            testHelper.assertProcessEnded(testHelper.snapshotBeforeMigration.ProcessInstanceId);
        }
예제 #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testMigrateActiveCompensationEventSubProcess()
        public virtual void testMigrateActiveCompensationEventSubProcess()
        {
            // given
            BpmnModelInstance         processModel = ProcessModels.ONE_TASK_PROCESS.clone();
            MigratingBpmnEventTrigger eventTrigger = eventFactory.addEventSubProcess(rule.ProcessEngine, processModel, ProcessModels.PROCESS_KEY, "eventSubProcess", "eventSubProcessStart");

            ModifiableBpmnModelInstance.wrap(processModel).startEventBuilder("eventSubProcessStart").userTask("eventSubProcessTask").endEvent().done();

            ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(processModel);
            ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(processModel);

            ProcessInstance processInstance = rule.RuntimeService.createProcessInstanceById(sourceProcessDefinition.Id).startBeforeActivity("eventSubProcessStart").executeWithVariablesInReturn();

            MigrationPlan migrationPlan = rule.RuntimeService.createMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id).mapActivities("eventSubProcess", "eventSubProcess").mapActivities("eventSubProcessStart", "eventSubProcessStart").updateEventTrigger().mapActivities("eventSubProcessTask", "eventSubProcessTask").build();

            // when
            testHelper.migrateProcessInstance(migrationPlan, processInstance);

            // then
            eventTrigger.assertEventTriggerMigrated(testHelper, "eventSubProcessStart");

            // and it is possible to complete the process instance
            testHelper.completeTask("eventSubProcessTask");
            testHelper.assertProcessEnded(processInstance.Id);
        }
예제 #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testMigrateBoundaryEventOnConcurrentScopeUserTaskAndTriggerEvent()
        public virtual void testMigrateBoundaryEventOnConcurrentScopeUserTaskAndTriggerEvent()
        {
            // given
            BpmnModelInstance         sourceProcess = ProcessModels.PARALLEL_SCOPE_TASKS.clone();
            MigratingBpmnEventTrigger eventTrigger  = eventFactory.addBoundaryEvent(rule.ProcessEngine, sourceProcess, USER_TASK_1_ID, BOUNDARY_ID);

            ModifiableBpmnModelInstance.wrap(sourceProcess).flowNodeBuilder(BOUNDARY_ID).userTask(AFTER_BOUNDARY_TASK).endEvent().done();

            BpmnModelInstance targetProcess = modify(sourceProcess).changeElementId("boundary", "newBoundary");

            ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(sourceProcess);
            ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(targetProcess);


            MigrationPlan migrationPlan = rule.RuntimeService.createMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id).mapActivities(USER_TASK_1_ID, USER_TASK_1_ID).mapActivities(USER_TASK_2_ID, USER_TASK_2_ID).mapActivities(BOUNDARY_ID, NEW_BOUNDARY_ID).updateEventTrigger().build();

            // when
            ProcessInstance processInstance = testHelper.createProcessInstanceAndMigrate(migrationPlan);

            // then it is possible to trigger the event and successfully complete the migrated instance
            eventTrigger.inContextOf(NEW_BOUNDARY_ID).trigger(processInstance.Id);
            testHelper.completeTask(AFTER_BOUNDARY_TASK);
            testHelper.completeTask(USER_TASK_2_ID);
            testHelper.assertProcessEnded(testHelper.snapshotBeforeMigration.ProcessInstanceId);
        }
예제 #4
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testMigrateEventSubprocessSignalTrigger()
        public virtual void testMigrateEventSubprocessSignalTrigger()
        {
            BpmnModelInstance         processModel = ProcessModels.ONE_TASK_PROCESS.clone();
            MigratingBpmnEventTrigger eventTrigger = eventFactory.addEventSubProcess(rule.ProcessEngine, processModel, ProcessModels.PROCESS_KEY, "eventSubProcess", "eventSubProcessStart");

            ModifiableBpmnModelInstance.wrap(processModel).startEventBuilder("eventSubProcessStart").userTask("eventSubProcessTask").endEvent().done();

            ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(processModel);
            ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(processModel);

            ProcessInstance processInstance = rule.RuntimeService.startProcessInstanceById(sourceProcessDefinition.Id);

            MigrationPlan migrationPlan = rule.RuntimeService.createMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id).mapActivities("userTask", "userTask").mapActivities("eventSubProcessStart", "eventSubProcessStart").updateEventTrigger().build();

            // when
            testHelper.migrateProcessInstance(migrationPlan, processInstance);

            // then
            eventTrigger.assertEventTriggerMigrated(testHelper, "eventSubProcessStart");

            // and it is possible to trigger the event subprocess
            eventTrigger.trigger(processInstance.Id);
            Assert.assertEquals(1, rule.TaskService.createTaskQuery().count());

            // and complete the process instance
            testHelper.completeTask("eventSubProcessTask");
            testHelper.assertProcessEnded(processInstance.Id);
        }