private ProcessInstanceSummary getProcessInstanceSummary() { ProcessInstanceSummary processInstanceSummary = new ProcessInstanceSummary(); processInstanceSummary.setServerTemplateId(SERVER_TEMPLATE_ID); processInstanceSummary.setProcessId(PROCESS_ID); processInstanceSummary.setState(ACTIVE_STATE); processInstanceSummary.setDeploymentId(DEPLOYMENT_ID); processInstanceSummary.setProcessVersion(PROCESS_VERSION); processInstanceSummary.setCorrelationKey(PROCESS_INSTANCE_ID.toString()); processInstanceSummary.setParentId(0L); processInstanceSummary.setActiveTasks(singletonList(getUserTaskSummary())); processInstanceSummary.setSlaCompliance(SLA_MET); return processInstanceSummary; }
public void bulkAbort(List<ProcessInstanceSummary> processInstances) { if (processInstances == null || processInstances.isEmpty()) { return; } final Map<String, List<Long>> containerInstances = new HashMap<>(); for (ProcessInstanceSummary selected : processInstances) { if (selected.getState() != ProcessInstance.STATE_ACTIVE) { view.displayNotification(constants.Aborting_Process_Instance_Not_Allowed(selected.getId())); continue; } containerInstances.computeIfAbsent(selected.getDeploymentId(), key -> new ArrayList<>()).add(selected.getProcessInstanceId()); view.displayNotification(constants.Aborting_Process_Instance(selected.getId())); } if (containerInstances.size() > 0) { abortProcessInstances(containerInstances); } }
@Override public Predicate<ProcessInstanceSummary> getViewErrorsActionCondition() { return pis -> isUserAuthorizedForPerspective(EXECUTION_ERRORS) && pis.getErrorCount() != null && pis.getErrorCount() > 0; }
public void loadWorkItemDetails(Long workItemId, ProcessInstanceLogItemDetailsView workItemView) { processRuntimeDataService.call( (WorkItemSummary workItemSummary) -> { workItemView.setDetailsData(workItemSummary); }).getWorkItemByProcessInstanceId(processInstance.getServerTemplateId(), processInstance.getDeploymentId(), processInstance.getProcessInstanceId(), workItemId); }
pis.getProcessInstanceId()); assertEquals(TEST_PROC_ID, pis.getProcessId()); assertEquals(TEST_EXT_ID, pis.getDeploymentId()); assertEquals(TEST_PROC_NAME, pis.getProcessName()); assertEquals(TEST_PROC_VER, pis.getProcessVersion()); assertEquals(TEST_STATE, pis.getState()); assertEquals(TEST_START_DATE, pis.getStartTime()); assertEquals(TEST_END_DATE, pis.getEndTime()); assertEquals(TEST_IDENTITY, pis.getInitiator()); assertEquals(TEST_INST_DESC, pis.getProcessInstanceDescription()); assertEquals(TEST_CORREL_KEY, pis.getCorrelationKey()); assertEquals(TEST_PARENT_PROC_INST_ID, pis.getParentId()); assertEquals(TEST_LAST_MODIF_DATE, pis.getLastModificationDate()); assertEquals(TEST_ERROR_COUNT, pis.getErrorCount());
process -> String.valueOf(process.getProcessInstanceId())), constants.Id())); columnMetas.add(new ColumnMeta<>(createTextColumn(COLUMN_PROCESS_NAME, process -> process.getProcessName()), constants.Name())); columnMetas.add(new ColumnMeta<>(createTextColumn(COLUMN_PROCESS_INSTANCE_DESCRIPTION, process -> process.getProcessInstanceDescription()), constants.Process_Instance_Description())); columnMetas.add(new ColumnMeta<>(createTextColumn(COLUMN_IDENTITY, process -> process.getInitiator()), constants.Initiator())); columnMetas.add(new ColumnMeta<>(createTextColumn(COLUMN_PROCESS_VERSION, process -> process.getProcessVersion()), constants.Version())); columnMetas.add(new ColumnMeta<>(createTextColumn(COLUMN_STATUS, process -> { switch (process.getState()) { case ProcessInstance.STATE_ACTIVE: return constants.Active(); constants.State())); final Column<ProcessInstanceSummary, String> startColumn = createTextColumn(COLUMN_START, process -> DateUtils.getDateTimeStr(process.getStartTime())); startColumn.setDefaultSortAscending(false); columnMetas.add(new ColumnMeta<>(startColumn, constants.Start_Date())); columnMetas.add(new ColumnMeta<>(createTextColumn(COLUMN_LAST_MODIFICATION_DATE, process -> DateUtils.getDateTimeStr(process.getLastModificationDate())), constants.Last_Modification_Date()));
@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; }
view.setCurrentActivitiesListBox(""); view.setProcessDefinitionIdText(process.getProcessId()); view.setProcessVersionText(process.getProcessVersion()); view.setProcessDeploymentText(process.getDeploymentId()); view.setCorrelationKeyText(process.getCorrelationKey()); if (process.getParentId() > 0) { view.setParentProcessInstanceIdText(process.getParentId().toString()); } else { view.setParentProcessInstanceIdText(constants.No_Parent_Process_Instance()); switch (process.getState()) { case ProcessInstance.STATE_ACTIVE: statusStr = constants.Active(); view.setSlaComplianceText(slaComplianceStr); if (process.getActiveTasks() != null && !process.getActiveTasks().isEmpty()) { SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder(); for (UserTaskSummary uts : process.getActiveTasks()) { safeHtmlBuilder.appendEscapedLines(uts.getName() + " (" + uts.getStatus() + ") " + constants.Owner() + ": " + uts.getOwner() + " \n"); ).getProcessInstanceActiveNodes(process.getProcessInstanceKey());
processInstance.getProcessInstanceId().toString()); currentFilter.getParams().put("processDefId", processInstance.getProcessId()); currentFilter.getParams().put("deploymentId", processInstance.getDeploymentId()); currentFilter.getParams().put("processInstanceStatus", processInstance.getState()); currentFilter.getParams().put("serverTemplateId", processInstance.getServerTemplateId());
private Builder() { processInstanceSummary = new ProcessInstanceSummary(); }
@Test public void setProcessInstanceDetailsTest() { presenter.setProcessInstance(processInstanceSummary); verify(view).setProcessDefinitionIdText(processInstanceSummary.getProcessId()); verify(view).setStateText(Constants.INSTANCE.Active()); verify(view).setProcessDeploymentText(processInstanceSummary.getDeploymentId()); verify(view).setProcessVersionText(processInstanceSummary.getProcessVersion()); verify(view).setCorrelationKeyText(processInstanceSummary.getCorrelationKey()); verify(view).setParentProcessInstanceIdText(Constants.INSTANCE.No_Parent_Process_Instance()); verify(view).setSlaComplianceText(Constants.INSTANCE.SlaMet()); ArgumentCaptor<String> argumentCaptor = ArgumentCaptor.forClass(String.class); verify(view, times(2)).setActiveTasksListBox(argumentCaptor.capture()); assertThat(argumentCaptor.getAllValues()).as("Active user tasks are set").hasSize(2); assertEquals("", argumentCaptor.getAllValues().get(0)); assertThat(argumentCaptor.getAllValues().get(1)) .as("Active user tasks") .contains(userTaskSummary.getName(), userTaskSummary.getStatus(), userTaskSummary.getOwner()); argumentCaptor = ArgumentCaptor.forClass(String.class); verify(view, times(2)).setCurrentActivitiesListBox(argumentCaptor.capture()); assertThat(argumentCaptor.getAllValues()).as("Current Activities are set").hasSize(2); assertEquals("", argumentCaptor.getAllValues().get(0)); assertThat(argumentCaptor.getAllValues().get(1)) .as("Current Activities") .contains(nodeInstanceSummary.getTimestamp().toString(), String.valueOf(nodeInstanceSummary.getId()), nodeInstanceSummary.getName(), nodeInstanceSummary.getType()); }
ProcessInstanceSummary summary = new ProcessInstanceSummary( serverTemplateId, processInstance.getId(), summary.setActiveTasks(userTaskSummaries);
public void bulkSignal(List<ProcessInstanceSummary> processInstances) { if (processInstances == null || processInstances.isEmpty()) { return; } final StringBuilder processIdsParam = new StringBuilder(); final StringBuilder deploymentIdsParam = new StringBuilder(); for (ProcessInstanceSummary selected : processInstances) { if (selected.getState() != ProcessInstance.STATE_ACTIVE) { view.displayNotification(constants.Signaling_Process_Instance_Not_Allowed(selected.getId())); continue; } processIdsParam.append(selected.getId() + ","); deploymentIdsParam.append(selected.getDeploymentId() + ","); } if (processIdsParam.length() == 0) { return; } else { // remove last , processIdsParam.deleteCharAt(processIdsParam.length() - 1); deploymentIdsParam.deleteCharAt(deploymentIdsParam.length() - 1); } PlaceRequest placeRequestImpl = new DefaultPlaceRequest(ProcessInstanceSignalPresenter.SIGNAL_PROCESS_POPUP); placeRequestImpl.addParameter("processInstanceId", processIdsParam.toString()); placeRequestImpl.addParameter("deploymentId", deploymentIdsParam.toString()); placeRequestImpl.addParameter("serverTemplateId", getSelectedServerTemplate()); placeManager.goTo(placeRequestImpl); }
@Test public void bulkAbortProcessInstancesStateTest() { processInstanceSummaries.add(createProcessInstanceSummary(new Random().nextLong(), ProcessInstance.STATE_ABORTED)); final Map<String, List<Long>> containerInstance = new HashMap<>(); for (ProcessInstanceSummary summary : processInstanceSummaries) { if (summary.getState() == ProcessInstance.STATE_ACTIVE) { containerInstance.computeIfAbsent(summary.getDeploymentId(), key -> new ArrayList<>()).add(summary.getProcessInstanceId()); } } presenter.bulkAbort(processInstanceSummaries); verify(processService).abortProcessInstances(anyString(), eq(containerInstance)); }
protected void loadProcessInstanceDetails() { processService.call((ProcessInstanceDiagramSummary summary) -> { displayImage(summary.getSvgContent(), processInstance.getDeploymentId()); if (forLog || processInstance.getState() != ProcessInstance.STATE_ACTIVE) { view.hideNodeActions(); }).getProcessInstanceDiagramSummary(processInstance.getProcessInstanceKey());
public void signalProcessInstance(final ProcessInstanceSummary processInstance) { PlaceRequest placeRequestImpl = new DefaultPlaceRequest(ProcessInstanceSignalPresenter.SIGNAL_PROCESS_POPUP); placeRequestImpl.addParameter("processInstanceId", Long.toString(processInstance.getProcessInstanceId())); placeRequestImpl.addParameter("deploymentId", processInstance.getDeploymentId()); placeRequestImpl.addParameter("serverTemplateId", getSelectedServerTemplate()); placeManager.goTo(placeRequestImpl); }
public void refreshNewCaseInstance(@Observes NewCaseInstanceEvent newCaseInstance) { processRuntimeDataService.call((ProcessInstanceSummary newProcessInstance) -> { setupDetailBreadcrumb(placeManager, commonConstants.Manage_Process_Definitions(), constants.ProcessInstanceBreadcrumb(newProcessInstance.getId()), PerspectiveIds.PROCESS_INSTANCE_DETAILS_SCREEN); placeManager.goTo(PerspectiveIds.PROCESS_INSTANCE_DETAILS_SCREEN); processInstanceSelected.fire(new ProcessInstanceSelectionEvent(newProcessInstance.getServerTemplateId(), newProcessInstance.getDeploymentId(), newProcessInstance.getId(), false)); }, (Message message, Throwable throwable) -> onRuntimeDataServiceError(throwable) ).getProcessInstanceByCorrelationKey(newCaseInstance.getServerTemplateId(), newCaseInstance.getNewCaseId()); }
@Test public void testViewErrorsActionCondition() { doAnswer(new PerspectiveAnswer(EXECUTION_ERRORS)).when(authorizationManager).authorize(any(ResourceRef.class), eq(identity)); ProcessInstanceSummary okProcInst = new ProcessInstanceSummary(); ProcessInstanceSummary errProcInst = new ProcessInstanceSummary(); errProcInst.setErrorCount(1); Predicate<ProcessInstanceSummary> viewErrCondition = presenter.getViewErrorsActionCondition(); assertFalse(viewErrCondition.test(okProcInst)); assertTrue(viewErrCondition.test(errProcInst)); when(authorizationManager.authorize(any(ResourceRef.class), eq(identity))).thenReturn(false); assertFalse(viewErrCondition.test(okProcInst)); assertFalse(viewErrCondition.test(errProcInst)); }
public void loadTaskDetails(Long workItemId, final Date logDate, ProcessInstanceLogItemDetailsView workItemView) { taskService.call( (TaskSummary task) -> { workItemView.setTaskDetailsData(task, logDate); }).getTaskByWorkItemId(processInstance.getServerTemplateId(), processInstance.getDeploymentId(), workItemId); }
protected void refreshProcessInstance(){ processRuntimeDataService.call((ProcessInstanceSummary pi) -> { changeTitleWidgetEvent.fire(new ChangeTitleWidgetEvent(this.place, String.valueOf(processInstance.getProcessInstanceId()) + " - " + pi.getProcessName())); setSignalAbortActionsVisible(isForLog() == false && pi.getState() == ProcessInstance.STATE_ACTIVE); variableListPresenter.setProcessInstance(pi); processDiagramPresenter.setProcessInstance(pi); detailsPresenter.setProcessInstance(pi); documentListPresenter.setProcessInstance(pi); processInstanceLogPresenter.setProcessInstance(pi); }).getProcessInstance(processInstance); }