public static Collection<ProcessInstanceSummary> adaptCollection(Collection<ProcessInstanceDesc> processInstances) { List<ProcessInstanceSummary> processInstancesSummary = new ArrayList<ProcessInstanceSummary>(); for (ProcessInstanceDesc pi : processInstances) { processInstancesSummary.add(adapt(pi)); } return processInstancesSummary; }
@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))); }
public static Collection<String> collectActiveSignals(Collection<NodeInstance> activeNodes) { Collection<String> activeNodesComposite = new ArrayList<String>(); for (NodeInstance nodeInstance : activeNodes) { if (nodeInstance instanceof EventNodeInstance) { String type = ((EventNodeInstance) nodeInstance).getEventNode().getType(); if (type != null && !type.startsWith("Message-")) { activeNodesComposite.add(type); } } if (nodeInstance instanceof CompositeNodeInstance) { Collection<NodeInstance> currentNodeInstances = ((CompositeNodeInstance) nodeInstance).getNodeInstances(); // recursively check current nodes activeNodesComposite.addAll(collectActiveSignals(currentNodeInstances)); } } return activeNodesComposite; }
@Override public Collection<ProcessInstanceSummary> getProcessInstancesByDeploymentId(String deploymentId, List<Integer> states) { // TODO make use of paging properly as it's currently limiting to 100 return ProcessInstanceHelper.adaptCollection(dataService.getProcessInstancesByDeploymentId(deploymentId, states, new QueryContext(0, 100))); }
@Override public ProcessInstanceSummary getProcessInstanceById(long processInstanceId) { return ProcessInstanceHelper.adapt(dataService.getProcessInstanceById(processInstanceId)); }
@Override public Collection<ProcessInstanceSummary> getProcessInstancesByProcessDefinition(String processDefId) { // TODO make use of paging properly as it's currently limiting to 100 return ProcessInstanceHelper.adaptCollection(dataService.getProcessInstancesByProcessDefinition(processDefId, new QueryContext(0, 100))); }
@Override public ProcessInstanceSummary getItem(ProcessInstanceKey key) { return ProcessInstanceHelper.adapt(dataService.getProcessInstanceById(key.getProcessInstanceId())); }
@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); }
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; }