private Builder() { processSummary = new ProcessSummary(); }
private void fireProcessDefSelectionEvent(final ProcessSummary processSummary) { processDefSelected.fire(new ProcessDefSelectionEvent(processSummary.getProcessDefId(), processSummary.getDeploymentId(), getSelectedServerTemplate(), processSummary.getProcessDefName(), processSummary.isDynamic())); }
private void refreshProcessItems(ProcessSummary process) { if (process != null) { view.setProcessNameText(process.getName()); } else { // set to empty to ensure it's clear state view.setProcessNameText(""); } }
@Override public void callback(ProcessSummary process) { if (process != null) { refreshTaskDef(serverTemplateId, deploymentId, processId); refreshAssociatedEntities(process.getAssociatedEntities()); refreshRequiredInputData(process.getProcessVariables()); refreshReusableSubProcesses(process.getReusableSubProcesses()); refreshProcessItems(process); refreshServiceTasks(process.getServiceTasks()); } } }).getProcess(new ProcessDefinitionKey(serverTemplateId,
public Predicate<ProcessSummary> getStartCondition() { return processSummary -> !processSummary.isDynamic() || (processSummary.isDynamic() && processSummary.isDynamicFormsEnabled()); }
public static void assertProcessSummary(final ProcessDefinition pd, final ProcessSummary ps) { assertNotNull(ps); assertEquals(pd.getId(), ps.getId()); assertEquals(pd.getId(), ps.getProcessDefId()); assertEquals(pd.getName(), ps.getName()); assertEquals(pd.getName(), ps.getProcessDefName()); assertEquals(pd.isDynamic(), ps.isDynamic()); assertEquals(pd.getVersion(), ps.getVersion()); assertEquals(pd.getContainerId(), ps.getDeploymentId()); assertEquals(pd.getAssociatedEntities(), ps.getAssociatedEntities()); assertEquals(pd.getProcessVariables(), ps.getProcessVariables()); assertEquals(pd.getReusableSubProcesses(), ps.getReusableSubProcesses()); assertEquals(pd.getServiceTasks(), ps.getServiceTasks()); assertThat(ps.getNodes()).hasSameSizeAs(pd.getNodes()); assertThat(ps.getTimers()).hasSameSizeAs(pd.getTimers()); }
@Test public void testProcessDefNameDefinitionPropagation() { final ProcessSummary processSummary = new ProcessSummary(); processSummary.setProcessDefId("testProcessDefId"); processSummary.setDeploymentId("testDeploymentId"); processSummary.setProcessDefName("testProcessDefName"); processSummary.setDynamic(false); presenter.selectProcessDefinition(processSummary); verify(processDefSelectionEvent).fire(any(ProcessDefSelectionEvent.class)); ArgumentCaptor<ProcessDefSelectionEvent> argument = ArgumentCaptor.forClass(ProcessDefSelectionEvent.class); verify(processDefSelectionEvent).fire(argument.capture()); final ProcessDefSelectionEvent event = argument.getValue(); assertEquals(processSummary.getProcessDefName(), event.getProcessDefName()); assertEquals(processSummary.getDeploymentId(), event.getDeploymentId()); assertEquals(processSummary.getProcessDefId(), event.getProcessId()); assertEquals(processSummary.isDynamic(), event.isDynamic()); verify(breadcrumbs).addBreadCrumb(eq(PERSPECTIVE_ID), eq(Constants.INSTANCE.ProcessDefinitionBreadcrumb((processSummary.getName()))), eq(Commands.DO_NOTHING)); }
@Override public ProcessSummary apply(final ProcessDefinition definition) { if (definition == null) { return null; } final ProcessSummary summary = new ProcessSummary(definition.getId(), definition.getName(), definition.getContainerId(), definition.getVersion(), definition.isDynamic()); summary.setAssociatedEntities(definition.getAssociatedEntities()); summary.setProcessVariables(definition.getProcessVariables()); summary.setReusableSubProcesses(definition.getReusableSubProcesses()); summary.setServiceTasks(definition.getServiceTasks()); summary.setDynamicFormsEnabled(KieServerUtils.isKieServerRendererEnabled()); summary.setNodes(definition.getNodes() == null ? emptyList() : definition.getNodes().stream().map(node -> new ProcessNodeSummary(node.getId(), node.getName(), node.getType(), node.getUniqueId())).collect(toList())); summary.setTimers(definition.getTimers() == null ? emptyList() : definition.getTimers().stream().map(timer -> new TimerSummary(timer.getId(), timer.getNodeId(), timer.getNodeName(), timer.getUniqueId())).collect(toList())); return summary; } }
protected void loadFormValues(String serverTemplateId) { this.serverTemplateId = serverTemplateId; processDefinitionsListBox.clear(); processRuntimeDataService.call((List<ProcessSummary> processSummaries) -> { //Skip case definitions (isDynamic == true) Map<String, List<ProcessSummary>> defs = processSummaries.stream().filter(p -> p.isDynamic() == false).collect(groupingBy(ProcessSummary::getDeploymentId)); defs.keySet().stream().sorted().forEach(deploymentId -> { final OptGroup group = GWT.create(OptGroup.class); group.setLabel(deploymentId); defs.get(deploymentId).stream().sorted().forEach(p -> { final Option option = GWT.create(Option.class); option.setText(p.getProcessDefId()); option.setValue(p.getProcessDefId()); group.add(option); }); processDefinitionsListBox.add(group); }); Scheduler.get().scheduleDeferred(() -> processDefinitionsListBox.refresh()); }).getProcesses(serverTemplateId, 0, Integer.MAX_VALUE, FIELD_ID_PROCESSNAME, true); }
processInstance.getDeploymentId()); processNodes = summary.getProcessDefinition().getNodes().stream().sorted(comparing(ProcessNodeSummary::getName, String.CASE_INSENSITIVE_ORDER).thenComparingLong(ProcessNodeSummary::getId)).collect(toList()); timers = summary.getProcessDefinition().getTimers().stream().collect(toList());
public static void assertProcessSummary(final ProcessDefinition pd, final ProcessSummary ps) { assertNotNull(ps); assertEquals(pd.getId(), ps.getId()); assertEquals(pd.getId(), ps.getProcessDefId()); assertEquals(pd.getName(), ps.getName()); assertEquals(pd.getName(), ps.getProcessDefName()); assertEquals(pd.isDynamic(), ps.isDynamic()); assertEquals(pd.getVersion(), ps.getVersion()); assertEquals(pd.getContainerId(), ps.getDeploymentId()); assertEquals(pd.getAssociatedEntities(), ps.getAssociatedEntities()); assertEquals(pd.getProcessVariables(), ps.getProcessVariables()); assertEquals(pd.getReusableSubProcesses(), ps.getReusableSubProcesses()); assertEquals(pd.getServiceTasks(), ps.getServiceTasks()); assertThat(ps.getNodes()).hasSameSizeAs(pd.getNodes()); assertThat(ps.getTimers()).hasSameSizeAs(pd.getTimers()); }
@Override public ProcessSummary apply(final ProcessDefinition definition) { if (definition == null) { return null; } final ProcessSummary summary = new ProcessSummary(definition.getId(), definition.getName(), definition.getContainerId(), definition.getVersion(), definition.isDynamic()); summary.setAssociatedEntities(definition.getAssociatedEntities()); summary.setProcessVariables(definition.getProcessVariables()); summary.setReusableSubProcesses(definition.getReusableSubProcesses()); summary.setServiceTasks(definition.getServiceTasks()); summary.setDynamicFormsEnabled(KieServerUtils.isKieServerRendererEnabled()); summary.setNodes(definition.getNodes() == null ? emptyList() : definition.getNodes().stream().map(node -> new ProcessNodeSummary(node.getId(), node.getName(), node.getType(), node.getUniqueId())).collect(toList())); summary.setTimers(definition.getTimers() == null ? emptyList() : definition.getTimers().stream().map(timer -> new TimerSummary(timer.getId(), timer.getNodeId(), timer.getNodeName(), timer.getUniqueId())).collect(toList())); return summary; } }
protected void loadFormValues(String serverTemplateId) { this.serverTemplateId = serverTemplateId; processDefinitionsListBox.clear(); processRuntimeDataService.call((List<ProcessSummary> processSummaries) -> { //Skip case definitions (isDynamic == true) Map<String, List<ProcessSummary>> defs = processSummaries.stream().filter(p -> p.isDynamic() == false).collect(groupingBy(ProcessSummary::getDeploymentId)); defs.keySet().stream().sorted().forEach(deploymentId -> { final OptGroup group = GWT.create(OptGroup.class); group.setLabel(deploymentId); defs.get(deploymentId).stream().sorted().forEach(p -> { final Option option = GWT.create(Option.class); option.setText(p.getProcessDefId()); option.setValue(p.getProcessDefId()); group.add(option); }); processDefinitionsListBox.add(group); }); Scheduler.get().scheduleDeferred(() -> processDefinitionsListBox.refresh()); }).getProcesses(serverTemplateId, 0, Integer.MAX_VALUE, FIELD_ID_PROCESSNAME, true); }
@Test public void testGetProcessInstanceDiagramSummaryCompletedStatus() { ProcessInstanceKey instanceKey = new ProcessInstanceKey(serverTemplateId, containerId, processInstanceId); String svgContent = "<svg></svg>"; Integer state = org.kie.api.runtime.process.ProcessInstance.STATE_COMPLETED; String processName = "process"; when(queryServicesClient.findProcessInstanceById(processInstanceId)).thenReturn(ProcessInstance.builder().id(processInstanceId).processId(processId).containerId(containerId).state(state).processName(processName).build()); when(processImageService.getProcessInstanceDiagram(serverTemplateId, containerId, processInstanceId)).thenReturn(svgContent); when(processServicesClient.getProcessDefinition(containerId, processId)).thenReturn(new ProcessDefinition()); ProcessInstanceDiagramSummary summary = service.getProcessInstanceDiagramSummary(instanceKey); assertEquals(processInstanceId, summary.getId()); assertEquals(processName, summary.getName()); assertEquals(svgContent, summary.getSvgContent()); assertNotNull(summary.getProcessDefinition()); assertThat(summary.getProcessDefinition().getNodes()).isEmpty(); assertThat(summary.getProcessDefinition().getTimers()).isEmpty(); assertThat(summary.getNodeInstances()).isEmpty(); assertThat(summary.getTimerInstances()).isEmpty(); verify(queryServicesClient, never()).findActiveNodeInstances(any(), any(), any()); verify(queryServicesClient, never()).findCompletedNodeInstances(any(), any(), any()); verify(processAdminServicesClient, never()).getTimerInstances(any(), any()); }
protected List<ConditionalAction<ProcessSummary>> getConditionalActions() { return Arrays.asList( new ConditionalAction<>( constants.Start(), processSummary -> presenter.openGenericForm(processSummary.getProcessDefId(), processSummary.getDeploymentId(), processSummary.getProcessDefName(), processSummary.isDynamic()), presenter.getStartCondition(), false ), new ConditionalAction<>( constants.View_Process_Instances(), processSummary -> presenter.viewProcessInstances(processSummary.getProcessDefId()), presenter.getViewProcessInstanceActionCondition(), true ) ); } }
private Builder() { processSummary = new ProcessSummary(); }
@Test public void testGetProcessInstanceDiagramSummaryCompletedStatus() { ProcessInstanceKey instanceKey = new ProcessInstanceKey(serverTemplateId, containerId, processInstanceId); String svgContent = "<svg></svg>"; Integer state = org.kie.api.runtime.process.ProcessInstance.STATE_COMPLETED; String processName = "process"; when(queryServicesClient.findProcessInstanceById(processInstanceId)).thenReturn(ProcessInstance.builder().id(processInstanceId).processId(processId).containerId(containerId).state(state).processName(processName).build()); when(processImageService.getProcessInstanceDiagram(serverTemplateId, containerId, processInstanceId)).thenReturn(svgContent); when(processServicesClient.getProcessDefinition(containerId, processId)).thenReturn(new ProcessDefinition()); ProcessInstanceDiagramSummary summary = service.getProcessInstanceDiagramSummary(instanceKey); assertEquals(processInstanceId, summary.getId()); assertEquals(processName, summary.getName()); assertEquals(svgContent, summary.getSvgContent()); assertNotNull(summary.getProcessDefinition()); assertThat(summary.getProcessDefinition().getNodes()).isEmpty(); assertThat(summary.getProcessDefinition().getTimers()).isEmpty(); assertThat(summary.getNodeInstances()).isEmpty(); assertThat(summary.getTimerInstances()).isEmpty(); verify(queryServicesClient, never()).findActiveNodeInstances(any(), any(), any()); verify(queryServicesClient, never()).findCompletedNodeInstances(any(), any(), any()); verify(processAdminServicesClient, never()).getTimerInstances(any(), any()); }
protected void selectProcessDefinition(final ProcessSummary processSummary) { setupDetailBreadcrumb(constants.ProcessDefinitionBreadcrumb(processSummary.getName())); placeManager.goTo(PerspectiveIds.PROCESS_DEFINITION_DETAILS_SCREEN); fireProcessDefSelectionEvent(processSummary); }
private static List<ProcessSummary> getMockList(int instances) { final List<ProcessSummary> summaries = new ArrayList<>(); for (int i = 0; i < instances; i++) { summaries.add(new ProcessSummary()); } return summaries; }
assertNotNull(summary.getProcessDefinition()); assertThat(summary.getProcessDefinition().getNodes()).hasSize(2).containsExactly(new ProcessNodeSummary(1l, "name-1", "HumanTask", "_2")); assertThat(summary.getProcessDefinition().getTimers()).hasSize(2).containsExactly(new TimerSummary(1l, 2l, "name-1",