@Get public DataResponse getHistoricProcessInstances() { if (!authenticate()) { return null; } Form urlQuery = getQuery(); // Populate query based on request HistoricProcessInstanceQueryRequest queryRequest = new HistoricProcessInstanceQueryRequest(); if (getQueryParameter("processInstanceId", urlQuery) != null) { queryRequest.setProcessInstanceId(getQueryParameter("processInstanceId", urlQuery)); } if (getQueryParameter("processDefinitionKey", urlQuery) != null) { queryRequest.setProcessDefinitionKey(getQueryParameter("processDefinitionKey", urlQuery)); } if (getQueryParameter("processDefinitionId", urlQuery) != null) { queryRequest.setProcessDefinitionId(getQueryParameter("processDefinitionId", urlQuery)); } if (getQueryParameter("businessKey", urlQuery) != null) { queryRequest.setProcessBusinessKey(getQueryParameter("businessKey", urlQuery)); } if (getQueryParameter("involvedUser", urlQuery) != null) { queryRequest.setInvolvedUser(getQueryParameter("involvedUser", urlQuery)); } if (getQueryParameter("finished", urlQuery) != null) { queryRequest.setFinished(getQueryParameterAsBoolean("finished", urlQuery)); } if (getQueryParameter("superProcessInstanceId", urlQuery) != null) { queryRequest.setSuperProcessInstanceId(getQueryParameter("superProcessInstanceId", urlQuery)); } if (getQueryParameter("excludeSubprocesses", urlQuery) != null) { queryRequest.setExcludeSubprocesses( getQueryParameterAsBoolean("excludeSubprocesses", urlQuery)); } if (getQueryParameter("finishedAfter", urlQuery) != null) { queryRequest.setFinishedAfter(getQueryParameterAsDate("finishedAfter", urlQuery)); } if (getQueryParameter("finishedBefore", urlQuery) != null) { queryRequest.setFinishedBefore(getQueryParameterAsDate("finishedBefore", urlQuery)); } if (getQueryParameter("startedAfter", urlQuery) != null) { queryRequest.setStartedAfter(getQueryParameterAsDate("startedAfter", urlQuery)); } if (getQueryParameter("startedBefore", urlQuery) != null) { queryRequest.setStartedBefore(getQueryParameterAsDate("startedBefore", urlQuery)); } if (getQueryParameter("startedBy", urlQuery) != null) { queryRequest.setStartedBy(getQueryParameter("startedBy", urlQuery)); } if (getQueryParameter("includeProcessVariables", urlQuery) != null) { queryRequest.setIncludeProcessVariables( getQueryParameterAsBoolean("includeProcessVariables", urlQuery)); } return getQueryResponse(queryRequest, urlQuery); }
protected DataResponse getQueryResponse( HistoricProcessInstanceQueryRequest queryRequest, Form urlQuery) { HistoricProcessInstanceQuery query = ActivitiUtil.getHistoryService().createHistoricProcessInstanceQuery(); // Populate query based on request if (queryRequest.getProcessInstanceId() != null) { query.processInstanceId(queryRequest.getProcessInstanceId()); } if (queryRequest.getProcessInstanceIds() != null && !queryRequest.getProcessInstanceIds().isEmpty()) { query.processInstanceIds(new HashSet<String>(queryRequest.getProcessInstanceIds())); } if (queryRequest.getProcessDefinitionKey() != null) { query.processDefinitionKey(queryRequest.getProcessDefinitionKey()); } if (queryRequest.getProcessDefinitionId() != null) { query.processDefinitionId(queryRequest.getProcessDefinitionId()); } if (queryRequest.getProcessBusinessKey() != null) { query.processInstanceBusinessKey(queryRequest.getProcessBusinessKey()); } if (queryRequest.getInvolvedUser() != null) { query.involvedUser(queryRequest.getInvolvedUser()); } if (queryRequest.getSuperProcessInstanceId() != null) { query.superProcessInstanceId(queryRequest.getSuperProcessInstanceId()); } if (queryRequest.getExcludeSubprocesses() != null) { query.excludeSubprocesses(queryRequest.getExcludeSubprocesses()); } if (queryRequest.getFinishedAfter() != null) { query.finishedAfter(queryRequest.getFinishedAfter()); } if (queryRequest.getFinishedBefore() != null) { query.finishedBefore(queryRequest.getFinishedBefore()); } if (queryRequest.getStartedAfter() != null) { query.startedAfter(queryRequest.getStartedAfter()); } if (queryRequest.getStartedBefore() != null) { query.startedBefore(queryRequest.getStartedBefore()); } if (queryRequest.getStartedBy() != null) { query.startedBy(queryRequest.getStartedBy()); } if (queryRequest.getFinished() != null) { if (queryRequest.getFinished()) { query.finished(); } else { query.unfinished(); } } if (queryRequest.getIncludeProcessVariables() != null) { if (queryRequest.getIncludeProcessVariables()) { query.includeProcessVariables(); } } if (queryRequest.getVariables() != null) { addVariables(query, queryRequest.getVariables()); } if (queryRequest.getTenantId() != null) { query.processInstanceTenantId(queryRequest.getTenantId()); } if (queryRequest.getTenantIdLike() != null) { query.processInstanceTenantIdLike(queryRequest.getTenantIdLike()); } if (Boolean.TRUE.equals(queryRequest.getWithoutTenantId())) { query.processInstanceWithoutTenantId(); } return new HistoricProcessInstancePaginateList(this) .paginateList(urlQuery, queryRequest, query, "processInstanceId", allowedSortProperties); }