protected Boolean isForwardAllowed(final TaskInstance task, final IdentityProvider identityProvider) { if ("Completed".equals(task.getStatus())) { return false; } final String actualOwner = task.getActualOwner(); if (actualOwner != null && actualOwner.equals(identityProvider.getName())) { return true; } final List<String> roles = identityProvider.getRoles(); final List<String> potentialOwners = task.getPotentialOwners(); if (potentialOwners != null && Collections.disjoint(potentialOwners, roles) == false) { return true; } final List<String> businessAdministrators = task.getBusinessAdmins(); if (businessAdministrators != null && Collections.disjoint(businessAdministrators, roles) == false) { return true; } return false; }
public List<CaseActionSummary> getCompletedActions(String containerId, String caseId) { List<NodeInstance> activeNodes = getCaseCompletedNodes(containerId, caseId); return activeNodes.stream() .map(s -> new CaseActionNodeInstanceMapper( (new HumanTaskNodePredicate().test(s.getNodeType()) ? userTaskServicesClient.findTaskByWorkItemId(s.getWorkItemId()).getActualOwner() : ""), CaseActionStatus.COMPLETED).apply(s)) .collect(toList()); }
public List<CaseActionSummary> getCompletedActions(String containerId, String caseId) { List<NodeInstance> activeNodes = getCaseCompletedNodes(containerId, caseId); return activeNodes.stream() .map(s -> new CaseActionNodeInstanceMapper( (new HumanTaskNodePredicate().test(s.getNodeType()) ? userTaskServicesClient.findTaskByWorkItemId(s.getWorkItemId()).getActualOwner() : ""), CaseActionStatus.COMPLETED).apply(s)) .collect(toList()); }
public List<CaseActionSummary> getInProgressActions(String containerId, String caseId) { List<NodeInstance> activeNodes = client.getActiveNodes(containerId, caseId, 0, PAGE_SIZE_UNLIMITED); return activeNodes.stream() .map(s -> new CaseActionNodeInstanceMapper( (new HumanTaskNodePredicate().test(s.getNodeType()) ? userTaskServicesClient.findTaskByWorkItemId(s.getWorkItemId()).getActualOwner() : ""), CaseActionStatus.IN_PROGRESS).apply(s)) .collect(toList()); }
public List<CaseActionSummary> getInProgressActions(String containerId, String caseId) { List<NodeInstance> activeNodes = client.getActiveNodes(containerId, caseId, 0, PAGE_SIZE_UNLIMITED); return activeNodes.stream() .map(s -> new CaseActionNodeInstanceMapper( (new HumanTaskNodePredicate().test(s.getNodeType()) ? userTaskServicesClient.findTaskByWorkItemId(s.getWorkItemId()).getActualOwner() : ""), CaseActionStatus.IN_PROGRESS).apply(s)) .collect(toList()); }
final String actualOwner = task.getActualOwner(); if (actualOwner != null && actualOwner.equals(identityProvider.getName())) { return true;
Assertions.assertThat( instance.getProcessInstanceId() ).isEqualTo( processInstanceId ); Assertions.assertThat( instance.getName() ).isEqualTo( FIRST_TASK_NAME ); Assertions.assertThat( instance.getActualOwner() ).isEqualTo( USER_YODA ); Assertions.assertThat( instance.getCreatedBy() ).isEqualTo( USER_YODA ); Assertions.assertThat( instance.getDescription() ).isEqualTo( task.getDescription() );
@Test public void getCompletedActionsTest_withUserTasks() { final NodeInstance nodeInstance = createTestNodeInstance("completedNode", NODE_TYPE_HUMAN_TASK, 1L); final TaskInstance taskInstance = TaskInstance.builder().actualOwner("owner").build(); when(clientMock.getCompletedNodes(containerId, caseId, 0, PAGE_SIZE_UNLIMITED)).thenReturn(singletonList(nodeInstance)); when(userTaskServicesClient.findTaskByWorkItemId(nodeInstance.getWorkItemId())).thenReturn(taskInstance); final List<CaseActionSummary> result = testedService.getCompletedActions(containerId, caseId); SoftAssertions.assertSoftly(softly -> { softly.assertThat(result.get(0).getName()).isEqualTo(nodeInstance.getName()); softly.assertThat(result.get(0).getType()).isEqualTo(nodeInstance.getNodeType()); softly.assertThat(result.get(0).getActualOwner()).isEqualTo(taskInstance.getActualOwner()); softly.assertThat(result.get(0).getActionStatus()).isEqualTo(CaseActionStatus.COMPLETED); }); }
@Test public void getCompletedActionsTest_withUserTasks() { final NodeInstance nodeInstance = createTestNodeInstance("completedNode", NODE_TYPE_HUMAN_TASK, 1L); final TaskInstance taskInstance = TaskInstance.builder().actualOwner("owner").build(); when(clientMock.getCompletedNodes(containerId, caseId, 0, PAGE_SIZE_UNLIMITED)).thenReturn(singletonList(nodeInstance)); when(userTaskServicesClient.findTaskByWorkItemId(nodeInstance.getWorkItemId())).thenReturn(taskInstance); final List<CaseActionSummary> result = testedService.getCompletedActions(containerId, caseId); SoftAssertions.assertSoftly(softly -> { softly.assertThat(result.get(0).getName()).isEqualTo(nodeInstance.getName()); softly.assertThat(result.get(0).getType()).isEqualTo(nodeInstance.getNodeType()); softly.assertThat(result.get(0).getActualOwner()).isEqualTo(taskInstance.getActualOwner()); softly.assertThat(result.get(0).getActionStatus()).isEqualTo(CaseActionStatus.COMPLETED); }); }
private void checkTaskStatusAndActualOwner(String containerId, Long taskId, Status status, String actualOwner) { TaskInstance task = taskClient.getTaskInstance(containerId, taskId); assertEquals(taskId, task.getId()); assertEquals(status.toString(), task.getStatus()); assertEquals(actualOwner, task.getActualOwner()); } }
@Override public TaskAssignmentSummary apply(final TaskInstance task, final IdentityProvider identityProvider) { if (task == null) { return null; } else { final TaskAssignmentSummary summary = new TaskAssignmentSummary(); summary.setTaskId(task.getId()); summary.setActualOwner(task.getActualOwner()); summary.setTaskName(task.getName()); summary.setPotOwnersString(task.getPotentialOwners()); summary.setCreatedBy(task.getCreatedBy()); summary.setBusinessAdmins(task.getBusinessAdmins()); summary.setStatus(task.getStatus()); summary.setDelegationAllowed(isDelegationAllowed(task, identityProvider)); summary.setForwardAllowed(isForwardAllowed(task, identityProvider)); return summary; } }
assertEquals("Reserved", taskInstance.getStatus()); assertEquals(0, taskInstance.getPriority().intValue()); assertEquals(USER_YODA, taskInstance.getActualOwner()); assertEquals(USER_YODA, taskInstance.getCreatedBy()); assertEquals(PROCESS_ID_USERTASK, taskInstance.getProcessId());
private void assertTaskInstace(TaskInstance expected, TaskInstance actual) { assertNotNull(actual); assertEquals(expected.getName(), actual.getName()); KieServerAssert.assertNullOrEmpty(actual.getDescription()); assertEquals(expected.getStatus(), actual.getStatus()); assertEquals(expected.getPriority(), actual.getPriority()); assertEquals(expected.getActualOwner(), actual.getActualOwner()); assertEquals(expected.getCreatedBy(), actual.getCreatedBy()); assertEquals(expected.getProcessId(), actual.getProcessId()); assertEquals(expected.getContainerId(), actual.getContainerId()); assertEquals(expected.getProcessInstanceId(), actual.getProcessInstanceId()); }
assertEquals(USER_YODA, taskInstance.getActualOwner()); assertEquals(USER_JOHN, taskInstance.getActualOwner());
@Override public TaskSummary apply(final TaskInstance taskInstance) { if (taskInstance == null) { return null; } else { return TaskSummary.builder() .id(taskInstance.getId()) .name(taskInstance.getName()) .description(taskInstance.getDescription()) .status(taskInstance.getStatus()) .priority(taskInstance.getPriority()) .actualOwner(taskInstance.getActualOwner()) .createdBy(taskInstance.getCreatedBy()) .createdOn(taskInstance.getCreatedOn()) .activationTime(taskInstance.getActivationTime()) .expirationTime(taskInstance.getExpirationDate()) .processId(taskInstance.getProcessId()) .processInstanceId(taskInstance.getProcessInstanceId()) .deploymentId(taskInstance.getContainerId()) .parentId(taskInstance.getParentId()) .errorCount(0) .build(); } } }
assertEquals("Reserved", taskInstance.getStatus()); assertEquals(0, taskInstance.getPriority().intValue()); assertEquals(USER_YODA, taskInstance.getActualOwner()); assertEquals(USER_YODA, taskInstance.getCreatedBy()); assertEquals(PROCESS_ID_USERTASK, taskInstance.getProcessId());