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; }
private void checkTaskStatusAndOwners(String containerId, Long taskId, Status status, String actualOwner, String potentialOwner) { TaskInstance task = taskClient.getTaskInstance(containerId, taskId, false, false, true); checkTaskStatusAndActualOwner(containerId, taskId, status, actualOwner); assertEquals(1, task.getPotentialOwners().size()); assertEquals(potentialOwner, task.getPotentialOwners().get(0)); }
final List<String> potentialOwners = task.getPotentialOwners(); if (potentialOwners != null && Collections.disjoint(potentialOwners, roles) == false) {
Assertions.assertThat(instance.getStatus()).isEqualTo("Reserved"); List<String> potOwners = instance.getPotentialOwners(); Assertions.assertThat(potOwners).hasSize(3); Assertions.assertThat(potOwners).contains(USER_YODA, "PM", "HR"); Assertions.assertThat(instance.getStatus()).isEqualTo("Ready"); potOwners = instance.getPotentialOwners(); Assertions.assertThat(potOwners).hasSize(1); Assertions.assertThat(potOwners).contains(USER_JOHN);
Assertions.assertThat(instance).isNotNull(); List<String> potOwners = instance.getPotentialOwners(); Assertions.assertThat(potOwners).hasSize(3); Assertions.assertThat(potOwners).contains(USER_YODA, "PM", "HR"); potOwners = instance.getPotentialOwners(); Assertions.assertThat(potOwners).hasSize(4); Assertions.assertThat(potOwners).contains(USER_YODA, USER_JOHN, "PM", "HR"); potOwners = instance.getPotentialOwners(); Assertions.assertThat(potOwners).hasSize(3); Assertions.assertThat(potOwners).contains(USER_JOHN, "PM", "HR"); instance = taskClient.getTaskInstance(CONTAINER_ID_ALIAS, task.getId(), false, false, true); Assertions.assertThat(instance).isNotNull(); potOwners = instance.getPotentialOwners(); Assertions.assertThat(potOwners).hasSize(1); Assertions.assertThat(potOwners).contains(USER_JOHN); potOwners = instance.getPotentialOwners(); Assertions.assertThat(potOwners).hasSize(3); Assertions.assertThat(potOwners).contains(USER_YODA, USER_JOHN, "PM");
Assertions.assertThat(instance).isNotNull(); List<String> potOwners = instance.getPotentialOwners(); Assertions.assertThat(potOwners).hasSize(3); Assertions.assertThat(potOwners).contains(USER_YODA, "PM", "HR"); potOwners = instance.getPotentialOwners(); Assertions.assertThat(potOwners).hasSize(4); Assertions.assertThat(potOwners).contains(USER_YODA, USER_JOHN, "PM", "HR"); potOwners = instance.getPotentialOwners(); Assertions.assertThat(potOwners).hasSize(3); Assertions.assertThat(potOwners).contains(USER_JOHN, "PM", "HR"); instance = taskClient.getTaskInstance(CONTAINER_ID, task.getId(), false, false, true); Assertions.assertThat(instance).isNotNull(); potOwners = instance.getPotentialOwners(); Assertions.assertThat(potOwners).hasSize(1); Assertions.assertThat(potOwners).contains(USER_JOHN); potOwners = instance.getPotentialOwners(); Assertions.assertThat(potOwners).hasSize(3); Assertions.assertThat(potOwners).contains(USER_YODA, USER_JOHN, "PM");
assertNotNull(taskInstance.getPotentialOwners()); assertEquals(1, taskInstance.getPotentialOwners().size()); assertTrue(taskInstance.getPotentialOwners().contains(USER_YODA));
@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; } }
assertNull(taskInstance.getPotentialOwners()); assertNull(taskInstance.getBusinessAdmins()); assertNull(taskInstance.getInputData());