Class ActivityInstanceServiceImpl
java.lang.Object
org.bonitasoft.engine.core.process.instance.impl.FlowNodeInstancesServiceImpl
org.bonitasoft.engine.core.process.instance.impl.ActivityInstanceServiceImpl
- All Implemented Interfaces:
ActivityInstanceService
,FlowNodeInstanceService
public class ActivityInstanceServiceImpl
extends FlowNodeInstancesServiceImpl
implements ActivityInstanceService
- Author:
- Elias Ricken de Medeiros, Matthieu Chaffotte, Hongwen Zang, Emmanuel Duchastenier, Yanyan Liu, Baptiste Mesta, Celine Souchet
-
Field Summary
Fields inherited from interface org.bonitasoft.engine.core.process.instance.api.ActivityInstanceService
ACTIVITYINSTANCE, PENDINGACTIVITYMAPPING
Fields inherited from interface org.bonitasoft.engine.core.process.instance.api.FlowNodeInstanceService
ACTIVITY_INSTANCE_TOKEN_COUNT, ACTIVITYINSTANCE_DISPLAY_DESCRIPTION, ACTIVITYINSTANCE_DISPLAY_NAME, ACTIVITYINSTANCE_STATE, EXECUTED_BY_MODIFIED, EXECUTED_BY_SUBSTITUTE_MODIFIED, EXPECTED_END_DATE_MODIFIED, FLOWNODE_INSTANCE, LOOPINSTANCE_LOOPMAX_MODIFIED, MULTIINSTANCE_LOOPCARDINALITY_MODIFIED, MULTIINSTANCE_NUMBEROFINSTANCE_MODIFIED, STATE_CATEGORY
-
Constructor Summary
ConstructorDescriptionActivityInstanceServiceImpl
(Recorder recorder, PersistenceService persistenceService, ArchiveService archiveService) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addMultiInstanceNumberOfActiveActivities
(SMultiInstanceActivityInstance flowNodeInstance, int number) Add number of activeInstances for the specific SMultiInstanceActivityInstance objectvoid
addMultiInstanceNumberOfCompletedActivities
(SMultiInstanceActivityInstance flowNodeInstance, int number) Add number of completed activeInstances for the specific SMultiInstanceActivityInstance objectvoid
addMultiInstanceNumberOfTerminatedActivities
(SMultiInstanceActivityInstance flowNodeInstance, int number) Add number of terminated activeInstances for the specific SMultiInstanceActivityInstance objectvoid
Create a new pending activity mapping in DBvoid
assignHumanTask
(long userTaskId, long userId) Assign the specific human task to the uservoid
assignHumanTaskIfNotAssigned
(long userTaskId, long userId) Assign the specific human task to the user if it is not currently assignedvoid
createActivityInstance
(SActivityInstance activityInstance) Create activityInstance in DB according to the given activityInstance objectvoid
Delete all pending mappings for the connected tenantvoid
deletePendingMappings
(long humanTaskInstanceId) deletePendingMappingsgetActivitiesWithStates
(long rootContainerId, Set<Integer> stateIds, int fromIndex, int maxResults, String sortingField, OrderByType sortingOrder) Get activities with specific states in the root container in specific order, this is used for paginationgetActivityInstance
(long activityInstanceId) Get activityInstance by its idgetActivityInstances
(long rootContainerId, int fromIndex, int numberOfResults) Get all activity instances for the specific process instancegetArchivedActivityInstance
(long activityInstanceId, int stateId) Gets the archive instance of the activity according to its identifier at a given state.getArchivedActivityInstances
(long rootContainerId, QueryOptions queryOptions) Get archived activity instances in the specific root container.getAssignedUserTasks
(long assigneeId, int fromIndex, int maxResults, String sortFieldName, OrderByType order) Get tasks assigned to the user.getChildrenOfAnActivity
(long parentActivityInstanceId, int fromIndex, int numberOfResults) Get all child instances for the specific parent activity instance, order by id ascending.getHumanTaskInstance
(long activityInstanceId) Get humanTaskInstance by its idgetMostRecentArchivedActivityInstance
(long activityInstanceId) Get the most recent archived version of a specified activity instancelong
getNumberOfActivityInstances
(Class<? extends PersistentObject> entityClass, QueryOptions searchOptions) Get total number of activity instances for the specific entity classlong
getNumberOfArchivedActivityInstances
(Class<? extends PersistentObject> entityClass, QueryOptions searchOptions) Get total number of archived activity instances for the specific entity classlong
getNumberOfArchivedHumanTasksSupervisedBy
(long supervisorId, QueryOptions queryOptions) Search AUserTask instances archived for a specific supervisorlong
getNumberOfArchivedTasks
(QueryOptions searchOptions) Get total number of archived tasks according to specific search criterialong
getNumberOfArchivedTasksManagedBy
(long managerUserId, QueryOptions searchOptions) get the total number of archived tasks assigned to subordinates of specified manager.long
getNumberOfAssignedAndPendingHumanTasks
(long rootProcessDefinitionId, QueryOptions queryOptions) Get the total number of the assigned and pending human tasks for any user, on the specified root process definition, corresponding to the options.long
getNumberOfAssignedAndPendingHumanTasks
(QueryOptions queryOptions) Get the total number of the assigned and pending human tasks for any user corresponding to the options.long
getNumberOfAssignedAndPendingHumanTasksFor
(long rootProcessDefinitionId, long userId, QueryOptions queryOptions) Get the total number of the assigned and pending human tasks for the specified user, on the specified root process definition, corresponding to the options.long
getNumberOfAssignedHumanTaskInstances
(long userId) Get the number of UserTask instances assigned to a specific userlong
getNumberOfAssignedTasksManagedBy
(long managerUserId, QueryOptions searchOptions) Get total number of assigned tasks managed by the specific managerlong
getNumberOfAssignedTasksSupervisedBy
(long supervisorId, QueryOptions queryOptions) Search UserTask instances assigned for a specific supervisorlong
getNumberOfHumanTasks
(QueryOptions queryOptions) Get number of human task instances according to the criteriaint
getNumberOfOpenActivityInstances
(long rootContainerId) Get total number of open activity instances for the specific process instancegetNumberOfOpenTasksForUsers
(List<Long> userIds) Get number of open tasks for each usergetNumberOfOverdueOpenTasksForUsers
(List<Long> userIds) Get number of overdue open tasks for each userlong
getNumberOfPendingOrAssignedOrAssignedToOthersTasks
(long userId, QueryOptions searchOptions) long
getNumberOfPendingOrAssignedTasks
(long userId, QueryOptions searchOptions) long
getNumberOfPendingTasksAssignedTo
(long userId, QueryOptions searchOptions) long
getNumberOfPendingTasksForUser
(long userId, QueryOptions searchOptions) long
getNumberOfPendingTasksSupervisedBy
(long supervisorId, QueryOptions queryOptions) Get total number of pending human task instances for the specific supervisorlong
getNumberOfUsersWhoCanExecutePendingHumanTaskDeploymentInfo
(long humanTaskInstanceId, QueryOptions searchOptions) Get total number of users according to specific query options, and who can start the task filtered with the search option of the given process definitiongetOpenActivityInstances
(long rootContainerId, int pageIndex, int maxResults, String sortingField, OrderByType orderbyType) Get all open activity instances in the specific process instance.getPendingMappings
(long humanTaskInstanceId, QueryOptions queryOptions) getPendingTasks
(long userId, Set<Long> actorIds, int fromIndex, int maxResults, String sortFieldName, OrderByType order) Get pending tasks for the user in specific actors.getPossibleUserIdsOfPendingTasks
(long humanTaskInstanceId, int startIndex, int maxResults) void
incrementLoopCounter
(SLoopActivityInstance loopInstance) Increase loopCounter(loopCount+1) for the specific loop instanceboolean
isTaskPendingForUser
(long humanTaskInstanceId, long userId) searchActivityInstances
(Class<? extends PersistentObject> entityClass, QueryOptions searchOptions) Search all activity instances for the specific entity classsearchArchivedActivityInstances
(Class<? extends PersistentObject> entityClass, QueryOptions searchOptions) Search all archived activity instances for the specific entity classsearchArchivedHumanTasksSupervisedBy
(long supervisorId, QueryOptions queryOptions) Search AUserTask instances archived for a specific supervisorsearchArchivedTasks
(QueryOptions searchOptions) Search archived human tasks according to specific search criteriasearchArchivedTasksManagedBy
(long managerUserId, QueryOptions searchOptions) get the archived tasks assigned to subordinates of specified manager, limited to, sorted, paginated with the specifies QueryOptionssearchAssignedAndPendingHumanTasks
(long rootProcessDefinitionId, QueryOptions queryOptions) Search the assigned and pending human tasks for any user, on the specified root process definition, corresponding to the options.searchAssignedAndPendingHumanTasks
(QueryOptions queryOptions) Search the assigned and pending human tasks for any user corresponding to the options.searchAssignedAndPendingHumanTasksFor
(long rootProcessDefinitionId, long userId, QueryOptions queryOptions) Search the assigned and pending human tasks for the specified user, on the specified root process definition, corresponding to the options.searchAssignedTasksManagedBy
(long managerUserId, QueryOptions searchOptions) Get all assigned tasks managed by the specific managersearchAssignedTasksSupervisedBy
(long supervisorId, QueryOptions queryOptions) Search UserTask instances assigned for a specific supervisorsearchHumanTasks
(QueryOptions queryOptions) Search all human task instances according to the criterialong
searchNumberOfPendingTasksManagedBy
(long managerUserId, QueryOptions searchOptions) Search total number of pending tasks for the specific managersearchPendingOrAssignedOrAssignedToOthersTasks
(long userId, QueryOptions searchOptions) searchPendingOrAssignedTasks
(long userId, QueryOptions searchOptions) searchPendingTasksAssignedTo
(long userId, QueryOptions searchOptions) searchPendingTasksForUser
(long userId, QueryOptions searchOptions) searchPendingTasksManagedBy
(long managerUserId, QueryOptions searchOptions) Search all pending tasks for the specific managersearchPendingTasksSupervisedBy
(long supervisorId, QueryOptions queryOptions) Search all pending human task instances for the specific supervisorsearchUsersWhoCanExecutePendingHumanTaskDeploymentInfo
(long humanTaskInstanceId, QueryOptions searchOptions) Search the users according to specific query options, and who can start the task filtered with the search option of the given process definitionvoid
setAbortedByBoundaryEvent
(SActivityInstance activityInstance, long boundaryEventId) void
setLoopCardinality
(SFlowNodeInstance flowNodeInstance, int intLoopCardinality) Set LoopCardinality for the specific loopActvityvoid
setLoopMax
(SLoopActivityInstance loopActivity, Integer loopMap) Set max loop for the specific loopActvityvoid
setTokenCount
(SActivityInstance activityInstance, int tokenCount) Set tokenCount for the specific activity instanceMethods inherited from class org.bonitasoft.engine.core.process.instance.impl.FlowNodeInstancesServiceImpl
deleteArchivedFlowNodeInstances, deleteFlowNodeInstance, getAllChildrenOfProcessInstance, getArchivedFlowNodeInstance, getArchivedFlowNodeInstances, getArchiveService, getDirectChildrenOfActivityInstance, getDirectChildrenOfProcessInstance, getFlowNodeInstance, getFlowNodeInstanceIdsToRecover, getFlowNodeInstancesByIds, getFlowNodeInstancesByNameAndParentContainerId, getGatewayInstanceIdsToRecover, getLastArchivedFlowNodeInstance, getNumberOfArchivedFlowNodeInstances, getNumberOfArchivedFlowNodeInstancesSupervisedBy, getNumberOfArchivedFlownodesInAllStates, getNumberOfFlowNodeInstances, getNumberOfFlowNodeInstancesSupervisedBy, getNumberOfFlowNodes, getNumberOfFlownodesInAllStates, getNumberOfFlownodesOfProcessDefinitionInAllStates, getPersistenceService, getRecorder, getSourceObjectIdsOfArchivedFlowNodeInstances, getUnmodifiableList, searchArchivedFlowNodeInstances, searchArchivedFlowNodeInstancesSupervisedBy, searchFlowNodeInstances, searchFlowNodeInstancesSupervisedBy, setExecutedBy, setExecutedBySubstitute, setExecuting, setExpectedEndDate, setState, setStateCategory, setTaskPriority, updateDisplayDescription, updateDisplayName, updateFlowNode
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.bonitasoft.engine.core.process.instance.api.FlowNodeInstanceService
deleteArchivedFlowNodeInstances, deleteFlowNodeInstance, getAllChildrenOfProcessInstance, getArchivedFlowNodeInstance, getArchivedFlowNodeInstances, getDirectChildrenOfActivityInstance, getDirectChildrenOfProcessInstance, getFlowNodeInstance, getFlowNodeInstanceIdsToRecover, getFlowNodeInstancesByIds, getFlowNodeInstancesByNameAndParentContainerId, getGatewayInstanceIdsToRecover, getLastArchivedFlowNodeInstance, getNumberOfArchivedFlowNodeInstances, getNumberOfArchivedFlowNodeInstancesSupervisedBy, getNumberOfArchivedFlownodesInAllStates, getNumberOfFlowNodeInstances, getNumberOfFlowNodeInstancesSupervisedBy, getNumberOfFlowNodes, getNumberOfFlownodesInAllStates, getNumberOfFlownodesOfProcessDefinitionInAllStates, getSourceObjectIdsOfArchivedFlowNodeInstances, searchArchivedFlowNodeInstances, searchArchivedFlowNodeInstancesSupervisedBy, searchFlowNodeInstances, searchFlowNodeInstancesSupervisedBy, setExecutedBy, setExecutedBySubstitute, setExecuting, setExpectedEndDate, setState, setStateCategory, setTaskPriority, updateDisplayDescription, updateDisplayName
-
Constructor Details
-
ActivityInstanceServiceImpl
public ActivityInstanceServiceImpl(Recorder recorder, PersistenceService persistenceService, ArchiveService archiveService)
-
-
Method Details
-
createActivityInstance
public void createActivityInstance(SActivityInstance activityInstance) throws SActivityCreationException Description copied from interface:ActivityInstanceService
Create activityInstance in DB according to the given activityInstance object- Specified by:
createActivityInstance
in interfaceActivityInstanceService
- Parameters:
activityInstance
- an SActivityInstance object- Throws:
SActivityCreationException
-
addPendingActivityMappings
public void addPendingActivityMappings(SPendingActivityMapping mapping) throws SActivityCreationException Description copied from interface:ActivityInstanceService
Create a new pending activity mapping in DB- Specified by:
addPendingActivityMappings
in interfaceActivityInstanceService
- Parameters:
mapping
- pending activity mapping object- Throws:
SActivityCreationException
-
deletePendingMappings
Description copied from interface:ActivityInstanceService
deletePendingMappings- Specified by:
deletePendingMappings
in interfaceActivityInstanceService
- Throws:
SActivityModificationException
-
deleteAllPendingMappings
Description copied from interface:ActivityInstanceService
Delete all pending mappings for the connected tenant- Specified by:
deleteAllPendingMappings
in interfaceActivityInstanceService
- Throws:
SActivityModificationException
-
getPendingMappings
public List<SPendingActivityMapping> getPendingMappings(long humanTaskInstanceId, QueryOptions queryOptions) throws SBonitaReadException - Specified by:
getPendingMappings
in interfaceActivityInstanceService
- Parameters:
humanTaskInstanceId
-queryOptions
-- Returns:
- Throws:
SBonitaReadException
-
getActivityInstance
public SActivityInstance getActivityInstance(long activityInstanceId) throws SActivityInstanceNotFoundException, SActivityReadException Description copied from interface:ActivityInstanceService
Get activityInstance by its id- Specified by:
getActivityInstance
in interfaceActivityInstanceService
- Parameters:
activityInstanceId
- identifier of activityInstance- Returns:
- an SActivityInstance object with id corresponding to the parameter
- Throws:
SActivityInstanceNotFoundException
- if no activityInstance foundSActivityReadException
-
getHumanTaskInstance
public SHumanTaskInstance getHumanTaskInstance(long activityInstanceId) throws SActivityInstanceNotFoundException, SActivityReadException Description copied from interface:ActivityInstanceService
Get humanTaskInstance by its id- Specified by:
getHumanTaskInstance
in interfaceActivityInstanceService
- Parameters:
activityInstanceId
- identifier of humanTaskInstance- Returns:
- an SHumanTaskInstance object with id corresponding to the parameter
- Throws:
SActivityInstanceNotFoundException
SActivityReadException
-
getActivitiesWithStates
public List<SActivityInstance> getActivitiesWithStates(long rootContainerId, Set<Integer> stateIds, int fromIndex, int maxResults, String sortingField, OrderByType sortingOrder) throws SActivityReadException Description copied from interface:ActivityInstanceService
Get activities with specific states in the root container in specific order, this is used for pagination- Specified by:
getActivitiesWithStates
in interfaceActivityInstanceService
- Parameters:
rootContainerId
- identifier of root container, it always is process definition idstateIds
- Identifiers of statesfromIndex
- Index of the record to be retrieved from. First record has index 0maxResults
- Number of result we want to get. Maximum number of result returnedsortingField
- the field used to do ordersortingOrder
- ASC or DESC- Returns:
- a list of SActivityInstance objects
- Throws:
SActivityReadException
-
getOpenActivityInstances
public List<SActivityInstance> getOpenActivityInstances(long rootContainerId, int pageIndex, int maxResults, String sortingField, OrderByType orderbyType) throws SActivityReadException Description copied from interface:ActivityInstanceService
Get all open activity instances in the specific process instance. This is used for pagination- Specified by:
getOpenActivityInstances
in interfaceActivityInstanceService
- Parameters:
rootContainerId
- identifier of root container, the root container can be process instancepageIndex
- the page index to indicate which page will be retrieved. First page has index 0maxResults
- Number of result we want to get. Maximum number of result returnedsortingField
- the field used to do orderorderbyType
- ASC or DESC- Returns:
- a list of SActivityInstance objects
- Throws:
SActivityReadException
-
getMostRecentArchivedActivityInstance
public SAActivityInstance getMostRecentArchivedActivityInstance(long activityInstanceId) throws SActivityReadException, SActivityInstanceNotFoundException Description copied from interface:ActivityInstanceService
Get the most recent archived version of a specified activity instance- Specified by:
getMostRecentArchivedActivityInstance
in interfaceActivityInstanceService
- Parameters:
activityInstanceId
- identifier of activity instance- Returns:
- an SAActivityInstance object
- Throws:
SActivityReadException
- if a Read error occursSActivityInstanceNotFoundException
- it the provided activityInstanceId does not refer to an existing Activity Instance
-
getArchivedActivityInstances
public List<SAActivityInstance> getArchivedActivityInstances(long rootContainerId, QueryOptions queryOptions) throws SActivityReadException Description copied from interface:ActivityInstanceService
Get archived activity instances in the specific root container.- Specified by:
getArchivedActivityInstances
in interfaceActivityInstanceService
- Parameters:
rootContainerId
- identifier of root container, the root container can be process instancequeryOptions
- a map of specific parameters of a query- Returns:
- a list of SAActivityInstance objects
- Throws:
SActivityReadException
-
getPendingTasks
public List<SHumanTaskInstance> getPendingTasks(long userId, Set<Long> actorIds, int fromIndex, int maxResults, String sortFieldName, OrderByType order) throws SActivityReadException Description copied from interface:ActivityInstanceService
Get pending tasks for the user in specific actors. This is used for pagination- Specified by:
getPendingTasks
in interfaceActivityInstanceService
- Parameters:
userId
- identifier of useractorIds
- identifiers of actorfromIndex
- Index of the record to be retrieved from. First record has index 0maxResults
- Number of result we want to get. Maximum number of result returnedsortFieldName
- the field used to do orderorder
- ASC or DESC- Returns:
- a list of SActivityInstance objects
- Throws:
SActivityReadException
-
getAssignedUserTasks
public List<SHumanTaskInstance> getAssignedUserTasks(long assigneeId, int fromIndex, int maxResults, String sortFieldName, OrderByType order) throws SActivityReadException Description copied from interface:ActivityInstanceService
Get tasks assigned to the user. This is used for pagination- Specified by:
getAssignedUserTasks
in interfaceActivityInstanceService
- Parameters:
assigneeId
- identifier of userfromIndex
- Index of the record to be retrieved from. First record has index 0maxResults
- Number of result we want to get. Maximum number of result returnedsortFieldName
- the field used to do orderorder
- ASC or DESC- Returns:
- a list of SHumanTaskInstance objects
- Throws:
SActivityReadException
-
getNumberOfOpenActivityInstances
Description copied from interface:ActivityInstanceService
Get total number of open activity instances for the specific process instance- Specified by:
getNumberOfOpenActivityInstances
in interfaceActivityInstanceService
- Parameters:
rootContainerId
- identifier of process instance- Returns:
- the number of opened activity instances in the specific process instance
- Throws:
SActivityReadException
-
getActivityInstances
public List<SActivityInstance> getActivityInstances(long rootContainerId, int fromIndex, int numberOfResults) throws SActivityReadException Description copied from interface:ActivityInstanceService
Get all activity instances for the specific process instance- Specified by:
getActivityInstances
in interfaceActivityInstanceService
- Parameters:
rootContainerId
- identifier of root container, the root container can be process instance- Returns:
- a list of SActivityInstance objects
- Throws:
SActivityReadException
-
assignHumanTask
public void assignHumanTask(long userTaskId, long userId) throws SFlowNodeNotFoundException, SFlowNodeReadException, SActivityModificationException Description copied from interface:ActivityInstanceService
Assign the specific human task to the user- Specified by:
assignHumanTask
in interfaceActivityInstanceService
- Parameters:
userTaskId
- identifier of human task instanceuserId
- identifier of user- Throws:
SFlowNodeNotFoundException
SFlowNodeReadException
SActivityModificationException
-
assignHumanTaskIfNotAssigned
public void assignHumanTaskIfNotAssigned(long userTaskId, long userId) throws SFlowNodeNotFoundException, SFlowNodeReadException, SActivityModificationException, SHumanTaskAlreadyAssignedException Description copied from interface:ActivityInstanceService
Assign the specific human task to the user if it is not currently assignedUse a more restrictive mechanism than assignHumanTask method to assign human task:
- exception when task is already assign to a different user
- only update claimed date when assign to same user
- remove claimed date when assign to user with id 0 (un-assign)
under high load, getting pending tasks could return tasks that are being assign in a previous transaction in a separate thread, and thus assignee is override
- Specified by:
assignHumanTaskIfNotAssigned
in interfaceActivityInstanceService
- Parameters:
userTaskId
- identifier of human task instanceuserId
- identifier of user- Throws:
SFlowNodeNotFoundException
SFlowNodeReadException
SActivityModificationException
SHumanTaskAlreadyAssignedException
-
getNumberOfAssignedHumanTaskInstances
Description copied from interface:ActivityInstanceService
Get the number of UserTask instances assigned to a specific user- Specified by:
getNumberOfAssignedHumanTaskInstances
in interfaceActivityInstanceService
- Parameters:
userId
- the id of the user concerned- Returns:
- the number of UserTask instances assigned to this specific user
- Throws:
SActivityReadException
- if a Read exception occurs
-
getArchivedActivityInstance
public SAActivityInstance getArchivedActivityInstance(long activityInstanceId, int stateId) throws SActivityReadException, SActivityInstanceNotFoundException Description copied from interface:ActivityInstanceService
Gets the archive instance of the activity according to its identifier at a given state.- Specified by:
getArchivedActivityInstance
in interfaceActivityInstanceService
stateId
- the state identifier- Returns:
- Throws:
SActivityReadException
- if a Read exception occursSActivityInstanceNotFoundException
-
getNumberOfArchivedTasksManagedBy
public long getNumberOfArchivedTasksManagedBy(long managerUserId, QueryOptions searchOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
get the total number of archived tasks assigned to subordinates of specified manager.- Specified by:
getNumberOfArchivedTasksManagedBy
in interfaceActivityInstanceService
- Parameters:
managerUserId
- the userId of the managersearchOptions
- the search options to paginate, filter, ...- Returns:
- the number of elements encountered
- Throws:
SBonitaReadException
- in case a search error occurs
-
searchArchivedTasksManagedBy
public List<SAHumanTaskInstance> searchArchivedTasksManagedBy(long managerUserId, QueryOptions searchOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
get the archived tasks assigned to subordinates of specified manager, limited to, sorted, paginated with the specifies QueryOptions- Specified by:
searchArchivedTasksManagedBy
in interfaceActivityInstanceService
- Parameters:
managerUserId
- the userId of the managersearchOptions
- the search options to paginate, filter, sort ...- Returns:
- the elements encountered matching the specified options
- Throws:
SBonitaReadException
- in case a search error occurs
-
getNumberOfArchivedHumanTasksSupervisedBy
public long getNumberOfArchivedHumanTasksSupervisedBy(long supervisorId, QueryOptions queryOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search AUserTask instances archived for a specific supervisor- Specified by:
getNumberOfArchivedHumanTasksSupervisedBy
in interfaceActivityInstanceService
queryOptions
- the object used to manage all the search parameters of a query- Returns:
- the number of UserTask archived to this specific supervisor
- Throws:
SBonitaReadException
-
getNumberOfAssignedTasksSupervisedBy
public long getNumberOfAssignedTasksSupervisedBy(long supervisorId, QueryOptions queryOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search UserTask instances assigned for a specific supervisor- Specified by:
getNumberOfAssignedTasksSupervisedBy
in interfaceActivityInstanceService
- Returns:
- the number of UserTask assigned to this specific supervisor
- Throws:
SBonitaReadException
-
searchAssignedTasksSupervisedBy
public List<SHumanTaskInstance> searchAssignedTasksSupervisedBy(long supervisorId, QueryOptions queryOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search UserTask instances assigned for a specific supervisor- Specified by:
searchAssignedTasksSupervisedBy
in interfaceActivityInstanceService
queryOptions
- the object used to manage all the search parameters of a query- Returns:
- the UserTask instances list assigned to this specific supervisor
- Throws:
SBonitaReadException
-
getNumberOfHumanTasks
Description copied from interface:ActivityInstanceService
Get number of human task instances according to the criteria- Specified by:
getNumberOfHumanTasks
in interfaceActivityInstanceService
- Parameters:
queryOptions
- the search options to paginate, filter, sort ...- Returns:
- number of human task instances satisfied to the criteria
- Throws:
SBonitaReadException
-
searchHumanTasks
public List<SHumanTaskInstance> searchHumanTasks(QueryOptions queryOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search all human task instances according to the criteria- Specified by:
searchHumanTasks
in interfaceActivityInstanceService
- Parameters:
queryOptions
- the search options to paginate, filter, sort ...- Returns:
- a list of SHumanTaskInstance objects
- Throws:
SBonitaReadException
-
searchArchivedHumanTasksSupervisedBy
public List<SAHumanTaskInstance> searchArchivedHumanTasksSupervisedBy(long supervisorId, QueryOptions queryOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search AUserTask instances archived for a specific supervisor- Specified by:
searchArchivedHumanTasksSupervisedBy
in interfaceActivityInstanceService
queryOptions
- the object used to manage all the search parameters of a query- Returns:
- the UserTask instances list archived to this specific supervisor
- Throws:
SBonitaReadException
-
searchArchivedTasks
public List<SAHumanTaskInstance> searchArchivedTasks(QueryOptions searchOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search archived human tasks according to specific search criteria- Specified by:
searchArchivedTasks
in interfaceActivityInstanceService
- Parameters:
searchOptions
- the object used to manage all the search parameters of a query- Returns:
- a list of SAHumanTaskInstance objects
- Throws:
SBonitaReadException
-
getNumberOfArchivedTasks
Description copied from interface:ActivityInstanceService
Get total number of archived tasks according to specific search criteria- Specified by:
getNumberOfArchivedTasks
in interfaceActivityInstanceService
- Parameters:
searchOptions
- the object used to manage all the search parameters of a query- Returns:
- Throws:
SBonitaReadException
-
getNumberOfAssignedTasksManagedBy
public long getNumberOfAssignedTasksManagedBy(long managerUserId, QueryOptions searchOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Get total number of assigned tasks managed by the specific manager- Specified by:
getNumberOfAssignedTasksManagedBy
in interfaceActivityInstanceService
- Parameters:
managerUserId
- identifier of manager usersearchOptions
- the object used to manage all the search parameters of a query- Returns:
- number of assigned tasks managed by the specific manager
- Throws:
SBonitaReadException
-
searchAssignedTasksManagedBy
public List<SHumanTaskInstance> searchAssignedTasksManagedBy(long managerUserId, QueryOptions searchOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Get all assigned tasks managed by the specific manager- Specified by:
searchAssignedTasksManagedBy
in interfaceActivityInstanceService
- Parameters:
managerUserId
- identifier of manager usersearchOptions
- the object used to manage all the search parameters of a query- Returns:
- a list of SHumanTaskInstance objects
- Throws:
SBonitaReadException
-
searchPendingTasksSupervisedBy
public List<SHumanTaskInstance> searchPendingTasksSupervisedBy(long supervisorId, QueryOptions queryOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search all pending human task instances for the specific supervisor- Specified by:
searchPendingTasksSupervisedBy
in interfaceActivityInstanceService
- Parameters:
supervisorId
- identifier of supervisor userqueryOptions
- the search options to paginate, filter, sort ...- Returns:
- a list of SHumanTaskInstance objects
- Throws:
SBonitaReadException
-
getNumberOfPendingTasksSupervisedBy
public long getNumberOfPendingTasksSupervisedBy(long supervisorId, QueryOptions queryOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Get total number of pending human task instances for the specific supervisor- Specified by:
getNumberOfPendingTasksSupervisedBy
in interfaceActivityInstanceService
- Parameters:
supervisorId
- identifier of supervisor userqueryOptions
- the search options to paginate, filter, sort ...- Returns:
- number of pending human task instances for the specific supervisor
- Throws:
SBonitaReadException
-
getNumberOfOpenTasksForUsers
Description copied from interface:ActivityInstanceService
Get number of open tasks for each user- Specified by:
getNumberOfOpenTasksForUsers
in interfaceActivityInstanceService
- Parameters:
userIds
- identifiers of users- Returns:
- a map containing user id and corresponding task number
- Throws:
SBonitaReadException
-
searchNumberOfPendingTasksManagedBy
public long searchNumberOfPendingTasksManagedBy(long managerUserId, QueryOptions searchOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search total number of pending tasks for the specific manager- Specified by:
searchNumberOfPendingTasksManagedBy
in interfaceActivityInstanceService
- Parameters:
managerUserId
- identifier of manager usersearchOptions
- the search options to paginate, filter, sort ...- Returns:
- number of pending tasks
- Throws:
SBonitaReadException
-
searchPendingTasksManagedBy
public List<SHumanTaskInstance> searchPendingTasksManagedBy(long managerUserId, QueryOptions searchOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search all pending tasks for the specific manager- Specified by:
searchPendingTasksManagedBy
in interfaceActivityInstanceService
- Parameters:
managerUserId
- identifier of manager usersearchOptions
- the search options to paginate, filter, sort ...- Returns:
- a list of SHumanTaskInstance objects
- Throws:
SBonitaReadException
-
incrementLoopCounter
public void incrementLoopCounter(SLoopActivityInstance loopInstance) throws SActivityModificationException Description copied from interface:ActivityInstanceService
Increase loopCounter(loopCount+1) for the specific loop instance- Specified by:
incrementLoopCounter
in interfaceActivityInstanceService
- Parameters:
loopInstance
- the loopCounter in which will be increased- Throws:
SActivityModificationException
-
getNumberOfOverdueOpenTasksForUsers
public Map<Long,Long> getNumberOfOverdueOpenTasksForUsers(List<Long> userIds) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Get number of overdue open tasks for each user- Specified by:
getNumberOfOverdueOpenTasksForUsers
in interfaceActivityInstanceService
- Parameters:
userIds
- identifiers of users- Returns:
- a map containing userId and corresponding number of tasks
- Throws:
SBonitaReadException
-
getChildrenOfAnActivity
public List<SActivityInstance> getChildrenOfAnActivity(long parentActivityInstanceId, int fromIndex, int numberOfResults) throws SActivityReadException Description copied from interface:ActivityInstanceService
Get all child instances for the specific parent activity instance, order by id ascending.- Specified by:
getChildrenOfAnActivity
in interfaceActivityInstanceService
- Parameters:
parentActivityInstanceId
- identifier of parent activity instancefromIndex
- Index of the record to be retrieved from. First record has index 0numberOfResults
- TODO- Returns:
- a list of SActivityInstance objects
- Throws:
SActivityReadException
-
setLoopMax
public void setLoopMax(SLoopActivityInstance loopActivity, Integer loopMap) throws SActivityModificationException Description copied from interface:ActivityInstanceService
Set max loop for the specific loopActvity- Specified by:
setLoopMax
in interfaceActivityInstanceService
- Parameters:
loopActivity
- the loopActivityloopMap
- value for max loop- Throws:
SActivityModificationException
-
setLoopCardinality
public void setLoopCardinality(SFlowNodeInstance flowNodeInstance, int intLoopCardinality) throws SActivityModificationException Description copied from interface:ActivityInstanceService
Set LoopCardinality for the specific loopActvity- Specified by:
setLoopCardinality
in interfaceActivityInstanceService
- Parameters:
flowNodeInstance
- the loopActvityintLoopCardinality
- value of loop cardinality- Throws:
SActivityModificationException
-
addMultiInstanceNumberOfActiveActivities
public void addMultiInstanceNumberOfActiveActivities(SMultiInstanceActivityInstance flowNodeInstance, int number) throws SActivityModificationException Description copied from interface:ActivityInstanceService
Add number of activeInstances for the specific SMultiInstanceActivityInstance object- Specified by:
addMultiInstanceNumberOfActiveActivities
in interfaceActivityInstanceService
- Parameters:
flowNodeInstance
- an SMultiInstanceActivityInstance objectnumber
- the number will be added- Throws:
SActivityModificationException
-
addMultiInstanceNumberOfTerminatedActivities
public void addMultiInstanceNumberOfTerminatedActivities(SMultiInstanceActivityInstance flowNodeInstance, int number) throws SActivityModificationException Description copied from interface:ActivityInstanceService
Add number of terminated activeInstances for the specific SMultiInstanceActivityInstance object- Specified by:
addMultiInstanceNumberOfTerminatedActivities
in interfaceActivityInstanceService
- Parameters:
flowNodeInstance
- an SMultiInstanceActivityInstance objectnumber
- will be added to terminated instances of flowNodeInstance the number will be added- Throws:
SActivityModificationException
-
addMultiInstanceNumberOfCompletedActivities
public void addMultiInstanceNumberOfCompletedActivities(SMultiInstanceActivityInstance flowNodeInstance, int number) throws SActivityModificationException Description copied from interface:ActivityInstanceService
Add number of completed activeInstances for the specific SMultiInstanceActivityInstance object- Specified by:
addMultiInstanceNumberOfCompletedActivities
in interfaceActivityInstanceService
- Parameters:
flowNodeInstance
- an SMultiInstanceActivityInstance object whose completed activity number will be updatednumber
- the number will be added- Throws:
SActivityModificationException
-
getNumberOfActivityInstances
public long getNumberOfActivityInstances(Class<? extends PersistentObject> entityClass, QueryOptions searchOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Get total number of activity instances for the specific entity class- Specified by:
getNumberOfActivityInstances
in interfaceActivityInstanceService
- Parameters:
entityClass
- to indicate which type of class will be retrievedsearchOptions
- the search options to paginate, filter, sort ...- Returns:
- number of activity instances for the specific entity class
- Throws:
SBonitaReadException
-
searchActivityInstances
public List<SActivityInstance> searchActivityInstances(Class<? extends PersistentObject> entityClass, QueryOptions searchOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search all activity instances for the specific entity class- Specified by:
searchActivityInstances
in interfaceActivityInstanceService
- Parameters:
entityClass
- to indicate which type of class will be retrievedsearchOptions
- the search options to paginate, filter, sort ...- Returns:
- a list of SActivityInstance objects
- Throws:
SBonitaReadException
-
getNumberOfArchivedActivityInstances
public long getNumberOfArchivedActivityInstances(Class<? extends PersistentObject> entityClass, QueryOptions searchOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Get total number of archived activity instances for the specific entity class- Specified by:
getNumberOfArchivedActivityInstances
in interfaceActivityInstanceService
- Parameters:
entityClass
- to indicate which type of class will be retrievedsearchOptions
- the search options to paginate, filter, sort ...- Returns:
- number of archived activity instances for the specific entity class
- Throws:
SBonitaReadException
-
searchArchivedActivityInstances
public List<SAActivityInstance> searchArchivedActivityInstances(Class<? extends PersistentObject> entityClass, QueryOptions searchOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search all archived activity instances for the specific entity class- Specified by:
searchArchivedActivityInstances
in interfaceActivityInstanceService
- Parameters:
entityClass
- to indicate which type of class will be retrievedsearchOptions
- the search options to paginate, filter, sort ...- Returns:
- a list of SAActivityInstance objects
- Throws:
SBonitaReadException
-
setTokenCount
public void setTokenCount(SActivityInstance activityInstance, int tokenCount) throws SFlowNodeModificationException Description copied from interface:ActivityInstanceService
Set tokenCount for the specific activity instance- Specified by:
setTokenCount
in interfaceActivityInstanceService
- Parameters:
activityInstance
- the activityInstance will be updatedtokenCount
- value of tokenCount will be set to the activity- Throws:
SFlowNodeModificationException
-
getNumberOfPendingTasksForUser
public long getNumberOfPendingTasksForUser(long userId, QueryOptions searchOptions) throws SBonitaReadException - Specified by:
getNumberOfPendingTasksForUser
in interfaceActivityInstanceService
- Returns:
- Throws:
SBonitaReadException
-
searchPendingTasksForUser
public List<SHumanTaskInstance> searchPendingTasksForUser(long userId, QueryOptions searchOptions) throws SBonitaReadException - Specified by:
searchPendingTasksForUser
in interfaceActivityInstanceService
- Returns:
- Throws:
SBonitaReadException
-
searchPendingTasksAssignedTo
public List<SHumanTaskInstance> searchPendingTasksAssignedTo(long userId, QueryOptions searchOptions) throws SBonitaReadException - Specified by:
searchPendingTasksAssignedTo
in interfaceActivityInstanceService
- Throws:
SBonitaReadException
-
getNumberOfPendingOrAssignedTasks
public long getNumberOfPendingOrAssignedTasks(long userId, QueryOptions searchOptions) throws SBonitaReadException - Specified by:
getNumberOfPendingOrAssignedTasks
in interfaceActivityInstanceService
- Returns:
- Throws:
SBonitaReadException
-
getNumberOfPendingOrAssignedOrAssignedToOthersTasks
public long getNumberOfPendingOrAssignedOrAssignedToOthersTasks(long userId, QueryOptions searchOptions) throws SBonitaReadException - Specified by:
getNumberOfPendingOrAssignedOrAssignedToOthersTasks
in interfaceActivityInstanceService
- Returns:
- Throws:
SBonitaReadException
-
getNumberOfPendingTasksAssignedTo
public long getNumberOfPendingTasksAssignedTo(long userId, QueryOptions searchOptions) throws SBonitaReadException - Specified by:
getNumberOfPendingTasksAssignedTo
in interfaceActivityInstanceService
- Throws:
SBonitaReadException
-
searchPendingOrAssignedTasks
public List<SHumanTaskInstance> searchPendingOrAssignedTasks(long userId, QueryOptions searchOptions) throws SBonitaReadException - Specified by:
searchPendingOrAssignedTasks
in interfaceActivityInstanceService
- Returns:
- Throws:
SBonitaReadException
-
searchPendingOrAssignedOrAssignedToOthersTasks
public List<SHumanTaskInstance> searchPendingOrAssignedOrAssignedToOthersTasks(long userId, QueryOptions searchOptions) throws SBonitaReadException - Specified by:
searchPendingOrAssignedOrAssignedToOthersTasks
in interfaceActivityInstanceService
- Returns:
- Throws:
SBonitaReadException
-
setAbortedByBoundaryEvent
public void setAbortedByBoundaryEvent(SActivityInstance activityInstance, long boundaryEventId) throws SActivityModificationException - Specified by:
setAbortedByBoundaryEvent
in interfaceActivityInstanceService
- Throws:
SActivityModificationException
-
getPossibleUserIdsOfPendingTasks
public List<Long> getPossibleUserIdsOfPendingTasks(long humanTaskInstanceId, int startIndex, int maxResults) throws SActivityReadException - Specified by:
getPossibleUserIdsOfPendingTasks
in interfaceActivityInstanceService
- Throws:
SActivityReadException
-
isTaskPendingForUser
public boolean isTaskPendingForUser(long humanTaskInstanceId, long userId) throws SBonitaReadException - Specified by:
isTaskPendingForUser
in interfaceActivityInstanceService
- Throws:
SBonitaReadException
-
getNumberOfUsersWhoCanExecutePendingHumanTaskDeploymentInfo
public long getNumberOfUsersWhoCanExecutePendingHumanTaskDeploymentInfo(long humanTaskInstanceId, QueryOptions searchOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Get total number of users according to specific query options, and who can start the task filtered with the search option of the given process definition- Specified by:
getNumberOfUsersWhoCanExecutePendingHumanTaskDeploymentInfo
in interfaceActivityInstanceService
searchOptions
- The QueryOptions object containing some query conditions- Returns:
- Throws:
SBonitaReadException
-
searchUsersWhoCanExecutePendingHumanTaskDeploymentInfo
public List<SUser> searchUsersWhoCanExecutePendingHumanTaskDeploymentInfo(long humanTaskInstanceId, QueryOptions searchOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search the users according to specific query options, and who can start the task filtered with the search option of the given process definition- Specified by:
searchUsersWhoCanExecutePendingHumanTaskDeploymentInfo
in interfaceActivityInstanceService
searchOptions
- The QueryOptions object containing some query conditions- Returns:
- Throws:
SBonitaReadException
-
getNumberOfAssignedAndPendingHumanTasksFor
public long getNumberOfAssignedAndPendingHumanTasksFor(long rootProcessDefinitionId, long userId, QueryOptions queryOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Get the total number of the assigned and pending human tasks for the specified user, on the specified root process definition, corresponding to the options.- Specified by:
getNumberOfAssignedAndPendingHumanTasksFor
in interfaceActivityInstanceService
- Parameters:
rootProcessDefinitionId
- The identifier of the root process definitionuserId
- The identifier of the userqueryOptions
- The search conditions and the options for sorting and paging the results.- Returns:
- The assigned and pending human tasks
- Throws:
SBonitaReadException
-
searchAssignedAndPendingHumanTasksFor
public List<SHumanTaskInstance> searchAssignedAndPendingHumanTasksFor(long rootProcessDefinitionId, long userId, QueryOptions queryOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search the assigned and pending human tasks for the specified user, on the specified root process definition, corresponding to the options.- Specified by:
searchAssignedAndPendingHumanTasksFor
in interfaceActivityInstanceService
- Parameters:
rootProcessDefinitionId
- The identifier of the root process definitionuserId
- The identifier of the userqueryOptions
- The search conditions and the options for sorting and paging the results.- Returns:
- The assigned and pending human tasks
- Throws:
SBonitaReadException
-
getNumberOfAssignedAndPendingHumanTasks
public long getNumberOfAssignedAndPendingHumanTasks(long rootProcessDefinitionId, QueryOptions queryOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Get the total number of the assigned and pending human tasks for any user, on the specified root process definition, corresponding to the options.- Specified by:
getNumberOfAssignedAndPendingHumanTasks
in interfaceActivityInstanceService
- Parameters:
rootProcessDefinitionId
- The identifier of the root process definitionqueryOptions
- The search conditions and the options for sorting and paging the results.- Returns:
- The assigned and pending human tasks
- Throws:
SBonitaReadException
-
searchAssignedAndPendingHumanTasks
public List<SHumanTaskInstance> searchAssignedAndPendingHumanTasks(long rootProcessDefinitionId, QueryOptions queryOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search the assigned and pending human tasks for any user, on the specified root process definition, corresponding to the options.- Specified by:
searchAssignedAndPendingHumanTasks
in interfaceActivityInstanceService
- Parameters:
rootProcessDefinitionId
- The identifier of the root process definitionqueryOptions
- The search conditions and the options for sorting and paging the results.- Returns:
- The assigned and pending human tasks
- Throws:
SBonitaReadException
-
getNumberOfAssignedAndPendingHumanTasks
public long getNumberOfAssignedAndPendingHumanTasks(QueryOptions queryOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Get the total number of the assigned and pending human tasks for any user corresponding to the options.- Specified by:
getNumberOfAssignedAndPendingHumanTasks
in interfaceActivityInstanceService
- Parameters:
queryOptions
- The search conditions and the options for sorting and paging the results.- Returns:
- The assigned and pending human tasks
- Throws:
SBonitaReadException
-
searchAssignedAndPendingHumanTasks
public List<SHumanTaskInstance> searchAssignedAndPendingHumanTasks(QueryOptions queryOptions) throws SBonitaReadException Description copied from interface:ActivityInstanceService
Search the assigned and pending human tasks for any user corresponding to the options.- Specified by:
searchAssignedAndPendingHumanTasks
in interfaceActivityInstanceService
- Parameters:
queryOptions
- The search conditions and the options for sorting and paging the results.- Returns:
- The assigned and pending human tasks
- Throws:
SBonitaReadException
-