@RequestMapping(value = "/", method = RequestMethod.GET) public Collection<ProcessInstanceDesc> getProcessInstances() { Collection<ProcessInstanceDesc> processInstances = runtimeDataService.getProcessInstances(new QueryContext(0, 100, "status", true)); return processInstances; }
@Override public Collection<ProcessInstanceSummary> getProcessInstances(List<Integer> states, String filterText, String initiator) { Collection<ProcessInstanceDesc> result = null; // TODO make use of paging properly as it's currently limiting to 100 if (!filterText.equals("")) { // search by process name result = dataService.getProcessInstancesByProcessName(states, filterText, initiator, new QueryContext(0, 100)); } else { result = dataService.getProcessInstances(states, initiator, new QueryContext(0, 100)); } return ProcessInstanceHelper.adaptCollection(result); }
public ProcessInstanceList getProcessInstances(List<Integer> status, String initiator, String processName, Integer page, Integer pageSize, String sort, boolean sortOrder) { if (sort == null || sort.isEmpty()) { sort = "ProcessInstanceId"; } if (status == null || status.isEmpty()) { status = new ArrayList<Integer>(); status.add(ProcessInstance.STATE_ACTIVE); } Collection<ProcessInstanceDesc> instances = null; if (processName != null && !processName.isEmpty()) { logger.debug("About to search for process instances with process name '{}' with page {} and page size {}", processName, page, pageSize); instances = runtimeDataService.getProcessInstancesByProcessName(status, processName, nullEmpty(initiator), buildQueryContext(page, pageSize, sort, sortOrder)); logger.debug("Found {} process instances for process name '{}', statuses '{}'", instances.size(), processName, status); } else { logger.debug("About to search for process instances with page {} and page size {}", page, pageSize); instances = runtimeDataService.getProcessInstances(status, nullEmpty(initiator), buildQueryContext(page, pageSize, sort, sortOrder)); logger.debug("Found {} process instances , statuses '{}'", instances.size(), status); } ProcessInstanceList processInstanceList = convertToProcessInstanceList(instances); logger.debug("Returning result of process instance search: {}", processInstanceList); return processInstanceList; }
@Override public Collection<ProcessInstanceSummary> getProcessInstances() { // TODO make use of paging properly as it's currently limiting to 100 return ProcessInstanceHelper.adaptCollection(dataService.getProcessInstances(new QueryContext(0, 100))); }
private List<ProcessInstanceSummary> getProcessInstances(QueryFilter filter) { List<Integer> states = null; String initiator = ""; if (filter.getParams() != null) { states = (List<Integer>) filter.getParams().get("states"); initiator = (String) filter.getParams().get("initiator"); } // append 1 to the count to check if there are further pages org.kie.internal.query.QueryFilter qf = new org.kie.internal.query.QueryFilter(filter.getOffset(), filter.getCount() + 1, filter.getOrderBy(), filter.isAscending()); Collection<ProcessInstanceDesc> processInstances = dataService.getProcessInstances(states, initiator, qf); List<ProcessInstanceSummary> processInstancesSums = new ArrayList<ProcessInstanceSummary>(processInstances.size()); for (ProcessInstanceDesc pi : processInstances) { if (filter.getParams().get("textSearch") == null || ((String) filter.getParams().get("textSearch")).isEmpty()) { processInstancesSums.add(ProcessInstanceHelper.adapt(pi)); } else if (pi.getProcessName().toLowerCase().contains((String) filter.getParams().get("textSearch"))) { processInstancesSums.add(ProcessInstanceHelper.adapt(pi)); } } return processInstancesSums; }