org.activiti.engine.TaskService.getIdentityLinksForTask()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(9.2k)|赞(0)|评价(0)|浏览(484)

本文整理了Java中org.activiti.engine.TaskService.getIdentityLinksForTask()方法的一些代码示例,展示了TaskService.getIdentityLinksForTask()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TaskService.getIdentityLinksForTask()方法的具体详情如下:
包路径:org.activiti.engine.TaskService
类名称:TaskService
方法名:getIdentityLinksForTask

TaskService.getIdentityLinksForTask介绍

[英]Retrieves the IdentityLinks associated with the given task. Such an IdentityLink informs how a certain identity (eg. group or user) is associated with a certain task (eg. as candidate, assignee, etc.)
[中]检索与给定任务关联的标识链接。这种身份链接通知特定身份(例如组或用户)如何与特定任务(例如作为候选人、受让人等)关联

代码示例

代码示例来源:origin: Activiti/Activiti

private List<IdentityLink> getIdentityLinks(String taskId) {
  return taskService.getIdentityLinksForTask(taskId);
}

代码示例来源:origin: Activiti/Activiti

private List<IdentityLink> getIdentityLinks(String taskId) {
  String authenticatedUserId = securityManager.getAuthenticatedUserId();
  if (authenticatedUserId != null && !authenticatedUserId.isEmpty()) {
    List<String> userRoles = userGroupManager.getUserRoles(authenticatedUserId);
    List<String> userGroups = userGroupManager.getUserGroups(authenticatedUserId);
    org.activiti.engine.task.Task internalTask = taskService.createTaskQuery().taskCandidateOrAssigned(authenticatedUserId,
                                                      userGroups).taskId(taskId).singleResult();
    if (internalTask == null) {
      throw new NotFoundException("Unable to find task for the given id: " + taskId + " for user: " + authenticatedUserId + " (with groups: " + userGroups + " & with roles: " + userRoles + ")");
    }   
    return taskService.getIdentityLinksForTask(taskId);
  }
  throw new IllegalStateException("There is no authenticated user, we need a user authenticated to find tasks");
}

代码示例来源:origin: bill1012/AdminEAP

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;
}

代码示例来源:origin: bluejoe2008/openwebflow

for (IdentityLink link : taskService.getIdentityLinksForTask(task.getId()))

代码示例来源:origin: bill1012/AdminEAP

/**
 * 获取任务候选人
 *
 * @param taskId 任务ID
 * @return
 */
@Override
public Set<User> getTaskCandidate(String taskId) {
  Set<User> users = new HashSet();
  List identityLinkList = taskService.getIdentityLinksForTask(taskId);
  if (identityLinkList != null && identityLinkList.size() > 0) {
    for (Iterator iterator = identityLinkList.iterator(); iterator.hasNext(); ) {
      IdentityLink identityLink = (IdentityLink) iterator.next();
      if (identityLink.getUserId() != null) {
        User user = identityPageService.getUser(identityLink.getUserId());
        if (user != null)
          users.add(user);
      }
      if (identityLink.getGroupId() != null) {
        // 根据组获得对应人员
        List userList = identityService.createUserQuery()
            .memberOfGroup(identityLink.getGroupId()).list();
        if (userList != null && userList.size() > 0)
          users.addAll(userList);
      }
    }
  }
  return users;
}

代码示例来源:origin: Evolveum/midpoint

private List<IdentityLink> getTaskIdentityLinks(String taskId) {
  return activitiEngine.getTaskService().getIdentityLinksForTask(taskId);
}

代码示例来源:origin: org.activiti/activiti-rest

@ApiOperation(value = "Get all identity links for a task", tags = {"Tasks"}, nickname = "listTasksInstanceIdentityLinks")
@ApiResponses(value = {
  @ApiResponse(code = 200, message =  "Indicates the task was found and the requested identity links are returned."),
  @ApiResponse(code = 404, message = "Indicates the requested task was not found.")
})
@RequestMapping(value = "/runtime/tasks/{taskId}/identitylinks", method = RequestMethod.GET, produces = "application/json")
public List<RestIdentityLink> getIdentityLinks(@ApiParam(name="taskId", value="The id of the task to get the identity links for.") @PathVariable("taskId") String taskId, HttpServletRequest request) {
 Task task = getTaskFromRequest(taskId);
 return restResponseFactory.createRestIdentityLinks(taskService.getIdentityLinksForTask(task.getId()));
}

代码示例来源:origin: org.activiti/activiti-rest

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);
 }
}

代码示例来源:origin: org.activiti/activiti-rest

List<RestIdentityLink> results = new ArrayList<RestIdentityLink>();
List<IdentityLink> allLinks = taskService.getIdentityLinksForTask(task.getId());
for (IdentityLink link : allLinks) {
 boolean match = false;

代码示例来源:origin: org.aperteworkflow/activiti-context

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()]));
}

代码示例来源:origin: org.alfresco/alfresco-repository

/**
* {@inheritDoc}
*/
@Override
protected Object handleTaskProperty(Task task, TypeDefinition type, QName key, Serializable value)
{
  List<IdentityLink> links = taskService.getIdentityLinksForTask(task.getId());
  UserAndGroupUpdates updates = getUserAndGroupUpdates(value, links);
  updateTaskCandidates(task.getId(), updates);
  return DO_NOT_ADD;
}

代码示例来源:origin: Alfresco/alfresco-repository

/**
* {@inheritDoc}
*/
@Override
protected Object handleTaskProperty(Task task, TypeDefinition type, QName key, Serializable value)
{
  List<IdentityLink> links = taskService.getIdentityLinksForTask(task.getId());
  UserAndGroupUpdates updates = getUserAndGroupUpdates(value, links);
  updateTaskCandidates(task.getId(), updates);
  return DO_NOT_ADD;
}

代码示例来源:origin: Evolveum/midpoint

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());
}

代码示例来源:origin: Alfresco/alfresco-repository

List<IdentityLink> links = taskService.getIdentityLinksForTask(task.getId());
mapPooledActors(links, properties);

代码示例来源:origin: org.alfresco/alfresco-repository

List<IdentityLink> links = taskService.getIdentityLinksForTask(task.getId());
mapPooledActors(links, properties);

代码示例来源:origin: org.activiti/activiti-explorer

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);
   }
  }
 }
}

代码示例来源:origin: Evolveum/midpoint

List<IdentityLink> currentLinks = taskService.getIdentityLinksForTask(task.getId());
for (IdentityLink currentLink : currentLinks) {
  if (!CommonProcessVariableNames.MIDPOINT_ASSIGNEE.equals(currentLink.getType())) {

代码示例来源:origin: org.activiti/activiti-explorer

List<IdentityLink> identityLinks = taskService.getIdentityLinksForTask(task.getId());
Iterator<IdentityLink> identityLinkIterator = identityLinks.iterator();

代码示例来源:origin: Evolveum/midpoint

private boolean isAmongCandidates(MidPointPrincipal principal, String taskId) {
  String currentUserOid = principal.getOid();
  List<IdentityLink> identityLinks;
  try {
    TaskService taskService = activitiEngine.getTaskService();
    // working around activiti bug, see MID-3799.6 (the NPE when task does not exist)
    org.activiti.engine.task.Task task = taskService.createTaskQuery()
        .taskId(taskId)
        .singleResult();
    if (task == null) {
      return false;
    }
    identityLinks = taskService.getIdentityLinksForTask(taskId);
  } catch (ActivitiException e) {
    throw new SystemException("Couldn't determine user authorization, because the task candidate users and groups couldn't be retrieved: " + e.getMessage(), e);
  }
  for (IdentityLink identityLink : identityLinks) {
    if (identityLink.getUserId() != null && identityLink.getUserId().equals(currentUserOid)) {
      return true;
    }
    if (identityLink.getGroupId() != null) {
      if (isMemberOfActivitiGroup(principal.getUser(), identityLink.getGroupId())) {
        return true;
      }
    }
  }
  return false;
}

代码示例来源:origin: Evolveum/midpoint

for (IdentityLink link : taskService.getIdentityLinksForTask(workItemId)) {
  if (IdentityLinkType.CANDIDATE.equals(link.getType())) {
    candidateFound = true;

相关文章

微信公众号

最新文章

更多