protected HistoricProcessInstance getHistoricProcessInstance(CommandContext commandContext, String processInstanceId) { HistoryService historyService = commandContext.getProcessEngineConfiguration().getHistoryService(); return historyService.createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .singleResult(); }
private void verifyStringParameterQueryInvocations() { Map<String, String> stringQueryParameters = getCompleteStringQueryParameters(); verify(mockedQuery).processInstanceId(stringQueryParameters.get("processInstanceId")); verify(mockedQuery).processInstanceBusinessKey(stringQueryParameters.get("processInstanceBusinessKey")); verify(mockedQuery).processInstanceBusinessKeyLike(stringQueryParameters.get("processInstanceBusinessKeyLike")); verify(mockedQuery).processDefinitionId(stringQueryParameters.get("processDefinitionId")); verify(mockedQuery).processDefinitionKey(stringQueryParameters.get("processDefinitionKey")); verify(mockedQuery).processDefinitionName(stringQueryParameters.get("processDefinitionName")); verify(mockedQuery).processDefinitionNameLike(stringQueryParameters.get("processDefinitionNameLike")); verify(mockedQuery).startedBy(stringQueryParameters.get("startedBy")); verify(mockedQuery).superProcessInstanceId(stringQueryParameters.get("superProcessInstanceId")); verify(mockedQuery).subProcessInstanceId(stringQueryParameters.get("subProcessInstanceId")); verify(mockedQuery).superCaseInstanceId(stringQueryParameters.get("superCaseInstanceId")); verify(mockedQuery).subCaseInstanceId(stringQueryParameters.get("subCaseInstanceId")); verify(mockedQuery).caseInstanceId(stringQueryParameters.get("caseInstanceId")); verify(mockedQuery).incidentType(stringQueryParameters.get("incidentType")); verify(mockedQuery).list(); }
assertEquals(0, historyService.createHistoricProcessInstanceQuery().finishedBefore(hourAgo.getTime()).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().finishedBefore(hourFromNow.getTime()).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().finishedAfter(hourAgo.getTime()).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().finishedAfter(hourFromNow.getTime()).count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().startedBefore(hourFromNow.getTime()).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().startedBefore(hourAgo.getTime()).count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().startedAfter(hourAgo.getTime()).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().startedAfter(hourFromNow.getTime()).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().startedAfter(hourFromNow.getTime()).startedBefore(hourAgo.getTime()).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().finished().count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstance.getId()).count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().processDefinitionId(processInstance.getProcessDefinitionId()).count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().processDefinitionKey("oneTaskProcess").count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().processInstanceBusinessKey("businessKey_123").count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().processInstanceBusinessKeyLike("business%").count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().processInstanceBusinessKeyLike("%sinessKey\\_123").count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().processInstanceBusinessKeyLike("%siness%").count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().processDefinitionName("The One Task_Process").count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().processDefinitionNameLike("The One Task%").count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().processDefinitionNameLike("%One Task\\_Process").count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().processDefinitionNameLike("%One Task%").count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().processDefinitionKeyNotIn(exludeIds).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().processDefinitionKey("oneTaskProcess").processDefinitionKeyNotIn(exludeIds).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().processDefinitionKeyNotIn(exludeIds).count());
public HistoricProcessInstance historicProcessInstance() { HistoricProcessInstance historicProcessInstance = historyService .createHistoricProcessInstanceQuery() .processInstanceBusinessKey(getBuisnessKey()) .singleResult(); if (historicProcessInstance == null) { throw new RuntimeException("There is no historic process instance for scenario " + getBuisnessKey()); } return historicProcessInstance; }
query.processInstanceId(processInstanceId); query.processInstanceIds(processInstanceIds); query.processDefinitionId(processDefinitionId); query.processDefinitionKey(processDefinitionKey); query.processDefinitionName(processDefinitionName); query.processDefinitionNameLike(processDefinitionNameLike); query.processDefinitionKeyNotIn(processDefinitionKeyNotIn); query.processInstanceBusinessKey(processInstanceBusinessKey); query.processInstanceBusinessKeyLike(processInstanceBusinessKeyLike); query.rootProcessInstances(); query.finished(); query.unfinished(); query.withIncidents(); query.withRootIncidents(); query.incidentStatus(incidentStatus);
HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery().variableValueEquals("dateVar", date1); List<HistoricProcessInstance> processInstances = query.list(); Assert.assertNotNull(processInstances); Assert.assertEquals(2, processInstances.size()); query = historyService.createHistoricProcessInstanceQuery().variableValueEquals("dateVar", date1).variableValueEquals("dateVar2", date2); HistoricProcessInstance resultInstance = query.singleResult(); Assert.assertNotNull(resultInstance); Assert.assertEquals(processInstance2.getId(), resultInstance.getId()); resultInstance = historyService.createHistoricProcessInstanceQuery().variableValueEquals("dateVar", unexistingDate).singleResult(); Assert.assertNull(resultInstance); resultInstance = historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("dateVar", date1).singleResult(); Assert.assertNotNull(resultInstance); Assert.assertEquals(processInstance3.getId(), resultInstance.getId()); resultInstance = historyService.createHistoricProcessInstanceQuery().variableValueGreaterThan("dateVar", nextMonth.getTime()).singleResult(); Assert.assertNotNull(resultInstance); Assert.assertEquals(processInstance3.getId(), resultInstance.getId()); Assert.assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueGreaterThan("dateVar", nextYear.getTime()).count()); Assert.assertEquals(3, historyService.createHistoricProcessInstanceQuery().variableValueGreaterThan("dateVar", oneYearAgo.getTime()).count()); resultInstance = historyService.createHistoricProcessInstanceQuery().variableValueGreaterThanOrEqual("dateVar", nextMonth.getTime()).singleResult(); Assert.assertNotNull(resultInstance); Assert.assertEquals(processInstance3.getId(), resultInstance.getId()); resultInstance = historyService.createHistoricProcessInstanceQuery().variableValueGreaterThanOrEqual("dateVar", nextYear.getTime()).singleResult();
@Deployment(resources = {"org/camunda/bpm/engine/test/history/oneTaskProcess.bpmn20.xml"}) public void testLongRunningHistoricDataCreatedForProcessExecution() { final long ONE_YEAR = 1000 * 60 * 60 * 24 * 365; Calendar cal = Calendar.getInstance(); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); Date now = cal.getTime(); ClockUtil.setCurrentTime(now); final ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess", "myBusinessKey"); assertEquals(1, historyService.createHistoricProcessInstanceQuery().unfinished().count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().finished().count()); HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstance.getId()).singleResult(); assertEquals(now, historicProcessInstance.getStartTime()); List<Task> tasks = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list(); assertEquals(1, tasks.size()); // in this test scenario we assume that one year after the process start, the // user completes the task (incredible speedy!) cal.add(Calendar.YEAR, 1); Date oneYearLater = cal.getTime(); ClockUtil.setCurrentTime(oneYearLater); taskService.complete(tasks.get(0).getId()); historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstance.getId()).singleResult(); assertEquals(now, historicProcessInstance.getStartTime()); assertEquals(oneYearLater, historicProcessInstance.getEndTime()); assertTrue(historicProcessInstance.getDurationInMillis() >= ONE_YEAR); assertTrue(((HistoricProcessInstanceEventEntity)historicProcessInstance).getDurationRaw() >= ONE_YEAR); assertEquals(0, historyService.createHistoricProcessInstanceQuery().unfinished().count()); assertEquals(1, historyService.createHistoricProcessInstanceQuery().finished().count()); }
.processInstanceId(processInstance1.getId()).singleResult(); .processInstanceId(processInstance2.getId()).singleResult(); assertEquals(2, processEngineRule.getHistoryService().createHistoricProcessInstanceQuery().suspended().count()); .processInstanceId(processInstance1.getId()).singleResult(); .processInstanceId(processInstance2.getId()).singleResult(); assertEquals(2, processEngineRule.getHistoryService().createHistoricProcessInstanceQuery().active().count());
HistoricProcessInstance hpi = historyService.createHistoricProcessInstanceQuery().superProcessInstanceId(processInstance.getId()).singleResult(); assertEquals(businessKey, hpi.getBusinessKey()); assertEquals(2, historyService.createHistoricProcessInstanceQuery().processInstanceBusinessKey(businessKey).list().size()); HistoricProcessInstance hpi = historyService.createHistoricProcessInstanceQuery().superProcessInstanceId(processInstance.getId()).finished().singleResult(); assertEquals(businessKey, hpi.getBusinessKey()); assertEquals(2, historyService.createHistoricProcessInstanceQuery().processInstanceBusinessKey(businessKey).finished().list().size());
@Deployment(resources = { "org/camunda/bpm/engine/test/history/HistoricProcessInstanceTest.testBusinessKey.cmmn", "org/camunda/bpm/engine/test/history/HistoricProcessInstanceTest.testBusinessKey.bpmn20.xml" }) public void testBusinessKey() { // given String businessKey = "aBusinessKey"; caseService .withCaseDefinitionByKey("case") .businessKey(businessKey) .create() .getId(); // then HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery(); query.processInstanceBusinessKey(businessKey); assertEquals(1, query.count()); assertEquals(1, query.list().size()); HistoricProcessInstance historicProcessInstance = query.singleResult(); assertNotNull(historicProcessInstance); assertEquals(businessKey, historicProcessInstance.getBusinessKey()); }
@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) public void testDeleteProcessInstances() { //given List<String> ids = prepareHistoricProcesses(); //when historyService.deleteHistoricProcessInstances(ids); //then assertEquals(0, historyService.createHistoricProcessInstanceQuery().processDefinitionKey(ONE_TASK_PROCESS).count()); }
@Test public void testPAGroovyProcessEnginePlugin() { ProcessEngine groovyEngine = processEngineService.getProcessEngine("groovy"); Assert.assertNotNull(groovyEngine); ProcessInstance pi = groovyEngine.getRuntimeService().startProcessInstanceByKey("groovy"); HistoricProcessInstance hpi = groovyEngine.getHistoryService() .createHistoricProcessInstanceQuery().processDefinitionKey("groovy").finished().singleResult(); assertEquals(pi.getId(), hpi.getId()); }
.get(HISTORIC_PROCESS_INSTANCE_RESOURCE_URL); verify(mockedQuery).variableValueEquals(variableName, variableValue); .get(HISTORIC_PROCESS_INSTANCE_RESOURCE_URL); verify(mockedQuery).variableValueGreaterThan(variableName, variableValue); .get(HISTORIC_PROCESS_INSTANCE_RESOURCE_URL); verify(mockedQuery).variableValueGreaterThanOrEqual(variableName, variableValue); .get(HISTORIC_PROCESS_INSTANCE_RESOURCE_URL); verify(mockedQuery).variableValueLessThan(variableName, variableValue); .get(HISTORIC_PROCESS_INSTANCE_RESOURCE_URL); verify(mockedQuery).variableValueLessThanOrEqual(variableName, variableValue); .get(HISTORIC_PROCESS_INSTANCE_RESOURCE_URL); verify(mockedQuery).variableValueLike(variableName, variableValue); .get(HISTORIC_PROCESS_INSTANCE_RESOURCE_URL); verify(mockedQuery).variableValueNotEquals(variableName, variableValue);
public void testQueryByInvalidSuperCaseInstanceId() { HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery(); query.superCaseInstanceId("invalid"); assertEquals(0, query.count()); assertEquals(0, query.list().size()); query.caseInstanceId(null); assertEquals(0, query.count()); assertEquals(0, query.list().size()); }
@Test @RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_ACTIVITY) public void testMigrateHistoryProcessInstance() { //given HistoricProcessInstanceQuery sourceHistoryProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery() .processDefinitionId(sourceProcessDefinition.getId()); HistoricProcessInstanceQuery targetHistoryProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery() .processDefinitionId(targetProcessDefinition.getId()); //when assertEquals(1, sourceHistoryProcessInstanceQuery.count()); assertEquals(0, targetHistoryProcessInstanceQuery.count()); ProcessInstanceQuery sourceProcessInstanceQuery = runtimeService.createProcessInstanceQuery().processDefinitionId(sourceProcessDefinition.getId()); runtimeService.newMigration(migrationPlan) .processInstanceQuery(sourceProcessInstanceQuery) .execute(); //then assertEquals(0, sourceHistoryProcessInstanceQuery.count()); assertEquals(1, targetHistoryProcessInstanceQuery.count()); HistoricProcessInstance instance = targetHistoryProcessInstanceQuery.singleResult(); assertEquals(instance.getProcessDefinitionKey(), targetProcessDefinition.getKey()); }
@Test public void testQueryByActiveActivityIdInAndProcessDefinitionKey() { // given deployment(ProcessModels.ONE_TASK_PROCESS); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("Process"); // when HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() .processDefinitionKey("Process") .activeActivityIdIn("userTask") .singleResult(); // then assertNotNull(historicProcessInstance); assertEquals(processInstance.getId(), historicProcessInstance.getId()); }
public void execute(ProcessEngine engine, String scenarioName) { for (int i = 0; i < 10; i++) { engine.getRuntimeService().startProcessInstanceByKey("oneTaskProcess_710", "DeleteHistoricProcessInstancesBatchScenario"); String taskId = engine.getTaskService().createTaskQuery() .processDefinitionKey("oneTaskProcess_710") .processInstanceBusinessKey("DeleteHistoricProcessInstancesBatchScenario") .singleResult() .getId(); engine.getTaskService().complete(taskId); } List<String> processInstanceIds = new ArrayList<>(); List<HistoricProcessInstance> processInstances = engine.getHistoryService().createHistoricProcessInstanceQuery() .processDefinitionKey("oneTaskProcess_710") .processInstanceBusinessKey("DeleteHistoricProcessInstancesBatchScenario") .list(); for (HistoricProcessInstance processInstance : processInstances) { processInstanceIds.add(processInstance.getId()); } engine.getHistoryService().deleteHistoricProcessInstancesAsync(processInstanceIds, null); } };
public void testQuerySortingAsc() { List<HistoricProcessInstance> historicProcessInstances = historyService.createHistoricProcessInstanceQuery() .tenantIdIn(TENANT_ONE, TENANT_TWO) .orderByTenantId() .asc() .list(); assertThat(historicProcessInstances.size(), is(2)); assertThat(historicProcessInstances.get(0).getTenantId(), is(TENANT_ONE)); assertThat(historicProcessInstances.get(1).getTenantId(), is(TENANT_TWO)); }
public void testQueryByInvalidCaseInstanceId() { HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery(); query.caseInstanceId("invalid"); assertEquals(0, query.count()); assertEquals(0, query.list().size()); query.caseInstanceId(null); assertEquals(0, query.count()); assertEquals(0, query.list().size()); }
public Void execute(CommandContext commandContext) { HistoricProcessInstanceEntity historicProcessInstanceEntity = (HistoricProcessInstanceEntity) historyService.createHistoricProcessInstanceQuery().singleResult(); commandContext.getDbEntityManager() .delete(historicProcessInstanceEntity); return null; } });