private List<SCustomUserInfoValue> searchCorrespondingValues(final long userId, final List<SCustomUserInfoDefinition> definitions) throws SBonitaReadException { return service.searchCustomUserInfoValue(new QueryOptions( 0, definitions.size(), Collections.<OrderByOption> emptyList(), Arrays.asList( new FilterOption(SCustomUserInfoValue.class, "userId", userId), new FilterOption(SCustomUserInfoValue.class, "definitionId") .in(getIds(definitions))), null)); }
private List<FilterOption> getFilterForWaitingEventsToInterrupt(final long instanceId, final Class<? extends SWaitingEvent> waitingEventClass) { final SWaitingEventKeyProviderBuilderFactory waitingEventKeyProvider = BuilderFactory.get(SWaitingEventKeyProviderBuilderFactory.class); final List<FilterOption> filters = new ArrayList<FilterOption>(2); filters.add(new FilterOption(waitingEventClass, waitingEventKeyProvider.getFlowNodeInstanceIdKey(), instanceId)); filters.add(new FilterOption(waitingEventClass, waitingEventKeyProvider.getActiveKey(), true)); return filters; }
private List<FilterOption> buildFiltersForConnectors(final long containerId, final String containerType) { final List<FilterOption> filters = new ArrayList<>(2); filters.add(new FilterOption(SAConnectorInstance.class, BuilderFactory.get(SConnectorInstanceBuilderFactory.class).getContainerIdKey(), containerId)); filters.add(new FilterOption(SAConnectorInstance.class, BuilderFactory.get(SConnectorInstanceBuilderFactory.class).getContainerTypeKey(), containerType)); return filters; }
private List<FilterOption> buildFiltersForConnectors(final long containerId, final String containerType) { final List<FilterOption> filters = new ArrayList<>(2); filters.add(new FilterOption(SAConnectorInstance.class, BuilderFactory.get(SConnectorInstanceBuilderFactory.class).getContainerIdKey(), containerId)); filters.add(new FilterOption(SAConnectorInstance.class, BuilderFactory.get(SConnectorInstanceBuilderFactory.class).getContainerTypeKey(), containerType)); return filters; }
private List<SProfileMember> searchProfileMembers(final int fromIndex, final long profileId, final String querySuffix) throws SBonitaReadException { final QueryOptions queryOptions = new QueryOptions(fromIndex * NUMBER_OF_RESULTS, NUMBER_OF_RESULTS, Collections.singletonList(new OrderByOption( SProfileMember.class, SProfileMemberBuilderFactory.ID, OrderByType.ASC)), Collections.singletonList(new FilterOption(SProfileMember.class, SProfileEntryBuilderFactory.PROFILE_ID, profileId)), null); return profileService.searchProfileMembers(querySuffix, queryOptions); } }
@Override public QueryOptions buildQueryOptionsForSubActivitiesInNormalStateAndNotTerminal(final long parentActivityInstanceId, final int numberOfResults) { final SUserTaskInstanceBuilderFactory flowNodeKeyProvider = BuilderFactory.get(SUserTaskInstanceBuilderFactory.class); final List<FilterOption> filters = new ArrayList<FilterOption>(3); filters.add(new FilterOption(SActivityInstance.class, flowNodeKeyProvider.getParentActivityInstanceKey(), parentActivityInstanceId)); filters.add(new FilterOption(SActivityInstance.class, flowNodeKeyProvider.getTerminalKey(), false)); filters.add(new FilterOption(SActivityInstance.class, flowNodeKeyProvider.getStateCategoryKey(), SStateCategory.NORMAL.name())); final OrderByOption orderByOption = new OrderByOption(SActivityInstance.class, flowNodeKeyProvider.getNameKey(), OrderByType.ASC); return new QueryOptions(0, numberOfResults, Collections.singletonList(orderByOption), filters, null); }
@Override public long getNumberOfAssignedTasksSupervisedBy(final long supervisorId, final QueryOptions queryOptions) throws SBonitaReadException { final Map<String, Object> parameters = Collections.singletonMap("supervisorId", supervisorId); queryOptions.getFilters().add(new FilterOption(SHumanTaskInstance.class, "assigneeId", 0, FilterOperationType.GREATER)); return getPersistenceService().getNumberOfEntities(SHumanTaskInstance.class, SUPERVISED_BY, queryOptions, parameters); }
@Override public List<SHumanTaskInstance> searchAssignedTasksSupervisedBy(final long supervisorId, final QueryOptions queryOptions) throws SBonitaReadException { final Map<String, Object> parameters = Collections.singletonMap("supervisorId", supervisorId); queryOptions.getFilters().add(new FilterOption(SHumanTaskInstance.class, "assigneeId", 0, FilterOperationType.GREATER)); return getPersistenceService().searchEntity(SHumanTaskInstance.class, SUPERVISED_BY, queryOptions, parameters); }
@Override public List<SJobLog> getJobLogs(final long jobDescriptorId, final int fromIndex, final int maxResults) throws SBonitaReadException { final FilterOption filter = new FilterOption(SJobLog.class, "jobDescriptorId", jobDescriptorId); final OrderByOption orderByOption = new OrderByOption(SJobLog.class, "jobDescriptorId", OrderByType.ASC); final QueryOptions options = new QueryOptions(fromIndex, maxResults, Arrays.asList(orderByOption), Arrays.asList(filter), null); return searchJobLogs(options); }
public boolean hasUserPendingOrAssignedTasks(long userId, Long processInstanceId) throws SExecutionException { final ActivityInstanceService activityInstanceService = getTenantServiceAccessor().getActivityInstanceService(); // is user assigned or has pending tasks on this process instance: final QueryOptions queryOptions = new QueryOptions(0, 1, Collections.EMPTY_LIST, Arrays.asList(new FilterOption(SHumanTaskInstance.class, "logicalGroup2", processInstanceId)), null); try { return activityInstanceService.getNumberOfPendingOrAssignedTasks(userId, queryOptions) > 0; } catch (SBonitaReadException e) { throw new SExecutionException(e); } }
@Override public QueryOptions buildQueryOptions() { SApplicationMenuBuilderFactoryImpl factory = new SApplicationMenuBuilderFactoryImpl(); List<OrderByOption> orderByOptions = Collections.singletonList(new OrderByOption(SApplicationMenu.class, factory.getIdKey(), OrderByType.ASC)); List<FilterOption> filters = new ArrayList<FilterOption>(2); filters.add(new FilterOption(SApplicationMenu.class, factory.getApplicationIdKey(), applicationId)); //only too menu will be deleted as children menus will be deleted by the parent filters.add(new FilterOption(SApplicationMenu.class, factory.getParentIdKey(), null)); return new QueryOptions(range.getStartIndex(), range.getMaxResults(), orderByOptions, filters, null); }
@Override public void deleteAllPendingMappings() throws SActivityModificationException { try { final FilterOption filterOption = new FilterOption(SPendingActivityMapping.class, SPendingActivityMappingBuilderFactory.ACTOR_ID, -1); final DeleteAllRecord record = new DeleteAllRecord(SPendingActivityMapping.class, Collections.singletonList(filterOption)); getRecorder().recordDeleteAll(record); } catch (final SRecorderException e) { throw new SActivityModificationException("Can't delete all pending mappings not attached to an actor.", e); } }
private QueryOptions buildActiveTasksQueryOptions(final long processInstanceId) { final SUserTaskInstanceBuilderFactory userTaskKeyFactory = BuilderFactory.get(SUserTaskInstanceBuilderFactory.class); final String humanTaskIdKey = userTaskKeyFactory.getIdKey(); final String parentProcessInstanceKey = userTaskKeyFactory.getParentProcessInstanceKey(); final List<OrderByOption> orderByOptions = Collections.singletonList(new OrderByOption(SHumanTaskInstance.class, humanTaskIdKey, OrderByType.ASC)); final List<FilterOption> filterOptions = Collections .singletonList(new FilterOption(SHumanTaskInstance.class, parentProcessInstanceKey, processInstanceId)); return new QueryOptions(0, BATCH_SIZE, orderByOptions, filterOptions, null); }
private static QueryOptions buildArchivedTasksQueryOptions(final long processInstanceId) { final SAUserTaskInstanceBuilderFactory archUserTaskKeyFactory = BuilderFactory.get(SAUserTaskInstanceBuilderFactory.class); final String humanTaskIdKey = archUserTaskKeyFactory.getIdKey(); final String parentProcessInstanceKey = archUserTaskKeyFactory.getParentProcessInstanceKey(); final List<OrderByOption> archivedOrderByOptions = Collections .singletonList(new OrderByOption(SAHumanTaskInstance.class, humanTaskIdKey, OrderByType.ASC)); final List<FilterOption> archivedFilterOptions = Collections .singletonList(new FilterOption(SAHumanTaskInstance.class, parentProcessInstanceKey, processInstanceId)); return new QueryOptions(0, BATCH_SIZE, archivedOrderByOptions, archivedFilterOptions, null); }
@Override public void exportToBusinessArchive(long processDefinitionId, BusinessArchiveBuilder businessArchiveBuilder) throws SBonitaException { final ArrayList<FilterOption> filters = new ArrayList<>(); filters.add(new FilterOption(SDependencyMapping.class, "artifactId", processDefinitionId)); filters.add(new FilterOption(SDependencyMapping.class, "artifactType", ScopeType.PROCESS.name())); final List<SDependencyMapping> dependencyMappings = dependencyService .getDependencyMappings(new QueryOptions(0, Integer.MAX_VALUE, null, filters, null)); for (SDependencyMapping dependencyMapping : dependencyMappings) { final SDependency dependency = dependencyService.getDependency(dependencyMapping.getDependencyId()); businessArchiveBuilder.addClasspathResource(new BarResource(dependency.getFileName(), dependency.getValue())); } }
public QueryOptions buildApplicationPagesQueryOptions(final long applicationId, final int startIndex, final int pageSize) { final SApplicationPageBuilderFactory factory = BuilderFactory.get(SApplicationPageBuilderFactory.class); final List<OrderByOption> orderByOptions = Collections.singletonList(new OrderByOption(SApplicationPage.class, factory.getIdKey(), OrderByType.ASC)); final List<FilterOption> filters = Collections.singletonList(new FilterOption(SApplicationPage.class, factory.getApplicationIdKey(), applicationId)); return new QueryOptions(startIndex, pageSize, orderByOptions, filters, null); }
private List<SUser> getSubordinates(final long managerUserId, final IdentityService identityService) { final List<OrderByOption> userOrderBys = Collections .singletonList(new OrderByOption(SUser.class, BuilderFactory.get(SUserBuilderFactory.class).getIdKey(), OrderByType.ASC)); final List<FilterOption> userFilters = Collections.singletonList(new FilterOption(SUser.class, BuilderFactory.get(SUserBuilderFactory.class) .getManagerUserIdKey(), managerUserId)); try { return identityService.searchUsers(new QueryOptions(0, Integer.MAX_VALUE, userOrderBys, userFilters, null)); } catch (final SBonitaReadException e) { return Collections.emptyList(); } }
public QueryOptions buildQueryOptions() { final SApplicationBuilderFactory factory = BuilderFactory.get(SApplicationBuilderFactory.class); final List<OrderByOption> orderByOptions = Collections.singletonList(new OrderByOption(SApplication.class, factory.getIdKey(), OrderByType.ASC)); final FilterOption filterOption = new FilterOption(SApplication.class, factory.getIdKey()); filterOption.in((Object[]) applicationIds); final List<FilterOption> filters = Collections.singletonList(filterOption); return new QueryOptions(0, applicationIds.length, orderByOptions, filters, null); }
@Override public QueryOptions buildQueryOptions() { SApplicationMenuBuilderFactoryImpl factory = new SApplicationMenuBuilderFactoryImpl(); List<OrderByOption> orderByOptions = Collections.singletonList(new OrderByOption(SApplicationMenu.class, factory.getIdKey(), OrderByType.ASC)); List<FilterOption> filters = Collections.singletonList(new FilterOption(SApplicationMenu.class, factory.getApplicationPageIdKey(), applicationPageId)); return new QueryOptions(range.getStartIndex(), range.getMaxResults(), orderByOptions, filters, null); }
private List<SProcessInstance> searchProcessInstancesFromProcessDefinition(final ProcessInstanceService processInstanceService, final long processDefinitionId, final int startIndex, final int maxResults) throws SBonitaReadException { final SProcessInstanceBuilderFactory keyProvider = BuilderFactory.get(SProcessInstanceBuilderFactory.class); final FilterOption filterOption = new FilterOption(SProcessInstance.class, keyProvider.getProcessDefinitionIdKey(), processDefinitionId); final OrderByOption order2 = new OrderByOption(SProcessInstance.class, keyProvider.getIdKey(), OrderByType.ASC); // Order by caller id ASC because we need to have parent process deleted before their sub processes final OrderByOption order = new OrderByOption(SProcessInstance.class, keyProvider.getCallerIdKey(), OrderByType.ASC); final QueryOptions queryOptions = new QueryOptions(startIndex, maxResults, Arrays.asList(order, order2), Collections.singletonList(filterOption), null); return processInstanceService.searchProcessInstances(queryOptions); }