@RequestMapping(value = "/show", method = RequestMethod.GET) public ProcessInstanceDesc getProcessInstance(@RequestParam String id) { long processInstanceId = Long.parseLong(id); ProcessInstanceDesc processInstance = runtimeDataService.getProcessInstanceById(processInstanceId); return processInstance; }
@Override public ProcessInstanceSummary getProcessInstanceById(long processInstanceId) { return ProcessInstanceHelper.adapt(dataService.getProcessInstanceById(processInstanceId)); }
@Override public ProcessInstanceSummary getItem(ProcessInstanceKey key) { return ProcessInstanceHelper.adapt(dataService.getProcessInstanceById(key.getProcessInstanceId())); }
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; }
@Override public List<Message> healthCheck(boolean report) { List<Message> messages = KieServerExtension.super.healthCheck(report); try { // run base query to make sure data access layer is available runtimeDataService.getProcessInstanceById(-99999); if (report) { messages.add(new Message(Severity.INFO, getExtensionName() + " is alive")); } } catch (Exception e) { messages.add(new Message(Severity.ERROR, getExtensionName() + " failed due to " + e.getMessage())); } return messages; }
@Override public Collection<NodeInstanceSummary> getProcessInstanceCompletedNodes(long processInstanceId) { ProcessInstanceDesc piDesc = dataService.getProcessInstanceById(processInstanceId); // TODO make use of paging properly as it's currently limiting to 100 return NodeInstanceHelper.adaptCollection(dataService.getProcessInstanceHistoryCompleted( processInstanceId, new QueryContext(0, 100))); }
@Override public Collection<ProcessVariableSummary> getVariablesCurrentState(long processInstanceId, String processId) { ProcessInstanceDesc piDesc = dataService.getProcessInstanceById(processInstanceId); Map<String, String> properties = new HashMap<String, String>(bpmn2Service.getProcessVariables(piDesc.getDeploymentId(), processId)); return VariableHelper.adaptCollection(dataService.getVariablesCurrentState(processInstanceId), properties, processInstanceId); }
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; }
public String getActiveProcessImage(String containerId, long procInstId) { ProcessInstanceDesc instance = dataService.getProcessInstanceById(procInstId); if (instance == null) { throw new ProcessInstanceNotFoundException("No instance found for process instance id " + procInstId); } String imageSVGString = null; // get SVG String byte[] imageSVG = getProcessImageAsBytes(instance.getDeploymentId(), instance.getProcessId()); if (imageSVG != null) { // find active nodes and modify image Map<String, String> subProcessLinks = new HashMap<>(); Collection<NodeInstanceDesc> activeLogs = dataService.getProcessInstanceHistoryActive(procInstId, new QueryContext(0, 1000)); Collection<NodeInstanceDesc> completedLogs = dataService.getProcessInstanceHistoryCompleted(procInstId, new QueryContext(0, 1000)); Map<Long, String> active = new HashMap<Long, String>(); List<String> completed = new ArrayList<String>(); for (NodeInstanceDesc activeNode : activeLogs) { active.put(activeNode.getId(), activeNode.getNodeId()); populateSubProcessLink(containerId, activeNode, subProcessLinks); } for (NodeInstanceDesc completeNode : completedLogs) { completed.add(completeNode.getNodeId()); active.remove(completeNode.getId()); populateSubProcessLink(containerId, completeNode, subProcessLinks); } ByteArrayInputStream svgStream = new ByteArrayInputStream(imageSVG); imageSVGString = SVGImageProcessor.transform(svgStream, completed, new ArrayList<String>(active.values()), subProcessLinks); return imageSVGString; } throw new IllegalArgumentException("No process found for " + instance.getProcessId() + " within container " + containerId); }
private void testProcessWithStrategy(RuntimeStrategy strategy) { KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentUnit.setStrategy(strategy); deploymentService.deploy(deploymentUnit); String userId = "john"; Long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "hiring"); List<Long> taskIdList = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); Assertions.assertThat(taskIdList).hasSize(1); long taskId = taskIdList.get(0); userTaskService.claim(taskId, userId); userTaskService.start(taskId, userId); userTaskService.complete(taskId, userId, null); List<Status> taskStatus = new ArrayList<Status>(); taskStatus.add(Status.Completed); taskStatus.add(Status.Created); taskStatus.add(Status.InProgress); taskStatus.add(Status.Reserved); List<TaskSummary> taskSummaryList = runtimeDataService.getTasksByStatusByProcessInstanceId(processInstanceId, taskStatus, null); Assertions.assertThat(taskSummaryList).hasSize(1); processService.abortProcessInstance(processInstanceId); ProcessInstanceDesc pi = runtimeDataService.getProcessInstanceById(processInstanceId); assertNotNull(pi); assertEquals(ProcessInstance.STATE_ABORTED, pi.getState().intValue()); }
private void testProcessWithStrategy(RuntimeStrategy strategy) { KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentUnit.setStrategy(strategy); deploymentService.deploy(deploymentUnit); String userId = "john"; Long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "hiring"); List<Long> taskIdList = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); Assertions.assertThat(taskIdList).hasSize(1); long taskId = taskIdList.get(0); userTaskService.claim(taskId, userId); userTaskService.start(taskId, userId); userTaskService.complete(taskId, userId, null); List<Status> taskStatus = new ArrayList<Status>(); taskStatus.add(Status.Completed); taskStatus.add(Status.Created); taskStatus.add(Status.InProgress); taskStatus.add(Status.Reserved); List<TaskSummary> taskSummaryList = runtimeDataService.getTasksByStatusByProcessInstanceId(processInstanceId, taskStatus, null); Assertions.assertThat(taskSummaryList).hasSize(1); processService.abortProcessInstance(processInstanceId); ProcessInstanceDesc pi = runtimeDataService.getProcessInstanceById(processInstanceId); assertNotNull(pi); assertEquals(ProcessInstance.STATE_ABORTED, pi.getState().intValue()); }
private void testProcessWithStrategy(RuntimeStrategy strategy) { KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentUnit.setStrategy(strategy); deploymentService.deploy(deploymentUnit); String userId = "john"; Long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "hiring"); List<Long> taskIdList = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); Assertions.assertThat(taskIdList).hasSize(1); long taskId = taskIdList.get(0); userTaskService.claim(taskId, userId); userTaskService.start(taskId, userId); userTaskService.complete(taskId, userId, null); List<Status> taskStatus = new ArrayList<Status>(); taskStatus.add(Status.Completed); taskStatus.add(Status.Created); taskStatus.add(Status.InProgress); taskStatus.add(Status.Reserved); List<TaskSummary> taskSummaryList = runtimeDataService.getTasksByStatusByProcessInstanceId(processInstanceId, taskStatus, null); Assertions.assertThat(taskSummaryList).hasSize(1); processService.abortProcessInstance(processInstanceId); ProcessInstanceDesc pi = runtimeDataService.getProcessInstanceById(processInstanceId); assertNotNull(pi); assertEquals(ProcessInstance.STATE_ABORTED, pi.getState().intValue()); }
private void testProcessWithStrategy(RuntimeStrategy strategy) { KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentUnit.setStrategy(strategy); deploymentService.deploy(deploymentUnit); String userId = "john"; Long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "hiring"); List<Long> taskIdList = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); Assertions.assertThat(taskIdList).hasSize(1); long taskId = taskIdList.get(0); userTaskService.claim(taskId, userId); userTaskService.start(taskId, userId); userTaskService.complete(taskId, userId, null); List<Status> taskStatus = new ArrayList<Status>(); taskStatus.add(Status.Completed); taskStatus.add(Status.Created); taskStatus.add(Status.InProgress); taskStatus.add(Status.Reserved); List<TaskSummary> taskSummaryList = runtimeDataService.getTasksByStatusByProcessInstanceId(processInstanceId, taskStatus, null); Assertions.assertThat(taskSummaryList).hasSize(1); processService.abortProcessInstance(processInstanceId); ProcessInstanceDesc pi = runtimeDataService.getProcessInstanceById(processInstanceId); assertNotNull(pi); assertEquals(ProcessInstance.STATE_ABORTED, pi.getState().intValue()); }
private void testProcessWithStrategy(RuntimeStrategy strategy) { KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentUnit.setStrategy(strategy); deploymentService.deploy(deploymentUnit); String userId = "john"; Long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "hiring"); List<Long> taskIdList = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); Assertions.assertThat(taskIdList).hasSize(1); long taskId = taskIdList.get(0); userTaskService.claim(taskId, userId); userTaskService.start(taskId, userId); userTaskService.complete(taskId, userId, null); List<Status> taskStatus = new ArrayList<Status>(); taskStatus.add(Status.Completed); taskStatus.add(Status.Created); taskStatus.add(Status.InProgress); taskStatus.add(Status.Reserved); List<TaskSummary> taskSummaryList = runtimeDataService.getTasksByStatusByProcessInstanceId(processInstanceId, taskStatus, null); Assertions.assertThat(taskSummaryList).hasSize(1); processService.abortProcessInstance(processInstanceId); ProcessInstanceDesc pi = runtimeDataService.getProcessInstanceById(processInstanceId); assertNotNull(pi); assertEquals(ProcessInstance.STATE_ABORTED, pi.getState().intValue()); }
private void testProcessWithStrategy(RuntimeStrategy strategy) { KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentUnit.setStrategy(strategy); deploymentService.deploy(deploymentUnit); String userId = "john"; Long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "hiring"); List<Long> taskIdList = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); Assertions.assertThat(taskIdList).hasSize(1); long taskId = taskIdList.get(0); userTaskService.claim(taskId, userId); userTaskService.start(taskId, userId); userTaskService.complete(taskId, userId, null); List<Status> taskStatus = new ArrayList<Status>(); taskStatus.add(Status.Completed); taskStatus.add(Status.Created); taskStatus.add(Status.InProgress); taskStatus.add(Status.Reserved); List<TaskSummary> taskSummaryList = runtimeDataService.getTasksByStatusByProcessInstanceId(processInstanceId, taskStatus, null); Assertions.assertThat(taskSummaryList).hasSize(1); processService.abortProcessInstance(processInstanceId); ProcessInstanceDesc pi = runtimeDataService.getProcessInstanceById(processInstanceId); assertNotNull(pi); assertEquals(ProcessInstance.STATE_ABORTED, pi.getState().intValue()); }
private void testProcessWithStrategy(RuntimeStrategy strategy) { KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentUnit.setStrategy(strategy); deploymentService.deploy(deploymentUnit); String userId = "john"; Long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "hiring"); List<Long> taskIdList = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); Assertions.assertThat(taskIdList).hasSize(1); long taskId = taskIdList.get(0); userTaskService.claim(taskId, userId); userTaskService.start(taskId, userId); userTaskService.complete(taskId, userId, null); List<Status> taskStatus = new ArrayList<Status>(); taskStatus.add(Status.Completed); taskStatus.add(Status.Created); taskStatus.add(Status.InProgress); taskStatus.add(Status.Reserved); List<TaskSummary> taskSummaryList = runtimeDataService.getTasksByStatusByProcessInstanceId(processInstanceId, taskStatus, null); Assertions.assertThat(taskSummaryList).hasSize(1); processService.abortProcessInstance(processInstanceId); ProcessInstanceDesc pi = runtimeDataService.getProcessInstanceById(processInstanceId); assertNotNull(pi); assertEquals(ProcessInstance.STATE_ABORTED, pi.getState().intValue()); }
private void testProcessWithStrategy(RuntimeStrategy strategy) { KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentUnit.setStrategy(strategy); deploymentService.deploy(deploymentUnit); String userId = "john"; Long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "hiring"); List<Long> taskIdList = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); Assertions.assertThat(taskIdList).hasSize(1); long taskId = taskIdList.get(0); userTaskService.claim(taskId, userId); userTaskService.start(taskId, userId); userTaskService.complete(taskId, userId, null); List<Status> taskStatus = new ArrayList<Status>(); taskStatus.add(Status.Completed); taskStatus.add(Status.Created); taskStatus.add(Status.InProgress); taskStatus.add(Status.Reserved); List<TaskSummary> taskSummaryList = runtimeDataService.getTasksByStatusByProcessInstanceId(processInstanceId, taskStatus, null); Assertions.assertThat(taskSummaryList).hasSize(1); processService.abortProcessInstance(processInstanceId); ProcessInstanceDesc pi = runtimeDataService.getProcessInstanceById(processInstanceId); assertNotNull(pi); assertEquals(ProcessInstance.STATE_ABORTED, pi.getState().intValue()); }
ProcessInstanceDesc desc = runtimeDataService.getProcessInstanceById(processInstanceId); assertNotNull(desc); assertEquals(2, (int)desc.getState());