public Builder withProcessDefinition(ProcessSummary processDefinition) { summary.setProcessDefinition(processDefinition); return this; }
public Builder withProcessDefinition(ProcessSummary processDefinition) { summary.setProcessDefinition(processDefinition); return this; }
summary.setProcessDefinition(ProcessSummary.builder().nodes(nodes).timers(emptyList()).build()); summary.setNodeInstances(nodeInstances); summary.setTimerInstances(timerInstances);
@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; }
@Test public void testTimerInstanceForNode() { ProcessInstanceSummary processInstance = ProcessInstanceSummary.builder().withServerTemplateId("serverTemplateId").withDeploymentId("containerId").withProcessInstanceId(1l).withState(ProcessInstance.STATE_ACTIVE).build(); List<TimerSummary> timers = Arrays.asList( TimerSummary.builder().id(0l).nodeId(1l).uniqueId("_1").build(), TimerSummary.builder().id(1l).nodeId(2l).uniqueId("_2").build() ); TimerInstanceSummary t1 = TimerInstanceSummary.builder().withId(1l).withTimerId(0l).withName("t1").build(); TimerInstanceSummary t2 = TimerInstanceSummary.builder().withId(2l).withTimerId(1l).withName("t2").build(); ProcessInstanceDiagramSummary summary = new ProcessInstanceDiagramSummary(); summary.setProcessDefinition(ProcessSummary.builder().nodes(emptyList()).timers(timers).build()); summary.setNodeInstances(emptyList()); summary.setTimerInstances(Arrays.asList(t1, t2)); when(processService.getProcessInstanceDiagramSummary(processInstance.getProcessInstanceKey())).thenReturn(summary); presenter.setProcessInstance(processInstance); assertThat(presenter.getTimerInstanceForNode("_1")).containsExactly(t1); assertThat(presenter.getTimerInstanceForNode("_2")).containsExactly(t2); assertThat(presenter.getTimerInstanceForNode("_3")).isEmpty(); assertThat(presenter.getTimerInstanceForNode(null)).isEmpty(); }
@Test public void testOnNodeTriggered() { ProcessInstanceSummary processInstance = ProcessInstanceSummary.builder().withServerTemplateId("serverTemplateId").withDeploymentId("containerId").withProcessInstanceId(1l).withState(ProcessInstance.STATE_ACTIVE).build(); final ProcessNodeSummary humanTask = new ProcessNodeSummary(1l, "name-1", "HumanTask", "_1"); final List<ProcessNodeSummary> nodes = Arrays.asList(new ProcessNodeSummary(0l, " ", "Start", "_0"), humanTask, new ProcessNodeSummary(2l, " ", "Split", "_2")); ProcessInstanceDiagramSummary summary = new ProcessInstanceDiagramSummary(); summary.setProcessDefinition(ProcessSummary.builder().nodes(nodes).timers(emptyList()).build()); summary.setNodeInstances(emptyList()); summary.setTimerInstances(emptyList()); when(processService.getProcessInstanceDiagramSummary(processInstance.getProcessInstanceKey())).thenReturn(summary); presenter.setProcessInstance(processInstance); presenter.onProcessNodeTrigger(humanTask); verify(processService).triggerProcessInstanceNode(processInstance.getProcessInstanceKey(), humanTask.getId()); verify(notificationEvent).fire(any()); verify(view, times(2)).setValue(new ProcessNodeSummary()); }
@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; }
@Test public void testOnTimerInstanceReschedule() { ProcessInstanceSummary processInstance = ProcessInstanceSummary.builder().withServerTemplateId("serverTemplateId").withDeploymentId("containerId").withProcessInstanceId(1l).withState(ProcessInstance.STATE_ACTIVE).build(); final TimerInstanceSummary timer = TimerInstanceSummary.builder().withId(1l).withName("t1").build(); List<TimerInstanceSummary> timerInstance = Arrays.asList( timer, TimerInstanceSummary.builder().withId(2l).withName("t2").build()); ProcessInstanceDiagramSummary summary = new ProcessInstanceDiagramSummary(); summary.setProcessDefinition(ProcessSummary.builder().nodes(emptyList()).timers(emptyList()).build()); summary.setNodeInstances(emptyList()); summary.setTimerInstances(timerInstance); when(processService.getProcessInstanceDiagramSummary(processInstance.getProcessInstanceKey())).thenReturn(summary); presenter.setProcessInstance(processInstance); presenter.onTimerInstanceReschedule(timer); verify(processService).rescheduleTimerInstance(processInstance.getProcessInstanceKey(), timer); verify(notificationEvent).fire(any()); }
@Test public void testOnNodeInstanceCancelled() { ProcessInstanceSummary processInstance = ProcessInstanceSummary.builder().withServerTemplateId("serverTemplateId").withDeploymentId("containerId").withProcessInstanceId(1l).withState(ProcessInstance.STATE_ACTIVE).build(); NodeInstanceSummary humanTask = NodeInstanceSummary.builder().withId(1l).withName("name-1").withType("HumanTask").withCompleted(false).build(); List<NodeInstanceSummary> nodeInstances = Arrays.asList( humanTask, NodeInstanceSummary.builder().withId(2l).withName(" ").withType("Split").withCompleted(false).build(), NodeInstanceSummary.builder().withId(3l).withName("name-3").withType("HumanTask").withCompleted(true).build(), NodeInstanceSummary.builder().withId(4l).withName(" ").withType("End").withCompleted(true).build() ); ProcessInstanceDiagramSummary summary = new ProcessInstanceDiagramSummary(); summary.setProcessDefinition(ProcessSummary.builder().nodes(emptyList()).timers(emptyList()).build()); summary.setNodeInstances(nodeInstances); summary.setTimerInstances(emptyList()); when(processService.getProcessInstanceDiagramSummary(processInstance.getProcessInstanceKey())).thenReturn(summary); presenter.setProcessInstance(processInstance); presenter.onNodeInstanceCancel(humanTask); verify(processService).cancelProcessInstanceNode(processInstance.getProcessInstanceKey(), humanTask.getId()); verify(notificationEvent).fire(any()); }
@Test public void testOnNodeInstanceReTriggered() { ProcessInstanceSummary processInstance = ProcessInstanceSummary.builder().withServerTemplateId("serverTemplateId").withDeploymentId("containerId").withProcessInstanceId(1l).withState(ProcessInstance.STATE_ACTIVE).build(); NodeInstanceSummary humanTask = NodeInstanceSummary.builder().withId(1l).withName("name-1").withType("HumanTask").withCompleted(false).build(); List<NodeInstanceSummary> nodeInstances = Arrays.asList( humanTask, NodeInstanceSummary.builder().withId(2l).withName(" ").withType("Split").withCompleted(false).build(), NodeInstanceSummary.builder().withId(3l).withName("name-3").withType("HumanTask").withCompleted(true).build(), NodeInstanceSummary.builder().withId(4l).withName(" ").withType("End").withCompleted(true).build() ); ProcessInstanceDiagramSummary summary = new ProcessInstanceDiagramSummary(); summary.setProcessDefinition(ProcessSummary.builder().nodes(emptyList()).timers(emptyList()).build()); summary.setNodeInstances(nodeInstances); summary.setTimerInstances(emptyList()); when(processService.getProcessInstanceDiagramSummary(processInstance.getProcessInstanceKey())).thenReturn(summary); presenter.setProcessInstance(processInstance); presenter.onNodeInstanceReTrigger(humanTask); verify(processService).reTriggerProcessInstanceNode(processInstance.getProcessInstanceKey(), humanTask.getId()); verify(notificationEvent).fire(any()); }
summary.setProcessDefinition(ProcessSummary.builder().nodes(nodes).timers(singletonList(TimerSummary.builder().id(0l).uniqueId("_1").build())).build()); summary.setNodeInstances(nodeInstances); summary.setTimerInstances(timerInstances);