private boolean isCandidateGroupEntity(IdentityLink identityLinkEntity) { return CANDIDATE.equalsIgnoreCase(identityLinkEntity.getType()) && identityLinkEntity.getGroupId() != null; } }
private boolean isCandidateGroupEntity(IdentityLink identityLinkEntity) { return CANDIDATE.equalsIgnoreCase(identityLinkEntity.getType()) && identityLinkEntity.getGroupId() != null; } }
private boolean isCandidateUserEntity(IdentityLink identityLinkEntity) { return CANDIDATE.equalsIgnoreCase(identityLinkEntity.getType()) && identityLinkEntity.getUserId() != null; }
private boolean isCandidateUserEntity(IdentityLink identityLinkEntity) { return CANDIDATE.equalsIgnoreCase(identityLinkEntity.getType()) && identityLinkEntity.getUserId() != null; }
@Override public List<String> userCandidates(String taskId) { List<IdentityLink> identityLinks= getIdentityLinks(taskId); List<String> userCandidates = new ArrayList<String>(); if (identityLinks!=null) { for (IdentityLink i : identityLinks) { if (i.getUserId()!=null) { if (i.getType().equals(IdentityLinkType.CANDIDATE) ) { userCandidates.add(i.getUserId()); } } } } return userCandidates; }
@Override public List<String> groupCandidates(String taskId) { List<IdentityLink> identityLinks= getIdentityLinks(taskId); List<String> groupCandidates = new ArrayList<String>(); if (identityLinks!=null) { for (IdentityLink i : identityLinks) { if (i.getGroupId()!=null) { if (i.getType().equals(IdentityLinkType.CANDIDATE) ) { groupCandidates.add(i.getGroupId()); } } } } return groupCandidates; }
@Override public List<String> groupCandidates(String taskId) { List<IdentityLink> identityLinks= getIdentityLinks(taskId); List<String> groupCandidates = new ArrayList<String>(); if (identityLinks!=null) { for (IdentityLink i : identityLinks) { if (i.getGroupId()!=null) { if (i.getType().equals(IdentityLinkType.CANDIDATE) ) { groupCandidates.add(i.getGroupId()); } } } } return groupCandidates; }
@Override public List<String> userCandidates(String taskId) { List<IdentityLink> identityLinks= getIdentityLinks(taskId); List<String> userCandidates = new ArrayList<String>(); if (identityLinks!=null) { for (IdentityLink i : identityLinks) { if (i.getUserId()!=null) { if (i.getType().equals(IdentityLinkType.CANDIDATE) ) { userCandidates.add(i.getUserId()); } } } } return userCandidates; }
public boolean getTaskState(String taskId) { List<IdentityLink> identiyLinks = taskService.getIdentityLinksForTask(taskId); for (IdentityLink identiyLink : identiyLinks) { if (IdentityLinkType.CANDIDATE.equals(identiyLink.getType())) { return false; } } return true; }
List<String> users = new ArrayList<String>(); List<IdentityLink> links = taskService.getIdentityLinksForTask(taskId); for (IdentityLink link : links) { if (IdentityLinkType.CANDIDATE.equals(link.getType())) { users.add(link.getUserId()); } }
protected IdentityLink getIdentityLink(String identityId, String type, String processInstanceId) { // Perhaps it would be better to offer getting a single identity link // from the API List<IdentityLink> allLinks = runtimeService.getIdentityLinksForProcessInstance(processInstanceId); for (IdentityLink link : allLinks) { if (identityId.equals(link.getUserId()) && link.getType().equals(type)) { return link; } } throw new ActivitiObjectNotFoundException("Could not find the requested identity link.", IdentityLink.class); } }
protected IdentityLink getIdentityLink(String family, String identityId, String processDefinitionId) { boolean isUser = family.equals(RestUrls.SEGMENT_IDENTITYLINKS_FAMILY_USERS); // Perhaps it would be better to offer getting a single identitylink // from // the API List<IdentityLink> allLinks = repositoryService.getIdentityLinksForProcessDefinition(processDefinitionId); for (IdentityLink link : allLinks) { boolean rightIdentity = false; if (isUser) { rightIdentity = identityId.equals(link.getUserId()); } else { rightIdentity = identityId.equals(link.getGroupId()); } if (rightIdentity && link.getType().equals(IdentityLinkType.CANDIDATE)) { return link; } } throw new ActivitiObjectNotFoundException("Could not find the requested identity link.", IdentityLink.class); } }
protected IdentityLink getIdentityLink(String family, String identityId, String type, String taskId) { boolean isUser = family.equals(RestUrls.SEGMENT_IDENTITYLINKS_FAMILY_USERS); // Perhaps it would be better to offer getting a single identitylink // from the API List<IdentityLink> allLinks = taskService.getIdentityLinksForTask(taskId); for (IdentityLink link : allLinks) { boolean rightIdentity = false; if (isUser) { rightIdentity = identityId.equals(link.getUserId()); } else { rightIdentity = identityId.equals(link.getGroupId()); } if (rightIdentity && link.getType().equals(type)) { return link; } } throw new ActivitiObjectNotFoundException("Could not find the requested identity link.", IdentityLink.class); } }
protected void initInvolvedPeople() { List<IdentityLink> identityLinks = taskService.getIdentityLinksForTask(task.getId()); for (final IdentityLink identityLink : identityLinks) { if (identityLink.getUserId() != null) { // only user identity links, ignoring the group ids if (!IdentityLinkType.ASSIGNEE.equals(identityLink.getType()) && !IdentityLinkType.OWNER.equals(identityLink.getType())) { UserDetailsComponent involvedDetails = new UserDetailsComponent( identityLink.getUserId(), identityLink.getType(), i18nManager.getMessage(Messages.TASK_INVOLVED_REMOVE), new RemoveInvolvedPersonListener(identityLink, task, taskDetailPanel)); peopleGrid.addComponent(involvedDetails); } } } }
@NotNull public List<ObjectReferenceType> getMidpointAssignees(TaskExtract taskExtract) { List<ObjectReferenceType> rv = new ArrayList<>(); for (IdentityLink link : taskExtract.getTaskIdentityLinks()) { if (CommonProcessVariableNames.MIDPOINT_ASSIGNEE.equals(link.getType())) { if (link.getUserId() != null) { rv.add(MiscDataUtil.stringToRef(link.getUserId())); } if (link.getGroupId() != null) { // just for completeness (currently we don't expect groups to be here) rv.add(MiscDataUtil.stringToRef(link.getGroupId())); } } } return rv; }
private void fillProcessAssignmentData(final ProcessInstance pi, ProcessToolContext ctx) { Set<String> assignees = new HashSet<String>(); Set<String> queues = new HashSet<String>(); TaskService taskService = getProcessEngine().getTaskService(); for (Task t : findProcessTasks(pi, ctx, false)) { if (t.getAssignee() != null) { assignees.add(t.getAssignee()); } else { //some optimization could be possible for (IdentityLink participation : taskService.getIdentityLinksForTask(t.getId())) { if ("candidate".equals(participation.getType())) { queues.add(participation.getGroupId()); } } } } pi.setAssignees(assignees.toArray(new String[assignees.size()])); pi.setTaskQueues(queues.toArray(new String[queues.size()])); }
protected void confirmed(ConfirmationEvent event) { taskService.deleteUserIdentityLink(identityLink.getTaskId(), identityLink.getUserId(), identityLink.getType()); taskDetailPanel.notifyPeopleInvolvedChanged(); } });
private List<String> getAssignees(org.activiti.engine.task.Task activitiTask) { return activitiEngine.getTaskService().getIdentityLinksForTask(activitiTask.getId()).stream() .filter(i -> CommonProcessVariableNames.MIDPOINT_ASSIGNEE.equals(i.getType())) .map(i -> i.getUserId()).collect(Collectors.toList()); }
private void updateTaskCandidates(DelegateTask task, UserAndGroupUpdates updates) { // Only new candidates are present in pooledUsers and pooledGroups, create Links for these for (String user : updates.getUsers()) { task.addCandidateUser( user); } for (String group : updates.getGroups()) { task.addCandidateGroup( group); } // Remove all candidates which have been removed for (IdentityLink link : updates.linksToRemove) { if (link.getUserId() != null) { task.deleteUserIdentityLink(link.getUserId(), link.getType()); } else { task.deleteGroupIdentityLink(link.getGroupId(), link.getType()); } } }
public RestIdentityLink createRestIdentityLink(IdentityLink link, RestUrlBuilder urlBuilder) { return createRestIdentityLink(link.getType(), link.getUserId(), link.getGroupId(), link.getTaskId(), link.getProcessDefinitionId(), link.getProcessInstanceId(), urlBuilder); }