public virtual void testQueryByVariableTypeInWithCapitalLetter() { // given IDictionary <string, object> variables1 = new Dictionary <string, object>(); variables1["stringVar"] = "test"; variables1["boolVar"] = true; runtimeService.startProcessInstanceByKey("oneTaskProcess", variables1); // when HistoricDetailQuery query = historyService.createHistoricDetailQuery().variableTypeIn("Boolean"); // then assertEquals(1, query.list().size()); assertEquals(1, query.count()); HistoricDetail historicDetail = query.list().get(0); if (historicDetail is HistoricVariableUpdate) { HistoricVariableUpdate variableUpdate = (HistoricVariableUpdate)historicDetail; assertEquals(variableUpdate.VariableName, "boolVar"); assertEquals(variableUpdate.TypeName, "boolean"); } else { fail("Historic detail should be a variable update!"); } }
public virtual void testHistoricVariableInstanceSetOnProcessInstance() { // when ProcessInstance instance = runtimeService.createProcessInstanceByKey("exclusiveGateway").setVariable("aVar", "aValue").startBeforeActivity("task1").execute(); ActivityInstance activityInstance = runtimeService.getActivityInstance(instance.Id); // then HistoricVariableInstance historicVariable = historyService.createHistoricVariableInstanceQuery().variableName("aVar").singleResult(); assertNotNull(historicVariable); assertEquals(instance.Id, historicVariable.ProcessInstanceId); assertEquals(activityInstance.Id, historicVariable.ActivityInstanceId); assertEquals("aVar", historicVariable.Name); assertEquals("aValue", historicVariable.Value); HistoricDetail historicDetail = historyService.createHistoricDetailQuery().variableInstanceId(historicVariable.Id).singleResult(); assertEquals(instance.Id, historicDetail.ProcessInstanceId); assertNotNull(historicDetail); // TODO: fix if this is not ok due to CAM-3886 assertEquals(instance.Id, historicDetail.ActivityInstanceId); assertTrue(historicDetail is HistoricVariableUpdate); assertEquals("aVar", ((HistoricVariableUpdate)historicDetail).VariableName); assertEquals("aValue", ((HistoricVariableUpdate)historicDetail).Value); }
public virtual void testStartBeforeScopeWithVariablesInHistory() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("subprocess"); runtimeService.createProcessInstanceModification(processInstance.Id).startBeforeActivity("innerTask").setVariable("procInstVar", "procInstValue").setVariableLocal("localVar", "localValue").execute(); ActivityInstance updatedTree = runtimeService.getActivityInstance(processInstance.Id); HistoricVariableInstance procInstVariable = historyService.createHistoricVariableInstanceQuery().variableName("procInstVar").singleResult(); assertNotNull(procInstVariable); assertEquals(updatedTree.Id, procInstVariable.ActivityInstanceId); assertEquals("procInstVar", procInstVariable.Name); assertEquals("procInstValue", procInstVariable.Value); HistoricDetail procInstanceVarDetail = historyService.createHistoricDetailQuery().variableInstanceId(procInstVariable.Id).singleResult(); assertNotNull(procInstanceVarDetail); // when starting before/after an activity instance, the activity instance id of the // execution is null and so is the activity instance id of the historic detail assertNull(procInstanceVarDetail.ActivityInstanceId); HistoricVariableInstance localVariable = historyService.createHistoricVariableInstanceQuery().variableName("localVar").singleResult(); assertNotNull(localVariable); assertEquals(updatedTree.getActivityInstances("subProcess")[0].Id, localVariable.ActivityInstanceId); assertEquals("localVar", localVariable.Name); assertEquals("localValue", localVariable.Value); HistoricDetail localInstanceVarDetail = historyService.createHistoricDetailQuery().variableInstanceId(localVariable.Id).singleResult(); assertNotNull(localInstanceVarDetail); assertNull(localInstanceVarDetail.ActivityInstanceId); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Deployment public void testInputMappings() public virtual void testInputMappings() { // given string processInstanceId = runtimeService.startProcessInstanceByKey("process").Id; HistoricActivityInstanceQuery activityInstanceQuery = historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId); string theService1Id = activityInstanceQuery.activityId("theService1").singleResult().Id; string theService2Id = activityInstanceQuery.activityId("theService2").singleResult().Id; string theTaskId = activityInstanceQuery.activityId("theTask").singleResult().Id; // when (1) HistoricVariableInstance firstVariable = historyService.createHistoricVariableInstanceQuery().variableName("firstInputVariable").singleResult(); // then (1) assertEquals(theService1Id, firstVariable.ActivityInstanceId); if (processEngineConfiguration.HistoryLevel.Id > ProcessEngineConfigurationImpl.HISTORYLEVEL_AUDIT) { HistoricDetail firstVariableDetail = historyService.createHistoricDetailQuery().variableUpdates().variableInstanceId(firstVariable.Id).singleResult(); assertEquals(theService1Id, firstVariableDetail.ActivityInstanceId); } // when (2) HistoricVariableInstance secondVariable = historyService.createHistoricVariableInstanceQuery().variableName("secondInputVariable").singleResult(); // then (2) assertEquals(theService2Id, secondVariable.ActivityInstanceId); if (processEngineConfiguration.HistoryLevel.Id > ProcessEngineConfigurationImpl.HISTORYLEVEL_AUDIT) { HistoricDetail secondVariableDetail = historyService.createHistoricDetailQuery().variableUpdates().variableInstanceId(secondVariable.Id).singleResult(); assertEquals(theService2Id, secondVariableDetail.ActivityInstanceId); } // when (3) HistoricVariableInstance thirdVariable = historyService.createHistoricVariableInstanceQuery().variableName("thirdInputVariable").singleResult(); // then (3) assertEquals(theTaskId, thirdVariable.ActivityInstanceId); if (processEngineConfiguration.HistoryLevel.Id > ProcessEngineConfigurationImpl.HISTORYLEVEL_AUDIT) { HistoricDetail thirdVariableDetail = historyService.createHistoricDetailQuery().variableUpdates().variableInstanceId(thirdVariable.Id).singleResult(); assertEquals(theTaskId, thirdVariableDetail.ActivityInstanceId); } }
public void TestHistoricDetail1() { HistoricDetail data = new HistoricDetail(); data.BpmInstanceId = Guid.NewGuid().ToString(); data.CreateDate = new DateTime(); data.ExecutionId = Guid.NewGuid().ToString(); data.Id = Guid.NewGuid().ToString(); data.ProcessInstanceId = Guid.NewGuid().ToString(); data.TaskId = Guid.NewGuid().ToString(); Assert.IsNotNull(data.BpmInstanceId); Assert.IsNotNull(data.CreateDate); Assert.IsNotNull(data.ExecutionId); Assert.IsNotNull(data.Id); Assert.IsNotNull(data.ProcessInstanceId); Assert.IsNotNull(data.TaskId); }
public virtual void testStartBeforeAsyncWithVariablesInHistory() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("exclusiveGateway"); runtimeService.createProcessInstanceModification(processInstance.Id).startBeforeActivity("task2").setVariable("procInstVar", "procInstValue").setVariableLocal("localVar", "localValue").execute(); ActivityInstance updatedTree = runtimeService.getActivityInstance(processInstance.Id); HistoricVariableInstance procInstVariable = historyService.createHistoricVariableInstanceQuery().variableName("procInstVar").singleResult(); assertNotNull(procInstVariable); assertEquals(updatedTree.Id, procInstVariable.ActivityInstanceId); assertEquals("procInstVar", procInstVariable.Name); assertEquals("procInstValue", procInstVariable.Value); HistoricDetail procInstanceVarDetail = historyService.createHistoricDetailQuery().variableInstanceId(procInstVariable.Id).singleResult(); assertNotNull(procInstanceVarDetail); // when starting before/after an activity instance, the activity instance id of the // execution is null and so is the activity instance id of the historic detail assertNull(procInstanceVarDetail.ActivityInstanceId); HistoricVariableInstance localVariable = historyService.createHistoricVariableInstanceQuery().variableName("localVar").singleResult(); assertNotNull(localVariable); // the following is null because localVariable is local on a concurrent execution // but the concurrent execution does not execute an activity at the time the variable is set assertNull(localVariable.ActivityInstanceId); assertEquals("localVar", localVariable.Name); assertEquals("localValue", localVariable.Value); HistoricDetail localInstanceVarDetail = historyService.createHistoricDetailQuery().variableInstanceId(localVariable.Id).singleResult(); assertNotNull(localInstanceVarDetail); assertNull(localInstanceVarDetail.ActivityInstanceId); // end process instance completeTasksInOrder("task1"); Job job = managementService.createJobQuery().singleResult(); managementService.executeJob(job.Id); completeTasksInOrder("task2"); assertProcessEnded(processInstance.Id); }
public static HistoricDetailDto fromHistoricDetail(HistoricDetail historicDetail) { HistoricDetailDto dto = null; if (historicDetail is HistoricFormField) { HistoricFormField historicFormField = (HistoricFormField)historicDetail; dto = HistoricFormFieldDto.fromHistoricFormField(historicFormField); } else if (historicDetail is HistoricVariableUpdate) { HistoricVariableUpdate historicVariableUpdate = (HistoricVariableUpdate)historicDetail; dto = HistoricVariableUpdateDto.fromHistoricVariableUpdate(historicVariableUpdate); } fromHistoricDetail(historicDetail, dto); return(dto); }
protected internal static void fromHistoricDetail(HistoricDetail historicDetail, HistoricDetailDto dto) { dto.id = historicDetail.Id; dto.processDefinitionKey = historicDetail.ProcessDefinitionKey; dto.processDefinitionId = historicDetail.ProcessDefinitionId; dto.processInstanceId = historicDetail.ProcessInstanceId; dto.activityInstanceId = historicDetail.ActivityInstanceId; dto.executionId = historicDetail.ExecutionId; dto.taskId = historicDetail.TaskId; dto.caseDefinitionKey = historicDetail.CaseDefinitionKey; dto.caseDefinitionId = historicDetail.CaseDefinitionId; dto.caseInstanceId = historicDetail.CaseInstanceId; dto.caseExecutionId = historicDetail.CaseExecutionId; dto.tenantId = historicDetail.TenantId; dto.userOperationId = historicDetail.UserOperationId; dto.time = historicDetail.Time; dto.removalTime = historicDetail.RemovalTime; dto.rootProcessInstanceId = historicDetail.RootProcessInstanceId; }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void testSetTaskVariablesInServiceTask() public virtual void testSetTaskVariablesInServiceTask() { // given BpmnModelInstance bpmnModelInstance = Bpmn.createExecutableProcess(PROCESS_KEY).startEvent().userTask().serviceTask().camundaExpression("${execution.setVariable('foo', 'bar')}").endEvent().done(); testRule.deploy(bpmnModelInstance); identityService.AuthenticatedUserId = "demo"; runtimeService.startProcessInstanceByKey(PROCESS_KEY); Task task = taskService.createTaskQuery().singleResult(); // when taskService.complete(task.Id); //then HistoricDetail historicDetail = historyService.createHistoricDetailQuery().singleResult(); // no user operation log id is set for this update, as it is not written as part of the user operation assertNull(historicDetail.UserOperationId); }
public virtual void testHistoricProcessInstanceAsyncStartEvent() { // when ProcessInstance instance = runtimeService.createProcessInstanceByKey("exclusiveGateway").startBeforeActivity("task2").setVariable("aVar", "aValue").execute(); // then HistoricProcessInstance historicInstance = historyService.createHistoricProcessInstanceQuery().singleResult(); assertNotNull(historicInstance); assertEquals(instance.Id, historicInstance.Id); assertNotNull(historicInstance.StartTime); assertNull(historicInstance.EndTime); // should be the first activity started assertEquals("task2", historicInstance.StartActivityId); // task2 wasn't entered yet assertEquals(0, historyService.createHistoricActivityInstanceQuery().count()); // history events for variables exist already ActivityInstance activityInstance = runtimeService.getActivityInstance(instance.Id); HistoricVariableInstance historicVariable = historyService.createHistoricVariableInstanceQuery().variableName("aVar").singleResult(); assertNotNull(historicVariable); assertEquals(instance.Id, historicVariable.ProcessInstanceId); assertEquals(activityInstance.Id, historicVariable.ActivityInstanceId); assertEquals("aVar", historicVariable.Name); assertEquals("aValue", historicVariable.Value); HistoricDetail historicDetail = historyService.createHistoricDetailQuery().variableInstanceId(historicVariable.Id).singleResult(); assertEquals(instance.Id, historicDetail.ProcessInstanceId); assertNotNull(historicDetail); // TODO: fix if this is not ok due to CAM-3886 assertNull(historicDetail.ActivityInstanceId); assertTrue(historicDetail is HistoricVariableUpdate); assertEquals("aVar", ((HistoricVariableUpdate)historicDetail).VariableName); assertEquals("aValue", ((HistoricVariableUpdate)historicDetail).Value); }
public virtual void testCmmnActivityInstanceIdOnCaseExecution() { // given caseService.createCaseInstanceByKey("oneTaskCase"); string taskExecutionId = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1").singleResult().Id; // when caseService.withCaseExecution(taskExecutionId).setVariableLocal("foo", "bar").execute(); // then HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery().variableName("foo").singleResult(); assertNotNull(variable); assertEquals(taskExecutionId, variable.ActivityInstanceId); if (processEngineConfiguration.HistoryLevel.Id > ProcessEngineConfigurationImpl.HISTORYLEVEL_AUDIT) { HistoricDetail variableDetail = historyService.createHistoricDetailQuery().variableUpdates().variableInstanceId(variable.Id).singleResult(); assertEquals(taskExecutionId, variableDetail.ActivityInstanceId); } }
public virtual void testStartTransitionWithVariablesInHistory() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("exclusiveGateway"); runtimeService.createProcessInstanceModification(processInstance.Id).startTransition("flow2").setVariable("procInstVar", "procInstValue").setVariableLocal("localVar", "localValue").execute(); ActivityInstance updatedTree = runtimeService.getActivityInstance(processInstance.Id); HistoricVariableInstance procInstVariable = historyService.createHistoricVariableInstanceQuery().variableName("procInstVar").singleResult(); assertNotNull(procInstVariable); assertEquals(updatedTree.Id, procInstVariable.ActivityInstanceId); assertEquals("procInstVar", procInstVariable.Name); assertEquals("procInstValue", procInstVariable.Value); HistoricDetail procInstanceVarDetail = historyService.createHistoricDetailQuery().variableInstanceId(procInstVariable.Id).singleResult(); assertNotNull(procInstanceVarDetail); assertEquals(updatedTree.Id, procInstVariable.ActivityInstanceId); HistoricVariableInstance localVariable = historyService.createHistoricVariableInstanceQuery().variableName("localVar").singleResult(); assertNotNull(localVariable); assertEquals(updatedTree.Id, procInstVariable.ActivityInstanceId); assertEquals("localVar", localVariable.Name); assertEquals("localValue", localVariable.Value); HistoricDetail localInstanceVarDetail = historyService.createHistoricDetailQuery().variableInstanceId(localVariable.Id).singleResult(); assertNotNull(localInstanceVarDetail); // when starting before/after an activity instance, the activity instance id of the // execution is null and so is the activity instance id of the historic detail assertNull(localInstanceVarDetail.ActivityInstanceId); completeTasksInOrder("task1", "task1"); assertProcessEnded(processInstance.Id); }