public JaxbPeopleAssignments(PeopleAssignments peopleAssignments) { User taskInitiatorUser = peopleAssignments.getTaskInitiator(); if( taskInitiatorUser != null ) { this.taskInitiatorId = taskInitiatorUser.getId(); } this.businessAdministrators = convertListFromInterfaceToJaxbImpl(((InternalPeopleAssignments) peopleAssignments).getBusinessAdministrators(), OrganizationalEntity.class, JaxbOrganizationalEntity.class); this.excludedOwners = convertListFromInterfaceToJaxbImpl(((InternalPeopleAssignments) peopleAssignments).getExcludedOwners(), OrganizationalEntity.class, JaxbOrganizationalEntity.class); this.potentialOwners = convertListFromInterfaceToJaxbImpl(((InternalPeopleAssignments) peopleAssignments).getPotentialOwners(), OrganizationalEntity.class, JaxbOrganizationalEntity.class); this.recipients = convertListFromInterfaceToJaxbImpl(((InternalPeopleAssignments) peopleAssignments).getRecipients(), OrganizationalEntity.class, JaxbOrganizationalEntity.class); this.taskStakeholders = convertListFromInterfaceToJaxbImpl(((InternalPeopleAssignments) peopleAssignments).getTaskStakeholders(), OrganizationalEntity.class, JaxbOrganizationalEntity.class); }
protected InternalPeopleAssignments getNullSafePeopleAssignments(Task task) { InternalPeopleAssignments peopleAssignments = (InternalPeopleAssignments) task.getPeopleAssignments(); if (peopleAssignments == null) { peopleAssignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); peopleAssignments.setPotentialOwners(new ArrayList<OrganizationalEntity>()); peopleAssignments.setBusinessAdministrators(new ArrayList<OrganizationalEntity>()); peopleAssignments.setExcludedOwners(new ArrayList<OrganizationalEntity>()); peopleAssignments.setRecipients(new ArrayList<OrganizationalEntity>()); peopleAssignments.setTaskStakeholders(new ArrayList<OrganizationalEntity>()); } return peopleAssignments; }
private void postInit(Object result) { if (result instanceof Task) { Task task = (Task) result; if (task != null && !eagerDisabled) { task.getNames().size(); task.getDescriptions().size(); task.getSubjects().size(); task.getPeopleAssignments().getBusinessAdministrators().size(); task.getPeopleAssignments().getPotentialOwners().size(); ((InternalPeopleAssignments) task.getPeopleAssignments()).getRecipients().size(); ((InternalPeopleAssignments) task.getPeopleAssignments()).getExcludedOwners().size(); ((InternalPeopleAssignments) task.getPeopleAssignments()).getTaskStakeholders().size(); task.getTaskData().getAttachments().size(); task.getTaskData().getComments().size(); ((InternalTask)task).getDeadlines().getStartDeadlines().size(); ((InternalTask)task).getDeadlines().getEndDeadlines().size(); if (((InternalTask)task).getDelegation() != null) { ((InternalTask)task).getDelegation().getDelegates().size(); } } } else if (result instanceof Collection<?>) { ((Collection<?>) result).size(); } }
((InternalOrganizationalEntity) user).setId("Administrator"); ba.add(user); assignments.setBusinessAdministrators(ba); ((InternalOrganizationalEntity) user2).setId("Administrator"); po.add(user2); assignments.setPotentialOwners(po);
private static List<OrganizationalEntity> getExcludedEntities(Task task, UserInfo userInfo) { List<OrganizationalEntity> excluded = ((InternalPeopleAssignments) task.getPeopleAssignments()).getExcludedOwners(); List<OrganizationalEntity> excludedUsers = new ArrayList<>(); for (OrganizationalEntity entity : excluded) { if (entity instanceof Group) { userInfo.getMembersForGroup((Group) entity).forEachRemaining(excludedUsers::add); } } excluded.addAll(excludedUsers); return excluded; }
InternalPeopleAssignments peopleAssignments = Mockito.mock(InternalPeopleAssignments.class); when(peopleAssignments.getBusinessAdministrators()).thenReturn(Collections.emptyList()); when(peopleAssignments.getExcludedOwners()).thenReturn(Collections.emptyList()); when(peopleAssignments.getPotentialOwners()).thenReturn(Collections.emptyList());
boolean isExcludedOwner = ((InternalPeopleAssignments) task.getPeopleAssignments()).getExcludedOwners().contains(user); operationAllowed = !isExcludedOwner && isAllowed(user, groupIds, (List<OrganizationalEntity>) ((InternalPeopleAssignments) task.getPeopleAssignments()).getTaskStakeholders()); break;
businessAdmins.add(user); businessAdmins.addAll(task.getPeopleAssignments().getBusinessAdministrators()); ((InternalPeopleAssignments) task.getPeopleAssignments()).setBusinessAdministrators(businessAdmins); assertTrue(((InternalPeopleAssignments) task1.getPeopleAssignments()).getRecipients().contains(user));
public void remove(long taskId, String userId) { Task task = persistenceContext.findTask(taskId); User user = persistenceContext.findUser(userId); if (((InternalPeopleAssignments)task.getPeopleAssignments()).getRecipients().contains(user)) { ((InternalPeopleAssignments)task.getPeopleAssignments()).getRecipients().remove(user); } else { throw new RuntimeException("Couldn't remove user " + userId + " since it isn't a notification recipient"); } }
@SuppressWarnings("unchecked") protected void assignTaskStakeholders(WorkItem workItem, InternalPeopleAssignments peopleAssignments) { List<OrganizationalEntity> taskStakeholders = peopleAssignments.getTaskStakeholders(); Object taskStakehodlerIds = adjustParam(workItem.getParameter(TASKSTAKEHOLDER_ID), noFilter); if (taskStakehodlerIds instanceof Collection) { processPeopleAssignments((Collection<OrganizationalEntity>)taskStakehodlerIds, taskStakeholders); } else { processPeopleAssignments((String)taskStakehodlerIds, taskStakeholders, true); } }
if (entities != null && entities.length > 0) { List<OrganizationalEntity> potentialOwners = new ArrayList<OrganizationalEntity>(Arrays.asList(entities)); ((InternalPeopleAssignments) task.getPeopleAssignments()).setPotentialOwners(potentialOwners); assignOwnerAndStatus((InternalTaskData) task.getTaskData(), potentialOwners);
businessAdmins.add(user); businessAdmins.addAll(task.getPeopleAssignments().getBusinessAdministrators()); ((InternalPeopleAssignments) task.getPeopleAssignments()).setBusinessAdministrators(businessAdmins);
((InternalOrganizationalEntity) user).setId("Administrator"); ba.add(user); assignments.setBusinessAdministrators(ba); ((InternalOrganizationalEntity) user2).setId("Administrator"); po.add(user2); assignments.setPotentialOwners(po);
private void postInit(Object result) { if (result instanceof Task) { Task task = (Task) result; if (task != null && !eagerDisabled) { task.getNames().size(); task.getDescriptions().size(); task.getSubjects().size(); task.getPeopleAssignments().getBusinessAdministrators().size(); task.getPeopleAssignments().getPotentialOwners().size(); ((InternalPeopleAssignments) task.getPeopleAssignments()).getRecipients().size(); ((InternalPeopleAssignments) task.getPeopleAssignments()).getExcludedOwners().size(); ((InternalPeopleAssignments) task.getPeopleAssignments()).getTaskStakeholders().size(); task.getTaskData().getAttachments().size(); task.getTaskData().getComments().size(); ((InternalTask)task).getDeadlines().getStartDeadlines().size(); ((InternalTask)task).getDeadlines().getEndDeadlines().size(); if (((InternalTask)task).getDelegation() != null) { ((InternalTask)task).getDelegation().getDelegates().size(); } } } else if (result instanceof Collection<?>) { ((Collection<?>) result).size(); } }
private static List<OrganizationalEntity> getExcludedEntities(Task task, UserInfo userInfo) { List<OrganizationalEntity> excluded = ((InternalPeopleAssignments) task.getPeopleAssignments()).getExcludedOwners(); List<OrganizationalEntity> excludedUsers = new ArrayList<>(); for (OrganizationalEntity entity : excluded) { if (entity instanceof Group) { userInfo.getMembersForGroup((Group) entity).forEachRemaining(excludedUsers::add); } } excluded.addAll(excludedUsers); return excluded; } }
@SuppressWarnings("unchecked") protected void assignRecipients(WorkItem workItem, InternalPeopleAssignments peopleAssignments) { List<OrganizationalEntity> recipients = peopleAssignments.getRecipients(); Object recipientIds = adjustParam(workItem.getParameter(RECIPIENT_ID), noFilter); if (recipientIds instanceof Collection) { processPeopleAssignments((Collection<OrganizationalEntity>)recipientIds, recipients); } else { processPeopleAssignments((String)recipientIds, recipients, true); } }
@Test public void testAssignTaskstakeholders() { String taskStakeholderId = "espiegelberg"; Task task = TaskModelProvider.getFactory().newTask(); InternalPeopleAssignments peopleAssignments = peopleAssignmentHelper.getNullSafePeopleAssignments(task); WorkItem workItem = new WorkItemImpl(); workItem.setParameter(PeopleAssignmentHelper.TASKSTAKEHOLDER_ID, taskStakeholderId); peopleAssignmentHelper.assignTaskStakeholders(workItem, peopleAssignments); assertEquals(1, peopleAssignments.getTaskStakeholders().size()); OrganizationalEntity organizationalEntity1 = peopleAssignments.getTaskStakeholders().get(0); assertTrue(organizationalEntity1 instanceof User); assertEquals(taskStakeholderId, organizationalEntity1.getId()); }
((InternalPeopleAssignments) task.getPeopleAssignments()).setPotentialOwners(potentialOwners); ((InternalTaskData) task.getTaskData()).setActualOwner(null);
List<? extends OrganizationalEntity> businessAdmins = assignments.getBusinessAdministrators(); if (businessAdmins != null) { for (OrganizationalEntity admin : businessAdmins) { List<? extends OrganizationalEntity> potentialOwners = assignments.getPotentialOwners(); if (potentialOwners != null) { for (OrganizationalEntity powner : potentialOwners) { if (assignments.getTaskInitiator() != null && assignments.getTaskInitiator().getId() != null) { doCallbackUserOperation(assignments.getTaskInitiator().getId(), context); List<? extends OrganizationalEntity> excludedOwners = assignments.getExcludedOwners(); if (excludedOwners != null) { for (OrganizationalEntity exowner : excludedOwners) { List<? extends OrganizationalEntity> recipients = assignments.getRecipients(); if (recipients != null) { for (OrganizationalEntity recipient : recipients) { List<? extends OrganizationalEntity> stakeholders = assignments.getTaskStakeholders(); if (stakeholders != null) { for (OrganizationalEntity stakeholder : stakeholders) {
if (jaxbPeopleAssignments.getTaskInitiator() != null) { User user = createUser(this.getPeopleAssignments().getTaskInitiator().getId()); peopleAssignments.setTaskInitiator(user); peopleAssignments.setPotentialOwners(potentialOwners); List<OrganizationalEntity> businessAdmins = copyOrganizationalEntityList(jaxbPeopleAssignments.getBusinessAdministrators()); peopleAssignments.setBusinessAdministrators(businessAdmins); List<OrganizationalEntity> exclOwners = copyOrganizationalEntityList(jaxbPeopleAssignments.getExcludedOwners()); peopleAssignments.setExcludedOwners(exclOwners); List<OrganizationalEntity> taskStake = copyOrganizationalEntityList(jaxbPeopleAssignments.getTaskStakeholders()); peopleAssignments.setTaskStakeholders(taskStake); List<OrganizationalEntity> recipients = copyOrganizationalEntityList(jaxbPeopleAssignments.getRecipients()); peopleAssignments.setRecipients(recipients); taskImpl.setPeopleAssignments(peopleAssignments);