public virtual void testUpdateEventTrigger() { // given var newMessageName = "newMessage"; var sourceProcessDefinition = migrationRule.DeployAndGetDefinition(ProcessModels.OneReceiveTaskProcess); var targetProcessDefinition = migrationRule.DeployAndGetDefinition(ModifiableBpmnModelInstance.Modify( ProcessModels.OneReceiveTaskProcess) .RenameMessage("Message", newMessageName)); var processInstance = runtimeService.StartProcessInstanceById(sourceProcessDefinition.Id); var migrationPlan = runtimeService.CreateMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id) .MapEqualActivities() .UpdateEventTriggers() .Build(); var batch = runtimeService.NewMigration(migrationPlan) .ProcessInstanceIds(new List <string> { processInstance.Id }) .ExecuteAsync(); helper.ExecuteSeedJob(batch); // when helper.ExecuteJobs(batch); // then the message event subscription's event name was changed var eventSubscription = runtimeService.CreateEventSubscriptionQuery() .First(); Assert.AreEqual(newMessageName, eventSubscription.EventName); }
public virtual void shouldSkipIoMappings() { // given var processDefinition = testRule.DeployAndGetDefinition(ModifiableBpmnModelInstance.Modify(ProcessModels.TwoTasksProcess) //.ActivityBuilder("userTask1") //.CamundaInputParameter("foo", "bar") //.Done() ); var processInstance = runtimeService.StartProcessInstanceByKey("Process"); runtimeService.DeleteProcessInstance(processInstance.Id, "test"); // when runtimeService.RestartProcessInstances(processDefinition.Id) .StartBeforeActivity("userTask1") .SetSkipIoMappings() .SetProcessInstanceIds(processInstance.Id) .Execute(); // then var task1Execution = runtimeService.CreateExecutionQuery(c => c.ActivityId == "userTask1") .First(); Assert.NotNull(task1Execution); Assert.IsNull(runtimeService.GetVariable(task1Execution.Id, "foo")); }
public virtual void testSkipListenerInvocationForNewlyCreatedScope() { // given DelegateEvent.ClearEvents(); var sourceProcessDefinition = migrationRule.DeployAndGetDefinition(ProcessModels.OneTaskProcess); //JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.GetName method: var targetProcessDefinition = migrationRule.DeployAndGetDefinition(ModifiableBpmnModelInstance.Modify(ProcessModels.SubprocessProcess) //.ActivityBuilder("subProcess") //.CamundaExecutionListenerClass(ExecutionListenerFields.EventNameStart, // typeof(DelegateExecutionListener).FullName) /*.Done()*/); var migrationPlan = engineRule.RuntimeService.CreateMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id) .MapActivities("userTask", "userTask") .Build(); var processInstance = engineRule.RuntimeService.StartProcessInstanceById(sourceProcessDefinition.Id); var batch = engineRule.RuntimeService.NewMigration(migrationPlan) .ProcessInstanceIds(processInstance.Id) .SkipCustomListeners() .ExecuteAsync(); helper.ExecuteSeedJob(batch); // when helper.ExecuteJobs(batch); // then Assert.AreEqual(0, DelegateEvent.Events.Count); }
public virtual void testSkipIoMappingInvocationForNewlyCreatedScope() { // given var sourceProcessDefinition = migrationRule.DeployAndGetDefinition(ProcessModels.OneTaskProcess); var targetProcessDefinition = migrationRule.DeployAndGetDefinition(ModifiableBpmnModelInstance.Modify(ProcessModels.SubprocessProcess) //.ActivityBuilder("subProcess") //.camundaInputParameter("foo", "bar") //.Done() ); var migrationPlan = engineRule.RuntimeService.CreateMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id) .MapActivities("userTask", "userTask") .Build(); var processInstance = engineRule.RuntimeService.StartProcessInstanceById(sourceProcessDefinition.Id); var batch = engineRule.RuntimeService.NewMigration(migrationPlan) .ProcessInstanceIds(processInstance.Id) .SkipIoMappings() .ExecuteAsync(); helper.ExecuteSeedJob(batch); // when helper.ExecuteJobs(batch); // then Assert.AreEqual(0, engineRule.RuntimeService.CreateVariableInstanceQuery() .Count()); }
public virtual void testMigrateHistoricSubProcessRename() { //given var sourceDefinition = testHelper.DeployAndGetDefinition(ProcessModels.SubprocessProcess); var targetDefinition = testHelper.DeployAndGetDefinition(ModifiableBpmnModelInstance.Modify(ProcessModels.SubprocessProcess) .ChangeElementId("subProcess", "newSubProcess")); var migrationPlan = rule.RuntimeService.CreateMigrationPlan(sourceDefinition.Id, targetDefinition.Id) .MapActivities("subProcess", "newSubProcess") .MapActivities("userTask", "userTask") .Build(); var processInstance = rule.RuntimeService.StartProcessInstanceById(sourceDefinition.Id); // when rule.RuntimeService.NewMigration(migrationPlan) .ProcessInstanceIds(processInstance.Id) .Execute(); // then var historicInstances = historyService.CreateHistoricActivityInstanceQuery(c => c.ProcessInstanceId == processInstance.Id) /*.Unfinished()*/ /*.OrderByActivityId()*/ /*.Asc()*/ .ToList(); Assert.AreEqual(2, historicInstances.Count); AssertMigratedTo(historicInstances[0], targetDefinition, "newSubProcess"); AssertMigratedTo(historicInstances[1], targetDefinition, "userTask"); Assert.AreEqual(processInstance.Id, historicInstances[0].ParentActivityInstanceId); Assert.AreEqual(historicInstances[0].Id, historicInstances[1].ParentActivityInstanceId); }
public virtual void testMigrateHistoryVariableInstance() { //given var sourceDefinition = testHelper.DeployAndGetDefinition(ProcessModels.OneTaskProcess); var targetDefinition = testHelper.DeployAndGetDefinition(ModifiableBpmnModelInstance.Modify(ProcessModels.OneTaskProcess) .ChangeElementId(ProcessModels.ProcessKey, "new" + ProcessModels.ProcessKey)); var processInstance = runtimeService.StartProcessInstanceById(sourceDefinition.Id); runtimeService.SetVariable(processInstance.Id, "test", 3537); var instance = historyService.CreateHistoricVariableInstanceQuery() .First(); var migrationPlan = rule.RuntimeService.CreateMigrationPlan(sourceDefinition.Id, targetDefinition.Id) .MapActivities("userTask", "userTask") .Build(); //when runtimeService.NewMigration(migrationPlan) .ProcessInstanceIds(processInstance.Id) .Execute(); //then var migratedInstance = historyService.CreateHistoricVariableInstanceQuery() .First(); Assert.AreEqual(targetDefinition.Key, migratedInstance.ProcessDefinitionKey); Assert.AreEqual(targetDefinition.Id, migratedInstance.ProcessDefinitionId); Assert.AreEqual(instance.ActivityInstanceId, migratedInstance.ActivityInstanceId); Assert.AreEqual(instance.ExecutionId, migratedInstance.ExecutionId); }
private static IBpmnModelInstance GetDone() { var task = ESS.FW.Bpm.Model.Bpmn.Bpmn.CreateExecutableProcess("Process") .StartEvent() .UserTask("userTask") .ServiceTask("sendTask"); task .CamundaExecutionListenerClass(ExecutionListenerFields.EventNameStart, typeof(SendMessageDelegate).FullName) .CamundaExecutionListenerClass(ExecutionListenerFields.EventNameStart, typeof(RecorderExecutionListener).FullName); var model = task.CamundaExpression("${true}") .EndEvent("endEvent") .CamundaExecutionListenerClass(ExecutionListenerFields.EventNameStart, typeof(RecorderExecutionListener).FullName) .Done(); var start = ModifiableBpmnModelInstance.Modify(model) .AddSubProcessTo("Process") .TriggerByEvent() .EmbeddedSubProcess() .StartEvent("startSubProcess"); start.Interrupting(false) .CamundaExecutionListenerClass(ExecutionListenerFields.EventNameStart, typeof(RecorderExecutionListener).FullName); return(start.Message(MESSAGE) .UserTask("subProcessTask") .CamundaExecutionListenerClass(ExecutionListenerFields.EventNameStart, typeof(RecorderExecutionListener).FullName) .EndEvent("endSubProcess") .Done()); }
public virtual void testNoCreationOnSyncBatchJobExecution() { // given var sourceProcessDefinition = migrationRule.DeployAndGetDefinition(ProcessModels.OneTaskProcess); var targetProcessDefinition = migrationRule.DeployAndGetDefinition(ModifiableBpmnModelInstance.Modify(ProcessModels.OneTaskProcess) .ChangeElementId(ProcessModels.ProcessKey, "new" + ProcessModels.ProcessKey)); var migrationPlan = engineRule.RuntimeService.CreateMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id) .MapEqualActivities() .Build(); var processInstance = engineRule.RuntimeService.StartProcessInstanceById(sourceProcessDefinition.Id); var batch = engineRule.RuntimeService.NewMigration(migrationPlan) .ProcessInstanceIds(processInstance.Id) .ExecuteAsync(); batchHelper.ExecuteSeedJob(batch); // when engineRule.IdentityService.AuthenticatedUserId = USER_ID; batchHelper.ExecuteJobs(batch); engineRule.IdentityService.ClearAuthentication(); // then Assert.AreEqual(0, engineRule.HistoryService.CreateUserOperationLogQuery() .Count()); }
public virtual void shouldSkipCustomListeners() { // given //JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.GetName method: var processDefinition = testRule.DeployAndGetDefinition(ModifiableBpmnModelInstance.Modify(ProcessModels.TwoTasksProcess) //.ActivityBuilder("userTask1") //.CamundaExecutionListenerClass(ExecutionListenerFields.EventNameStart, // typeof(IncrementCounterListener).FullName) //.Done() ); var processInstance = runtimeService.StartProcessInstanceByKey("Process"); runtimeService.DeleteProcessInstance(processInstance.Id, "test"); IncrementCounterListener.Counter = 0; // when runtimeService.RestartProcessInstances(processDefinition.Id) .StartBeforeActivity("userTask1") .SetProcessInstanceIds(processInstance.Id) .SetSkipCustomListeners() .Execute(); // then Assert.AreEqual(0, IncrementCounterListener.Counter); }
public virtual void testMigrateWithQuery() { // given IProcessDefinition sourceDefinition = testHelper.DeployAndGetDefinition(ProcessModels.OneTaskProcess); IProcessDefinition targetDefinition = testHelper.DeployAndGetDefinition(ModifiableBpmnModelInstance.Modify(ProcessModels.OneTaskProcess).ChangeElementId(ProcessModels.ProcessKey, "new" + ProcessModels.ProcessKey)); IProcessInstance processInstance = engineRule.RuntimeService.StartProcessInstanceById(sourceDefinition.Id); IMigrationPlan migrationPlan = engineRule.RuntimeService.CreateMigrationPlan(sourceDefinition.Id, targetDefinition.Id).MapEqualActivities().Build(); IQueryable <IProcessInstance> query = engineRule.RuntimeService.CreateProcessInstanceQuery(); // when authRule.Init(scenario).WithUser("userId").BindResource("sourceDefinitionKey", sourceDefinition.Key).BindResource("targetDefinitionKey", targetDefinition.Key).BindResource("processInstance", processInstance.Id).Start(); engineRule.RuntimeService.NewMigration(migrationPlan).ProcessInstanceQuery(query).Execute(); // then if (authRule.AssertScenario(scenario)) { IProcessInstance processInstanceAfterMigration = engineRule.RuntimeService.CreateProcessInstanceQuery().First(); Assert.AreEqual(targetDefinition.Id, processInstanceAfterMigration.ProcessDefinitionId); } }
public virtual MigratingBpmnEventTrigger addBoundaryEvent(ProcessEngine engine, BpmnModelInstance modelInstance, string activityId, string boundaryEventId) { ModifiableBpmnModelInstance.wrap(modelInstance).activityBuilder(activityId).boundaryEvent(boundaryEventId).timerWithDate(TIMER_DATE).done(); TimerEventTrigger trigger = new TimerEventTrigger(); trigger.engine = engine; trigger.activityId = boundaryEventId; trigger.handlerType = TimerExecuteNestedActivityJobHandler.TYPE; return(trigger); }
public virtual 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); }
public virtual MigratingBpmnEventTrigger addBoundaryEvent(ProcessEngine engine, BpmnModelInstance modelInstance, string activityId, string boundaryEventId) { ModifiableBpmnModelInstance.wrap(modelInstance).activityBuilder(activityId).boundaryEvent(boundaryEventId).signal(SIGNAL_NAME).done(); SignalTrigger trigger = new SignalTrigger(); trigger.engine = engine; trigger.signalName = SIGNAL_NAME; trigger.activityId = boundaryEventId; return(trigger); }
public virtual MigratingBpmnEventTrigger addBoundaryEvent(ProcessEngine engine, BpmnModelInstance modelInstance, string activityId, string boundaryEventId) { ModifiableBpmnModelInstance.wrap(modelInstance).activityBuilder(activityId).boundaryEvent(boundaryEventId).message(MESSAGE_NAME).done(); MessageTrigger trigger = new MessageTrigger(); trigger.engine = engine; trigger.messageName = MESSAGE_NAME; trigger.activityId = boundaryEventId; return(trigger); }
public virtual 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); }
public virtual 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); }
public virtual MigratingBpmnEventTrigger addBoundaryEvent(ProcessEngine engine, BpmnModelInstance modelInstance, string activityId, string boundaryEventId) { ModifiableBpmnModelInstance.wrap(modelInstance).activityBuilder(activityId).boundaryEvent(boundaryEventId).condition(VAR_CONDITION).done(); ConditionalEventTrigger trigger = new ConditionalEventTrigger(); trigger.engine = engine; trigger.variableName = "any"; trigger.variableValue = "any"; trigger.activityId = boundaryEventId; return(trigger); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Before public void initTest() public virtual void initTest() { runtimeService = rule.RuntimeService; historyService = rule.HistoryService; sourceProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); ModifiableBpmnModelInstance modifiedModel = modify(ProcessModels.ONE_TASK_PROCESS).changeElementId("Process", "Process2").changeElementId("userTask", "userTask2"); targetProcessDefinition = testHelper.deployAndGetDefinition(modifiedModel); migrationPlan = runtimeService.createMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id).mapActivities("userTask", "userTask2").build(); runtimeService.startProcessInstanceById(sourceProcessDefinition.Id); }
public virtual void testMigrateHistoricIncident() { // given var sourceProcess = testHelper.DeployAndGetDefinition(AsyncProcessModels.ASYNC_BEFORE_USER_TASK_PROCESS); var targetProcess = testHelper.DeployAndGetDefinition(ModifiableBpmnModelInstance.Modify( AsyncProcessModels.ASYNC_BEFORE_USER_TASK_PROCESS) .ChangeElementId(ProcessModels.ProcessKey, "new" + ProcessModels.ProcessKey) .ChangeElementId("userTask", "newUserTask")); var targetJobDefinition = managementService.CreateJobDefinitionQuery(c => c.ProcessDefinitionId == targetProcess.Id) .First(); var migrationPlan = runtimeService.CreateMigrationPlan(sourceProcess.Id, targetProcess.Id) .MapActivities("userTask", "newUserTask") .Build(); var processInstance = runtimeService.StartProcessInstanceById(sourceProcess.Id); var job = managementService.CreateJobQuery() .First(); managementService.SetJobRetries(job.Id, 0); var incidentBeforeMigration = historyService.CreateHistoricIncidentQuery() .First(); // when runtimeService.NewMigration(migrationPlan) .ProcessInstanceIds(processInstance.Id) .Execute(); // then var historicIncident = historyService.CreateHistoricIncidentQuery() .First(); Assert.NotNull(historicIncident); Assert.AreEqual("newUserTask", historicIncident.ActivityId); Assert.AreEqual(targetJobDefinition.Id, historicIncident.JobDefinitionId); Assert.AreEqual(targetProcess.Id, historicIncident.ProcessDefinitionId); Assert.AreEqual(targetProcess.Key, historicIncident.ProcessDefinitionKey); Assert.AreEqual(processInstance.Id, historicIncident.ExecutionId); // and other properties have not changed Assert.AreEqual(incidentBeforeMigration.CreateTime, historicIncident.CreateTime); Assert.AreEqual(incidentBeforeMigration.ProcessInstanceId, historicIncident.ProcessInstanceId); }
public virtual void initTest() { runtimeService = rule.RuntimeService; historyService = rule.HistoryService; sourceProcessDefinition = testHelper.DeployAndGetDefinition(ProcessModels.OneTaskProcess); var modifiedModel = ModifiableBpmnModelInstance.Modify(ProcessModels.OneTaskProcess) .ChangeElementId("Process", "Process2") .ChangeElementId("userTask", "userTask2"); targetProcessDefinition = testHelper.DeployAndGetDefinition(modifiedModel); migrationPlan = runtimeService.CreateMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id) .MapActivities("userTask", "userTask2") .Build(); runtimeService.StartProcessInstanceById(sourceProcessDefinition.Id); }
public virtual void testCreate() { // given IProcessDefinition sourceDefinition = testHelper.DeployAndGetDefinition(ProcessModels.OneTaskProcess); IProcessDefinition targetDefinition = testHelper.DeployAndGetDefinition(ModifiableBpmnModelInstance.Modify(ProcessModels.OneTaskProcess).ChangeElementId(ProcessModels.ProcessKey, "new" + ProcessModels.ProcessKey)); // when authRule.Init(scenario).WithUser("userId").BindResource("sourceDefinitionKey", sourceDefinition.Key).BindResource("targetDefinitionKey", targetDefinition.Key).Start(); IMigrationPlan migrationPlan = engineRule.RuntimeService.CreateMigrationPlan(sourceDefinition.Id, targetDefinition.Id).MapEqualActivities().Build(); // then if (authRule.AssertScenario(scenario)) { Assert.NotNull(migrationPlan); } }
public virtual IMigratingBpmnEventTrigger AddBoundaryEvent(IProcessEngine engine, IBpmnModelInstance modelInstance, string activityId, string boundaryEventId) { ModifiableBpmnModelInstance.Wrap(modelInstance) //.ActivityBuilder(activityId) //.BoundaryEvent(boundaryEventId) //.Signal(SIGNAL_NAME) //.Done() ; var trigger = new SignalTrigger(); trigger.engine = engine; trigger.signalName = SIGNAL_NAME; trigger.activityId = boundaryEventId; return(trigger); }
public virtual IMigratingBpmnEventTrigger AddBoundaryEvent(IProcessEngine engine, IBpmnModelInstance modelInstance, string activityId, string boundaryEventId) { ModifiableBpmnModelInstance.Wrap(modelInstance) //.ActivityBuilder(activityId) //.BoundaryEvent(boundaryEventId) ////.Message(MESSAGE_NAME) //.Done() ; var trigger = new MessageTrigger(); trigger.Engine = engine; trigger.MessageName = MESSAGE_NAME; trigger.ActivityId = boundaryEventId; return(trigger); }
public virtual IMigratingBpmnEventTrigger AddBoundaryEvent(IProcessEngine engine, IBpmnModelInstance modelInstance, string activityId, string boundaryEventId) { ModifiableBpmnModelInstance.Wrap(modelInstance) //.ActivityBuilder(activityId) //.BoundaryEvent(boundaryEventId) //.TimerWithDate(TIMER_DATE) //.Done() ; var trigger = new TimerEventTrigger(); trigger.Engine = engine; trigger.ActivityId = boundaryEventId; trigger.HandlerType = TimerExecuteNestedActivityJobHandler.TYPE; return(trigger); }
public virtual IMigratingBpmnEventTrigger AddBoundaryEvent(IProcessEngine engine, IBpmnModelInstance modelInstance, string activityId, string boundaryEventId) { ModifiableBpmnModelInstance.Wrap(modelInstance) //.ActivityBuilder(activityId) //.BoundaryEvent(boundaryEventId) //.Condition(VAR_CONDITION) //.Done() ; var trigger = new ConditionalEventTrigger(); trigger.Engine = engine; trigger.VariableName = "any"; trigger.VariableValue = "any"; trigger.ActivityId = boundaryEventId; return(trigger); }
public virtual void testMigrateHistoryUserTaskInstance() { //given var sourceProcessDefinition = testHelper.DeployAndGetDefinition(ProcessModels.OneTaskProcess); var targetProcessDefinition = testHelper.DeployAndGetDefinition(ModifiableBpmnModelInstance.Modify(ProcessModels.OneTaskProcess) .ChangeElementId("Process", "Process2") .ChangeElementId("userTask", "userTask2")); var migrationPlan = runtimeService.CreateMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id) .MapActivities("userTask", "userTask2") .Build(); var processInstance = runtimeService.StartProcessInstanceById(sourceProcessDefinition.Id); var sourceHistoryTaskInstanceQuery = historyService.CreateHistoricTaskInstanceQuery(c => c.ProcessDefinitionId == sourceProcessDefinition.Id); var targetHistoryTaskInstanceQuery = historyService.CreateHistoricTaskInstanceQuery(c => c.ProcessDefinitionId == targetProcessDefinition.Id); var activityInstance = runtimeService.GetActivityInstance(processInstance.Id); //when Assert.AreEqual(1, sourceHistoryTaskInstanceQuery.Count()); Assert.AreEqual(0, targetHistoryTaskInstanceQuery.Count()); var sourceProcessInstanceQuery = runtimeService.CreateProcessInstanceQuery(c => c.ProcessDefinitionId == sourceProcessDefinition.Id); runtimeService.NewMigration(migrationPlan) .ProcessInstanceQuery(sourceProcessInstanceQuery) .Execute(); //then Assert.AreEqual(0, sourceHistoryTaskInstanceQuery.Count()); Assert.AreEqual(1, targetHistoryTaskInstanceQuery.Count()); var instance = targetHistoryTaskInstanceQuery.First(); Assert.AreEqual(targetProcessDefinition.Key, instance.ProcessDefinitionKey); Assert.AreEqual(targetProcessDefinition.Id, instance.ProcessDefinitionId); Assert.AreEqual("userTask2", instance.TaskDefinitionKey); Assert.AreEqual(activityInstance.GetActivityInstances("userTask")[0].Id, instance.ActivityInstanceId); }
public virtual void testMigrateHistoryActivityInstance() { //given var sourceProcessDefinition = testHelper.DeployAndGetDefinition(ProcessModels.OneTaskProcess); var targetProcessDefinition = testHelper.DeployAndGetDefinition(ModifiableBpmnModelInstance.Modify(ProcessModels.OneTaskProcess) .ChangeElementId("Process", "Process2") .ChangeElementId("userTask", "userTask2") .ChangeElementName("userTask", "new activity name")); var migrationPlan = runtimeService.CreateMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id) .MapActivities("userTask", "userTask2") .Build(); var processInstance = runtimeService.StartProcessInstanceById(sourceProcessDefinition.Id); var sourceHistoryActivityInstanceQuery = historyService.CreateHistoricActivityInstanceQuery(c => c.ProcessDefinitionId == sourceProcessDefinition.Id); var targetHistoryActivityInstanceQuery = historyService.CreateHistoricActivityInstanceQuery(c => c.ProcessDefinitionId == targetProcessDefinition.Id); //when Assert.AreEqual(2, sourceHistoryActivityInstanceQuery.Count()); Assert.AreEqual(0, targetHistoryActivityInstanceQuery.Count()); var sourceProcessInstanceQuery = runtimeService.CreateProcessInstanceQuery(c => c.ProcessDefinitionId == sourceProcessDefinition.Id); runtimeService.NewMigration(migrationPlan) .ProcessInstanceQuery(sourceProcessInstanceQuery) .Execute(); // then one instance of the start event still belongs to the source process // and one active user task instances is now migrated to the target process Assert.AreEqual(1, sourceHistoryActivityInstanceQuery.Count()); Assert.AreEqual(1, targetHistoryActivityInstanceQuery.Count()); var instance = targetHistoryActivityInstanceQuery.First(); AssertMigratedTo(instance, targetProcessDefinition, "userTask2"); Assert.AreEqual("new activity name", instance.ActivityName); Assert.AreEqual(processInstance.Id, instance.ParentActivityInstanceId); Assert.AreEqual("userTask", instance.ActivityType); }
public virtual IMigratingBpmnEventTrigger AddEventSubProcess(IProcessEngine engine, IBpmnModelInstance modelInstance, string parentId, string subProcessId, string startEventId) { ModifiableBpmnModelInstance.Wrap(modelInstance) .AddSubProcessTo(parentId) //.Id(subProcessId) .TriggerByEvent() ////.EmbeddedSubProcess() //.StartEvent(startEventId) //.TimerWithDuration("PT10M") .SubProcessDone() .Done(); var trigger = new TimerEventTrigger(); trigger.Engine = engine; trigger.ActivityId = startEventId; trigger.HandlerType = TimerStartEventSubprocessJobHandler.TYPE; return(trigger); }
public virtual IMigratingBpmnEventTrigger AddEventSubProcess(IProcessEngine engine, IBpmnModelInstance modelInstance, string parentId, string subProcessId, string startEventId) { ModifiableBpmnModelInstance.Wrap(modelInstance) .AddSubProcessTo(parentId) //.Id(subProcessId) .TriggerByEvent() ////.EmbeddedSubProcess() //.StartEvent(startEventId) ////.Message(MESSAGE_NAME) .SubProcessDone() .Done(); var trigger = new MessageTrigger(); trigger.Engine = engine; trigger.MessageName = MESSAGE_NAME; trigger.ActivityId = startEventId; return(trigger); }
public virtual IMigratingBpmnEventTrigger AddEventSubProcess(IProcessEngine engine, IBpmnModelInstance modelInstance, string parentId, string subProcessId, string startEventId) { ModifiableBpmnModelInstance.Wrap(modelInstance) .AddSubProcessTo(parentId) //.Id(subProcessId) .TriggerByEvent() ////.EmbeddedSubProcess() //.StartEvent(startEventId) //.Signal(SIGNAL_NAME) .SubProcessDone() .Done(); var trigger = new SignalTrigger(); trigger.engine = engine; trigger.signalName = SIGNAL_NAME; trigger.activityId = startEventId; return(trigger); }