private Map<String, String> getActivitiToMidpoint(Set<String> activeProcessInstances, OperationResult result) { Map<String,String> rv = new HashMap<>(); int processWithoutTaskOidCount = 0; HistoricProcessInstanceQuery query = activitiEngine.getHistoryService().createHistoricProcessInstanceQuery() .includeProcessVariables() .excludeSubprocesses(true); List<HistoricProcessInstance> processes = query.list(); for (HistoricProcessInstance process : processes) { String taskOid = (String) process.getProcessVariables().get(CommonProcessVariableNames.VARIABLE_MIDPOINT_TASK_OID); rv.put(process.getId(), taskOid); if (taskOid == null) { processWithoutTaskOidCount++; } if (process.getEndTime() == null) { activeProcessInstances.add(process.getId()); } } LOGGER.info("Found {} processes; among these, {} have no task OID. Active processes: {}", rv.size(), processWithoutTaskOidCount, activeProcessInstances.size()); return rv; }
HistoricProcessInstance getHistoricProcessInstance(String processInstanceId, String spaceId) { HistoricProcessInstanceQuery query = engine.getHistoryService().createHistoricProcessInstanceQuery().variableValueEquals( Constants.VARIABLE_NAME_SPACE_ID, spaceId).excludeSubprocesses(true).processInstanceId(processInstanceId); return query.singleResult(); }
List<HistoricProcessInstance> getHistoricProcessInstances(String processDefinitionKey, String spaceId) { HistoricProcessInstanceQuery query = engine.getHistoryService().createHistoricProcessInstanceQuery().processDefinitionKey( processDefinitionKey).variableValueEquals(Constants.VARIABLE_NAME_SPACE_ID, spaceId).excludeSubprocesses(true); return query.list(); }
HistoricProcessInstance getHistoricProcessInstance(String processDefinitionKey, String spaceId, String processInstanceId) { HistoricProcessInstanceQuery query = engine.getHistoryService().createHistoricProcessInstanceQuery().processDefinitionKey( processDefinitionKey).variableValueEquals(Constants.VARIABLE_NAME_SPACE_ID, spaceId).excludeSubprocesses( true).processInstanceId(processInstanceId); return query.singleResult(); }
query.excludeSubprocesses(queryRequest.getExcludeSubprocesses());