public static HistoricCaseActivityInstanceDto fromHistoricCaseActivityInstance(HistoricCaseActivityInstance historicCaseActivityInstance) { HistoricCaseActivityInstanceDto dto = new HistoricCaseActivityInstanceDto(); dto.id = historicCaseActivityInstance.getId(); dto.parentCaseActivityInstanceId = historicCaseActivityInstance.getParentCaseActivityInstanceId(); dto.caseActivityId = historicCaseActivityInstance.getCaseActivityId(); dto.caseActivityName = historicCaseActivityInstance.getCaseActivityName(); dto.caseActivityType = historicCaseActivityInstance.getCaseActivityType(); dto.caseDefinitionId = historicCaseActivityInstance.getCaseDefinitionId(); dto.caseInstanceId = historicCaseActivityInstance.getCaseInstanceId(); dto.caseExecutionId = historicCaseActivityInstance.getCaseExecutionId(); dto.taskId = historicCaseActivityInstance.getTaskId(); dto.calledProcessInstanceId = historicCaseActivityInstance.getCalledProcessInstanceId(); dto.calledCaseInstanceId = historicCaseActivityInstance.getCalledCaseInstanceId(); dto.tenantId = historicCaseActivityInstance.getTenantId(); dto.createTime = historicCaseActivityInstance.getCreateTime(); dto.endTime = historicCaseActivityInstance.getEndTime(); dto.durationInMillis = historicCaseActivityInstance.getDurationInMillis(); dto.required = historicCaseActivityInstance.isRequired(); dto.available = historicCaseActivityInstance.isAvailable(); dto.enabled = historicCaseActivityInstance.isEnabled(); dto.disabled = historicCaseActivityInstance.isDisabled(); dto.active = historicCaseActivityInstance.isActive(); dto.completed = historicCaseActivityInstance.isCompleted(); dto.terminated = historicCaseActivityInstance.isTerminated(); return dto; } }
public static HistoricCaseActivityInstance createMockRunningHistoricCaseActivityInstance() { HistoricCaseActivityInstance mock = createMockHistoricCaseActivityInstance(); when(mock.getEndTime()).thenReturn(null); when(mock.getDurationInMillis()).thenReturn(null); when(mock.isAvailable()).thenReturn(false); when(mock.isEnabled()).thenReturn(false); when(mock.isDisabled()).thenReturn(false); when(mock.isActive()).thenReturn(true); when(mock.isCompleted()).thenReturn(false); when(mock.isTerminated()).thenReturn(false); return mock; }
@Deployment(resources={"org/camunda/bpm/engine/test/api/cmmn/emptyStageWithManualActivationCase.cmmn"}) public void testHistoricCaseActivityInstanceProperties() { String activityId = "PI_Stage_1"; createCaseInstance(); CaseExecution stage = queryCaseExecutionByActivityId(activityId); HistoricCaseActivityInstance historicStage = queryHistoricActivityCaseInstance(activityId); assertEquals(stage.getId(), historicStage.getId()); assertEquals(stage.getParentId(), historicStage.getParentCaseActivityInstanceId()); assertEquals(stage.getCaseDefinitionId(), historicStage.getCaseDefinitionId()); assertEquals(stage.getCaseInstanceId(), historicStage.getCaseInstanceId()); assertEquals(stage.getActivityId(), historicStage.getCaseActivityId()); assertEquals(stage.getActivityName(), historicStage.getCaseActivityName()); assertEquals(stage.getActivityType(), historicStage.getCaseActivityType()); manualStart(stage.getId()); historicStage = queryHistoricActivityCaseInstance(activityId); assertNotNull(historicStage.getEndTime()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/cmmn/stage/AutoCompleteTest.testCasePlanModel.cmmn"}) public void testAutoCompleteEnabled() { String caseInstanceId = createCaseInstanceByKey("case").getId(); HistoricCaseInstance caseInstance = historyService .createHistoricCaseInstanceQuery() .caseInstanceId(caseInstanceId) .singleResult(); assertNotNull(caseInstance); assertTrue(caseInstance.isCompleted()); HistoricCaseActivityInstanceQuery query = historyService.createHistoricCaseActivityInstanceQuery(); HistoricCaseActivityInstance humanTask1 = query.caseActivityId("PI_HumanTask_1").singleResult(); assertNotNull(humanTask1); assertTrue(humanTask1.isTerminated()); assertNotNull(humanTask1.getEndTime()); assertNotNull(humanTask1.getDurationInMillis()); HistoricCaseActivityInstance humanTask2 = query.caseActivityId("PI_HumanTask_2").singleResult(); assertNotNull(humanTask2); assertTrue(humanTask2.isTerminated()); assertNotNull(humanTask2.getEndTime()); assertNotNull(humanTask2.getDurationInMillis()); }
historicTask1.getCreateTime(), historicTask2.getCreateTime(), historicTask3.getCreateTime()); historicTask1.getEndTime(), historicTask2.getEndTime(), historicTask3.getEndTime()); historicTask1.getDurationInMillis(), historicTask2.getDurationInMillis(), historicTask3.getDurationInMillis());
public static void printCaseStatusAndTasklist(ProcessEngine processEngine) { System.out.println("Case Status:"); CaseService caseService = processEngine.getCaseService(); List<CaseExecution> caseExecutions = caseService.createCaseExecutionQuery().list(); for (CaseExecution caseExecution : caseExecutions) { if (caseExecution.isActive()) { System.out.println(" active: " + caseExecution.getActivityName() + " (" + caseExecution.getActivityType() + ")"); } else if (caseExecution.isEnabled()) { System.out.println(" enabled: " + caseExecution.getActivityName() + " (" + caseExecution.getActivityType() + ")"); } } HistoricCaseActivityInstanceQuery historicCaseActivityInstanceQuery = processEngine.getHistoryService().createHistoricCaseActivityInstanceQuery().ended(); System.out.println("Case History (" + historicCaseActivityInstanceQuery.count() + "):"); List<HistoricCaseActivityInstance> completedCaseActivities = historicCaseActivityInstanceQuery.list(); for (HistoricCaseActivityInstance completedCaseActivity : completedCaseActivities) { System.out.println(" ended: " + completedCaseActivity.getCaseActivityName() + " (" + completedCaseActivity.getCaseActivityType() + ")"); } TaskQuery taskQuery = processEngine.getTaskService().createTaskQuery(); System.out.println("Task List (" + taskQuery.count() + "):"); List<Task> tasklist = taskQuery.list(); for (Task task : tasklist) { System.out.println(" " + (task.getAssignee() == null ? "unassigned" : task.getAssignee()) + ": " + task.getName()); } System.out.println(); }
@Deployment(resources={ "org/camunda/bpm/engine/test/api/cmmn/oneProcessTaskCaseWithManualActivation.cmmn", "org/camunda/bpm/engine/test/history/HistoricCaseActivityInstanceTest.oneTaskProcess.bpmn20.xml" }) public void testHistoricCalledProcessInstanceId() { String taskId = "PI_ProcessTask_1"; createCaseInstanceByKey("oneProcessTaskCase").getId(); // as long as the process task is not activated there should be no process instance assertCount(0, historyService.createHistoricProcessInstanceQuery()); HistoricCaseActivityInstance historicInstance = queryHistoricActivityCaseInstance(taskId); assertNull(historicInstance.getCalledProcessInstanceId()); // start process task manually to create case instance CaseExecution processTask = queryCaseExecutionByActivityId(taskId); manualStart(processTask.getId()); // there should exist a new process instance HistoricProcessInstance calledProcessInstance = historyService.createHistoricProcessInstanceQuery().singleResult(); assertNotNull(calledProcessInstance); assertNotNull(calledProcessInstance.getEndTime()); // check that the called process instance id was correctly set historicInstance = queryHistoricActivityCaseInstance(taskId); assertEquals(calledProcessInstance.getId(), historicInstance.getCalledProcessInstanceId()); }
@Deployment public void testDecisionTask() { createCaseInstance(); HistoricCaseActivityInstance decisionTask = historyService .createHistoricCaseActivityInstanceQuery() .caseActivityId("PI_DecisionTask_1") .singleResult(); assertNotNull(decisionTask); assertEquals("decisionTask", decisionTask.getCaseActivityType()); }
protected void assertHistoricDuration(String activityId, long expectedDuration) { Long actualDuration = queryHistoricActivityCaseInstance(activityId).getDurationInMillis(); assertNotNull(actualDuration); // test that duration is as expected with a maximal difference of one second assertTrue(actualDuration >= expectedDuration); assertTrue(actualDuration < expectedDuration + 1000); }
protected void assertHistoricCreateTime(String activityId, Date expectedCreateTime) { HistoricCaseActivityInstance historicActivityInstance = queryHistoricActivityCaseInstance(activityId); Date actualCreateTime = historicActivityInstance.getCreateTime(); assertSimilarDate(expectedCreateTime, actualCreateTime); }
protected void assertHistoricEndTime(String activityId, Date expectedEndTime) { HistoricCaseActivityInstance historicActivityInstance = queryHistoricActivityCaseInstance(activityId); Date actualEndTime = historicActivityInstance.getEndTime(); assertSimilarDate(expectedEndTime, actualEndTime); }
assertNull(historicInstance.getCalledCaseInstanceId()); assertEquals(calledCaseInstance.getId(), historicInstance.getCalledCaseInstanceId()); assertEquals(calledCaseInstance.getId(), historicInstance.getCalledCaseInstanceId());
@Deployment(resources={"org/camunda/bpm/engine/test/api/cmmn/emptyStageWithManualActivationCase.cmmn"}) public void testHistoricCaseActivityInstanceProperties() { String activityId = "PI_Stage_1"; createCaseInstance(); CaseExecution stage = queryCaseExecutionByActivityId(activityId); HistoricCaseActivityInstance historicStage = queryHistoricActivityCaseInstance(activityId); assertEquals(stage.getId(), historicStage.getId()); assertEquals(stage.getParentId(), historicStage.getParentCaseActivityInstanceId()); assertEquals(stage.getCaseDefinitionId(), historicStage.getCaseDefinitionId()); assertEquals(stage.getCaseInstanceId(), historicStage.getCaseInstanceId()); assertEquals(stage.getActivityId(), historicStage.getCaseActivityId()); assertEquals(stage.getActivityName(), historicStage.getCaseActivityName()); assertEquals(stage.getActivityType(), historicStage.getCaseActivityType()); manualStart(stage.getId()); historicStage = queryHistoricActivityCaseInstance(activityId); assertNotNull(historicStage.getEndTime()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/cmmn/stage/AutoCompleteTest.testCasePlanModel.cmmn"}) public void testAutoCompleteEnabled() { String caseInstanceId = createCaseInstanceByKey("case").getId(); HistoricCaseInstance caseInstance = historyService .createHistoricCaseInstanceQuery() .caseInstanceId(caseInstanceId) .singleResult(); assertNotNull(caseInstance); assertTrue(caseInstance.isCompleted()); HistoricCaseActivityInstanceQuery query = historyService.createHistoricCaseActivityInstanceQuery(); HistoricCaseActivityInstance humanTask1 = query.caseActivityId("PI_HumanTask_1").singleResult(); assertNotNull(humanTask1); assertTrue(humanTask1.isTerminated()); assertNotNull(humanTask1.getEndTime()); assertNotNull(humanTask1.getDurationInMillis()); HistoricCaseActivityInstance humanTask2 = query.caseActivityId("PI_HumanTask_2").singleResult(); assertNotNull(humanTask2); assertTrue(humanTask2.isTerminated()); assertNotNull(humanTask2.getEndTime()); assertNotNull(humanTask2.getDurationInMillis()); }
historicTask1.getCreateTime(), historicTask2.getCreateTime(), historicTask3.getCreateTime()); historicTask1.getEndTime(), historicTask2.getEndTime(), historicTask3.getEndTime()); historicTask1.getDurationInMillis(), historicTask2.getDurationInMillis(), historicTask3.getDurationInMillis());
@Deployment(resources={ "org/camunda/bpm/engine/test/api/cmmn/oneProcessTaskCaseWithManualActivation.cmmn", "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml" }) public void testHistoricCaseActivityCalledProcessInstanceId() { String taskId = "PI_ProcessTask_1"; createCaseInstanceByKey("oneProcessTaskCase").getId(); // as long as the process task is not activated there should be no process instance assertCount(0, runtimeService.createProcessInstanceQuery()); HistoricCaseActivityInstance historicInstance = queryHistoricActivityCaseInstance(taskId); assertNull(historicInstance.getCalledProcessInstanceId()); // start process task manually to create case instance CaseExecution processTask = queryCaseExecutionByActivityId(taskId); manualStart(processTask.getId()); // there should exist a new process instance ProcessInstance calledProcessInstance = runtimeService.createProcessInstanceQuery().singleResult(); assertNotNull(calledProcessInstance); // check that the called process instance id was correctly set historicInstance = queryHistoricActivityCaseInstance(taskId); assertEquals(calledProcessInstance.getId(), historicInstance.getCalledProcessInstanceId()); // complete task and thereby the process instance Task task = taskService.createTaskQuery().singleResult(); taskService.complete(task.getId()); // check that the task id is still set assertCount(0, runtimeService.createProcessInstanceQuery()); historicInstance = queryHistoricActivityCaseInstance(taskId); assertEquals(calledProcessInstance.getId(), historicInstance.getCalledProcessInstanceId()); }
@Deployment public void testDecisionTask() { createCaseInstance(); HistoricCaseActivityInstance decisionTask = historyService .createHistoricCaseActivityInstanceQuery() .caseActivityId("PI_DecisionTask_1") .singleResult(); assertNotNull(decisionTask); assertEquals("decisionTask", decisionTask.getCaseActivityType()); }
protected void assertHistoricDuration(String activityId, long expectedDuration) { Long actualDuration = queryHistoricActivityCaseInstance(activityId).getDurationInMillis(); assertNotNull(actualDuration); // test that duration is as expected with a maximal difference of one second assertTrue(actualDuration >= expectedDuration); assertTrue(actualDuration < expectedDuration + 1000); }
protected void assertHistoricCreateTime(String activityId, Date expectedCreateTime) { HistoricCaseActivityInstance historicActivityInstance = queryHistoricActivityCaseInstance(activityId); Date actualCreateTime = historicActivityInstance.getCreateTime(); assertSimilarDate(expectedCreateTime, actualCreateTime); }
protected void assertHistoricEndTime(String activityId, Date expectedEndTime) { HistoricCaseActivityInstance historicActivityInstance = queryHistoricActivityCaseInstance(activityId); Date actualEndTime = historicActivityInstance.getEndTime(); assertSimilarDate(expectedEndTime, actualEndTime); }