Jump to: navigation, search

Stardust/Knowledge Base/API/JavaAPICookbook/Querying Workflow and Runtime

Getting all Users having a certain role, belonging to a certain Organization or Department

(Versions: 6.0.3)
This example gets the ServiceFactory from the SessionContext (usage in a JSF backing bean). Outside the session the runtime ServiceFactoryLocator should be used (ServiceFactoryLocator.get("user","password",...)).

import ag.carnot.web.jsf.common.beans.SessionContext;
import ag.carnot.workflow.model.ParticipantInfo;
import ag.carnot.workflow.query.ParticipantAssociationFilter;
import ag.carnot.workflow.query.UserQuery;
import ag.carnot.workflow.query.Users;
import ag.carnot.workflow.runtime.QueryService;

...

public static Users getUserListForParticipant(String participantId){
  SessionContext sessionContext = SessionContext.findSessionContext();
  QueryService qsService = sessionContext.getServiceFactory().getQueryService();

  ParticipantInfo pInfo = qsService.getParticipant(participantId);

  UserQuery query = new UserQuery();
  query.getFilter().add(ParticipantAssociationFilter.forParticipant(pInfo));
  Users users = qsService.getAllUsers(query);
  
  return users;
}