EntityManager em = MyEntityManagerFactory.getEm(request.getSession());
LoggedUser user = ((MyAuthenticationToken) authentication).getMyUser();
LiveCycleService lvService = user.getLiveCycleService();
ServiceClientFactory clientFactory = lvService.getServiceClientFactory();
impersonateUserAndSetClientFactory(user.getCanonicalName(), user.getDomainName(), clientFactory,user.getResourceManager());
TaskManagerQueryService queryManager = TaskManagerClientFactory.getQueryManager(clientFactory);
TaskManager taskManager = TaskManagerClientFactory.getTaskManager(clientFactory);
DirectoryManagerServiceClient dirClient = new DirectoryManagerServiceClient(clientFactory);
PrincipalSearchFilter psf = new PrincipalSearchFilter();
psf.setUserIdAbsolute(user.getUserName());
List<?> principalList = dirClient.findPrincipals(psf);
Iterator<?> pit = principalList.iterator();
User lcUser = null;
if (pit.hasNext())
lcUser = (User) (pit.next());
Set<Group> groupMemberships = lcUser.getGroupMemberships();
TaskSearchFilter taskSearchFilter = new TaskSearchFilter();
taskSearchFilter.addCondition(TaskSearchingConstants.pSTATUS,
new Operator("="), StatusFilter.assigned);
for (Group group : groupMemberships) {
if (!group.getCommonName().equals("Scanning Bureau")) {
taskSearchFilter.addCondition(
TaskSearchingConstants.pCURRENT_ASSIGNMENT_QUEUE_OWNER,
Operator.EQUALS, group.getCommonName(), Connective.OR);
}
}
taskSearchFilter.addSortDesc(TaskSearchingConstants.pPROCESS_START_TIME);
List<TaskRow> result = queryManager.taskSearch(taskSearchFilter);
ArrayList<WorkBasketItem> items = new ArrayList<WorkBasketItem>();
for (TaskRow taskRow : result) {
if (taskRow.getTaskStatus() >= 100)
continue;