private HistoricProcessInstanceQuery createExpiredHistoricProcessInstancesQuery(Date expirationTime) { return historyService.createHistoricProcessInstanceQuery() .finished() .startedBefore(expirationTime); }
private HistoricProcessInstanceQuery createExpiredHistoricProcessInstancesQuery(Date expirationTime) { return historyService.createHistoricProcessInstanceQuery() .finished() .startedBefore(expirationTime); }
public long getStartTime(DelegateExecution context, String processId) { HistoryService historyService = processEngineConfiguration.getHistoryService(); HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery() .processInstanceId(processId) .singleResult(); return processInstance.getStartTime() .getTime(); }
private boolean processHierarchyHasDeleteReason(HistoricProcessInstance historicProcessInstance) { if (historicProcessInstance.getDeleteReason() != null) { return true; } List<HistoricProcessInstance> children = processEngine.getHistoryService() .createHistoricProcessInstanceQuery() .superProcessInstanceId(historicProcessInstance.getId()) .list(); return children.stream() .anyMatch(this::processHierarchyHasDeleteReason); }
public long getStartTime(DelegateExecution context, String processId) { HistoryService historyService = processEngineConfiguration.getHistoryService(); HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery() .processInstanceId(processId) .singleResult(); return processInstance.getStartTime() .getTime(); }
private boolean hasDeleteReason(String processId) { HistoricProcessInstance historicProcessInstance = processEngine.getHistoryService() .createHistoricProcessInstanceQuery() .processInstanceId(processId) .singleResult(); return historicProcessInstance != null && processHierarchyHasDeleteReason(historicProcessInstance); }
@Override public void processIsEnded(final String processInstanceId) { // Assert there is no running process instance callback.trace(LogMessage.PROCESS_6, processInstanceId); final ProcessInstance processInstance = getRuntimeService().createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); Assert.assertThat(processInstance, is(nullValue())); // Assert there is a historic process instance and it is ended callback.trace(LogMessage.PROCESS_4, processInstanceId); final HistoricProcessInstance historicProcessInstance = getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); historicProcessInstanceEnded(historicProcessInstance); }
@Override public void historicProcessVariableLatestValueEquals(final String processInstanceId, final String processVariableName, final Object expectedValue) { // Assert the history level is set to full callback.trace(LogMessage.CONFIGURATION_1, HistoryLevel.FULL.name()); checkHistoryLevelIsFull(); // Assert there is a historic process instance by the provided id callback.trace(LogMessage.PROCESS_13, processInstanceId); final HistoricProcessInstance historicProcessInstance = getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(processInstanceId) .singleResult(); Assert.assertThat(historicProcessInstance, is(notNullValue())); // Assert there is a variable by the provided name callback.trace(LogMessage.VARIABLE_1, processVariableName, processInstanceId); final List<HistoricVariableUpdate> variableUpdates = getDescendingVariableUpdates(processInstanceId, processVariableName); Assert.assertThat(variableUpdates, CoreMatchers.not(IsEmptyCollection.empty())); // Assert the latest value of the variable is equal to the expected value callback.trace(LogMessage.VARIABLE_2, processVariableName, expectedValue); final HistoricVariableUpdate latestValue = variableUpdates.get(0); Assert.assertThat(latestValue.getValue(), is(expectedValue)); }
@RequestMapping(value = "/rest/process-instances/history/{processInstanceId}/model-json", method = RequestMethod.GET, produces = "application/json") public JsonNode getModelHistoryJSON(@PathVariable String processInstanceId) { User currentUser = SecurityUtils.getCurrentUserObject(); if (!permissionService.hasReadPermissionOnProcessInstance(currentUser, processInstanceId)) { throw new NotPermittedException(); } HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); if (processInstance == null) { throw new BadRequestException("No process instance found with id " + processInstanceId); } BpmnModel pojoModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId()); if (pojoModel == null || pojoModel.getLocationMap().isEmpty()) { throw new InternalServerErrorException("Process definition could not be found with id " + processInstance.getProcessDefinitionId()); } // Fetch process-instance activities List<HistoricActivityInstance> activityInstances = historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).list(); Set<String> completedActivityInstances = new HashSet<>(); Set<String> currentActivityinstances = new HashSet<>(); if (CollectionUtils.isNotEmpty(activityInstances)) { for (HistoricActivityInstance activityInstance : activityInstances) { if (activityInstance.getEndTime() != null) { completedActivityInstances.add(activityInstance.getActivityId()); } else { currentActivityinstances.add(activityInstance.getActivityId()); } } } ObjectNode displayNode = processProcessElements(pojoModel, completedActivityInstances, currentActivityinstances, Collections.EMPTY_LIST, processInstanceId); return displayNode; }
@Override public void processIsActive(final String processInstanceId) { // Assert there is a running process instance callback.trace(LogMessage.PROCESS_2, processInstanceId); final ProcessInstance processInstance = getRuntimeService().createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); Assert.assertThat(processInstance, is(notNullValue())); callback.trace(LogMessage.PROCESS_7, processInstanceId); Assert.assertThat(processInstance.isEnded(), is(false)); callback.trace(LogMessage.PROCESS_8, processInstanceId); Assert.assertThat(processInstance.isSuspended(), is(false)); // Assert that the historic process instance is not ended callback.trace(LogMessage.PROCESS_3, processInstanceId); final HistoricProcessInstance historicProcessInstance = getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(processInstanceId) .singleResult(); historicProcessInstanceNotEnded(historicProcessInstance); }
for (ProcessDefinition processDefinition : processDefinitions) { completedProcessInstanceCountMap.put(processDefinition.getKey() + " (v" + processDefinition.getVersion() + ")", processEngine.getHistoryService().createHistoricProcessInstanceQuery().finished().processDefinitionId(processDefinition.getId()).count());
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId).singleResult(); assertEquals(processInstanceId, historicProcessInstance.getId());
if (processEngineConfiguration.getHistoryLevel().isAtLeast(HistoryLevel.AUDIT)) { List<HistoricProcessInstance> historicProcessInstances = historyService.createHistoricProcessInstanceQuery().finished().list();