@Override public List<NodeInstanceSummary> getProcessInstanceActiveNodes(ProcessInstanceKey processInstanceKey) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return emptyList(); } QueryServicesClient queryServicesClient = getClient(processInstanceKey.getServerTemplateId(), QueryServicesClient.class); List<NodeInstance> nodeInstances = queryServicesClient.findActiveNodeInstances(processInstanceKey.getProcessInstanceId(), 0, Integer.MAX_VALUE); return nodeInstances.stream().map(new NodeInstanceSummaryMapper()).collect(toList()); }
@Override public List<NodeInstanceSummary> getProcessInstanceCompletedNodes(ProcessInstanceKey processInstanceKey) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return emptyList(); } QueryServicesClient queryServicesClient = getClient(processInstanceKey.getServerTemplateId(), QueryServicesClient.class); List<NodeInstance> nodeInstances = queryServicesClient.findCompletedNodeInstances(processInstanceKey.getProcessInstanceId(), 0, Integer.MAX_VALUE); return nodeInstances.stream().map(new NodeInstanceSummaryMapper()).collect(toList()); }
@Override public List<NodeInstanceSummary> getProcessInstanceActiveNodes(ProcessInstanceKey processInstanceKey) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return emptyList(); } QueryServicesClient queryServicesClient = getClient(processInstanceKey.getServerTemplateId(), QueryServicesClient.class); List<NodeInstance> nodeInstances = queryServicesClient.findActiveNodeInstances(processInstanceKey.getProcessInstanceId(), 0, Integer.MAX_VALUE); return nodeInstances.stream().map(new NodeInstanceSummaryMapper()).collect(toList()); }
@Override public List<NodeInstanceSummary> getProcessInstanceCompletedNodes(ProcessInstanceKey processInstanceKey) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return emptyList(); } QueryServicesClient queryServicesClient = getClient(processInstanceKey.getServerTemplateId(), QueryServicesClient.class); List<NodeInstance> nodeInstances = queryServicesClient.findCompletedNodeInstances(processInstanceKey.getProcessInstanceId(), 0, Integer.MAX_VALUE); return nodeInstances.stream().map(new NodeInstanceSummaryMapper()).collect(toList()); }
@Override public List<TimerInstanceSummary> getProcessInstanceTimerInstances(ProcessInstanceKey processInstanceKey) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return emptyList(); } ProcessAdminServicesClient servicesClient = getClient(processInstanceKey.getServerTemplateId(), ProcessAdminServicesClient.class); return servicesClient.getTimerInstances(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId()).stream().map(new TimerInstanceSummaryMapper()).collect(toList()); }
@Override public List<TimerInstanceSummary> getProcessInstanceTimerInstances(ProcessInstanceKey processInstanceKey) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return emptyList(); } ProcessAdminServicesClient servicesClient = getClient(processInstanceKey.getServerTemplateId(), ProcessAdminServicesClient.class); return servicesClient.getTimerInstances(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId()).stream().map(new TimerInstanceSummaryMapper()).collect(toList()); }
@Override public void cancelProcessInstanceNode(ProcessInstanceKey processInstanceKey, Long nodeInstanceId) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return; } ProcessAdminServicesClient servicesClient = getClient(processInstanceKey.getServerTemplateId(), ProcessAdminServicesClient.class); servicesClient.cancelNodeInstance(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), nodeInstanceId); }
@Override public void triggerProcessInstanceNode(ProcessInstanceKey processInstanceKey, Long nodeId) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return; } ProcessAdminServicesClient servicesClient = getClient(processInstanceKey.getServerTemplateId(), ProcessAdminServicesClient.class); servicesClient.triggerNode(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), nodeId); }
@Override public void reTriggerProcessInstanceNode(ProcessInstanceKey processInstanceKey, Long nodeInstanceId) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return; } ProcessAdminServicesClient servicesClient = getClient(processInstanceKey.getServerTemplateId(), ProcessAdminServicesClient.class); servicesClient.retriggerNodeInstance(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), nodeInstanceId); }
@Override public void triggerProcessInstanceNode(ProcessInstanceKey processInstanceKey, Long nodeId) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return; } ProcessAdminServicesClient servicesClient = getClient(processInstanceKey.getServerTemplateId(), ProcessAdminServicesClient.class); servicesClient.triggerNode(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), nodeId); }
@Override public void cancelProcessInstanceNode(ProcessInstanceKey processInstanceKey, Long nodeInstanceId) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return; } ProcessAdminServicesClient servicesClient = getClient(processInstanceKey.getServerTemplateId(), ProcessAdminServicesClient.class); servicesClient.cancelNodeInstance(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), nodeInstanceId); }
@Override public void reTriggerProcessInstanceNode(ProcessInstanceKey processInstanceKey, Long nodeInstanceId) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return; } ProcessAdminServicesClient servicesClient = getClient(processInstanceKey.getServerTemplateId(), ProcessAdminServicesClient.class); servicesClient.retriggerNodeInstance(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), nodeInstanceId); }
@Override public ProcessInstanceSummary getProcessInstance(ProcessInstanceKey processInstanceKey) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return null; } QueryServicesClient queryServicesClient = getClient(processInstanceKey.getServerTemplateId(), QueryServicesClient.class); ProcessInstance processInstance = queryServicesClient.findProcessInstanceById(processInstanceKey.getProcessInstanceId()); return new ProcessInstanceSummaryMapper(processInstanceKey.getServerTemplateId()).apply(processInstance); }
@Override public ProcessInstanceSummary getProcessInstance(ProcessInstanceKey processInstanceKey) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return null; } QueryServicesClient queryServicesClient = getClient(processInstanceKey.getServerTemplateId(), QueryServicesClient.class); ProcessInstance processInstance = queryServicesClient.findProcessInstanceById(processInstanceKey.getProcessInstanceId()); return new ProcessInstanceSummaryMapper(processInstanceKey.getServerTemplateId()).apply(processInstance); }
@Override public ProcessInstanceDiagramSummary getProcessInstanceDiagramSummary(ProcessInstanceKey processInstanceKey) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return null; } final ProcessInstanceSummary processInstance = getProcessInstance(processInstanceKey); ProcessInstanceDiagramSummary summary = new ProcessInstanceDiagramSummary(); summary.setId(processInstance.getId()); summary.setName(processInstance.getName()); summary.setSvgContent(processImageService.getProcessInstanceDiagram(processInstanceKey.getServerTemplateId(), processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId())); summary.setProcessDefinition(getProcess(new ProcessDefinitionKey(processInstance.getServerTemplateId(), processInstance.getDeploymentId(), processInstance.getProcessId()))); if (processInstance.getState() == org.kie.api.runtime.process.ProcessInstance.STATE_ACTIVE) { List<NodeInstanceSummary> nodeInstances = getProcessInstanceActiveNodes(processInstanceKey); nodeInstances.addAll(getProcessInstanceCompletedNodes(processInstanceKey)); summary.setNodeInstances(nodeInstances); summary.setTimerInstances(getProcessInstanceTimerInstances(processInstanceKey)); } else { summary.setNodeInstances(emptyList()); summary.setTimerInstances(emptyList()); } return summary; }
@Override public ProcessInstanceDiagramSummary getProcessInstanceDiagramSummary(ProcessInstanceKey processInstanceKey) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return null; } final ProcessInstanceSummary processInstance = getProcessInstance(processInstanceKey); ProcessInstanceDiagramSummary summary = new ProcessInstanceDiagramSummary(); summary.setId(processInstance.getId()); summary.setName(processInstance.getName()); summary.setSvgContent(processImageService.getProcessInstanceDiagram(processInstanceKey.getServerTemplateId(), processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId())); summary.setProcessDefinition(getProcess(new ProcessDefinitionKey(processInstance.getServerTemplateId(), processInstance.getDeploymentId(), processInstance.getProcessId()))); if (processInstance.getState() == org.kie.api.runtime.process.ProcessInstance.STATE_ACTIVE) { List<NodeInstanceSummary> nodeInstances = getProcessInstanceActiveNodes(processInstanceKey); nodeInstances.addAll(getProcessInstanceCompletedNodes(processInstanceKey)); summary.setNodeInstances(nodeInstances); summary.setTimerInstances(getProcessInstanceTimerInstances(processInstanceKey)); } else { summary.setNodeInstances(emptyList()); summary.setTimerInstances(emptyList()); } return summary; }
@Override public void rescheduleTimerInstance(ProcessInstanceKey processInstanceKey, TimerInstanceSummary summary) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return; } ProcessAdminServicesClient servicesClient = getClient(processInstanceKey.getServerTemplateId(), ProcessAdminServicesClient.class); if (summary.isRelative()) { servicesClient.updateTimerRelative(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), summary.getId(), summary.getDelay(), summary.getPeriod(), summary.getRepeatLimit()); } else { servicesClient.updateTimer(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), summary.getId(), summary.getDelay(), summary.getPeriod(), summary.getRepeatLimit()); } }
@Override public void rescheduleTimerInstance(ProcessInstanceKey processInstanceKey, TimerInstanceSummary summary) { if (processInstanceKey == null || processInstanceKey.isValid() == false) { return; } ProcessAdminServicesClient servicesClient = getClient(processInstanceKey.getServerTemplateId(), ProcessAdminServicesClient.class); if (summary.isRelative()) { servicesClient.updateTimerRelative(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), summary.getId(), summary.getDelay(), summary.getPeriod(), summary.getRepeatLimit()); } else { servicesClient.updateTimer(processInstanceKey.getDeploymentId(), processInstanceKey.getProcessInstanceId(), summary.getId(), summary.getDelay(), summary.getPeriod(), summary.getRepeatLimit()); } }