public org.kie.server.api.model.instance.ProcessInstance getProcessInstanceByCorrelationKey(String correlationKey) { String[] correlationProperties = correlationKey.split(":"); CorrelationKey actualCorrelationKey = correlationKeyFactory.newCorrelationKey(Arrays.asList(correlationProperties)); ProcessInstanceDesc instance = runtimeDataService.getProcessInstanceByCorrelationKey(actualCorrelationKey); org.kie.server.api.model.instance.ProcessInstance processInstanceList = convertToProcessInstance(instance); logger.debug("Returning result of process instance search: {}", instance); return processInstanceList; }
public static ProcessInstanceList convertToProcessInstanceList(Collection<ProcessInstanceDesc> instances) { if (instances == null) { return new ProcessInstanceList(new org.kie.server.api.model.instance.ProcessInstance[0]); } List<ProcessInstance> processInstances = new ArrayList<ProcessInstance>(instances.size()); for (ProcessInstanceDesc pi : instances) { org.kie.server.api.model.instance.ProcessInstance instance = convertToProcessInstance(pi); processInstances.add(instance); } return new ProcessInstanceList(processInstances); }
public static ProcessInstanceList convertToProcessInstanceWithVarsList(Collection<ProcessInstanceWithVarsDesc> instances) { if (instances == null) { return new ProcessInstanceList(new org.kie.server.api.model.instance.ProcessInstance[0]); } List<ProcessInstance> processInstances = new ArrayList<ProcessInstance>(instances.size()); for (ProcessInstanceWithVarsDesc pi : instances) { org.kie.server.api.model.instance.ProcessInstance instance = convertToProcessInstance(pi); instance.setVariables(pi.getVariables()); processInstances.add(instance); } return new ProcessInstanceList(processInstances); }
public String getProcessInstance(String containerId, Number processInstanceId, boolean withVars, String marshallingType) { ProcessInstanceDesc instanceDesc = runtimeDataService.getProcessInstanceById(processInstanceId.longValue()); if (instanceDesc == null) { throw new IllegalStateException("Unable to find process instance with id " + processInstanceId); } containerId = context.getContainerId(containerId, new ByProcessInstanceIdContainerLocator(processInstanceId.longValue())); org.kie.server.api.model.instance.ProcessInstance processInstance = convertToProcessInstance(instanceDesc); if (Boolean.TRUE.equals(withVars) && processInstance.getState().equals(ProcessInstance.STATE_ACTIVE)) { Map<String, Object> variables = processService.getProcessInstanceVariables(containerId, processInstanceId.longValue()); processInstance.setVariables(variables); } logger.debug("About to marshal process instance with id '{}' {}", processInstanceId, processInstance); String response = marshallerHelper.marshal(containerId, marshallingType, processInstance, new ByProcessInstanceIdContainerLocator(processInstanceId.longValue())); return response; }
public org.kie.server.api.model.instance.ProcessInstance getProcessInstanceById(long processInstanceId, boolean withVars) { ProcessInstanceDesc processInstanceDesc = runtimeDataService.getProcessInstanceById(processInstanceId); if (processInstanceDesc == null) { throw new ProcessInstanceNotFoundException("Could not find process instance with id " + processInstanceId); } org.kie.server.api.model.instance.ProcessInstance processInstance = convertToProcessInstance(processInstanceDesc); if (Boolean.TRUE.equals(withVars)) { Collection<VariableDesc> variableDescs = runtimeDataService.getVariablesCurrentState(processInstanceId); Map<String, Object> vars = new HashMap<String, Object>(); for (VariableDesc var : variableDescs) { vars.put(var.getVariableId(), var.getNewValue()); } processInstance.setVariables(vars); } return processInstance; }