Class ExecutionEntityManagerImpl
java.lang.Object
org.flowable.common.engine.impl.persistence.entity.AbstractEntityManager<EntityImpl,DM>
org.flowable.common.engine.impl.persistence.entity.AbstractEngineEntityManager<ProcessEngineConfigurationImpl,EntityImpl,DM>
org.flowable.engine.impl.persistence.entity.AbstractProcessEngineEntityManager<ExecutionEntity,ExecutionDataManager>
org.flowable.engine.impl.persistence.entity.ExecutionEntityManagerImpl
- All Implemented Interfaces:
EntityManager<ExecutionEntity>,ExecutionEntityManager
public class ExecutionEntityManagerImpl
extends AbstractProcessEngineEntityManager<ExecutionEntity,ExecutionDataManager>
implements ExecutionEntityManager
- Author:
- Tom Baeyens, Joram Barrez
-
Field Summary
FieldsFields inherited from class org.flowable.common.engine.impl.persistence.entity.AbstractEngineEntityManager
engineConfigurationFields inherited from class org.flowable.common.engine.impl.persistence.entity.AbstractEntityManager
dataManager, engineType -
Constructor Summary
ConstructorsConstructorDescriptionExecutionEntityManagerImpl(ProcessEngineConfigurationImpl processEngineConfiguration, ExecutionDataManager executionDataManager) -
Method Summary
Modifier and TypeMethodDescriptionvoidclearAllProcessInstanceLockTimes(String lockOwner) voidclearProcessInstanceLockTime(String processInstanceId) collectChildren(ExecutionEntity executionEntity) Returns all child executions of a givenExecutionEntity.protected List<ExecutionEntity>collectChildren(ExecutionEntity executionEntity, Collection<String> executionIdsToExclude) protected voidcollectChildren(ExecutionEntity executionEntity, List<ExecutionEntity> collectedChildExecution, Collection<String> executionIdsToExclude) longcountActiveExecutionsByParentId(String parentId) createChildExecution(ExecutionEntity parentExecutionEntity) Creates a new execution.createProcessInstanceExecution(ProcessDefinition processDefinition, String predefinedProcessInstanceId, String businessKey, String businessStatus, String processInstanceName, String callbackId, String callbackType, String referenceId, String referenceType, String propagatedStageInstanceId, String tenantId, String initiatorVariableName, String startActivityId) createSubprocessInstance(ProcessDefinition processDefinition, ExecutionEntity superExecutionEntity, String businessKey, String activityId) voiddelete(ExecutionEntity entity) voiddelete(ExecutionEntity entity, boolean fireDeleteEvent) protected voiddeleteActivityInstances(ExecutionEntity executionEntity, CommandContext commandContext) voiddeleteChildExecutions(ExecutionEntity executionEntity, String deleteReason, boolean cancel) voiddeleteChildExecutions(ExecutionEntity executionEntity, Collection<String> executionIdsNotToDelete, Collection<String> executionIdsNotToSendCancelledEventFor, String deleteReason, boolean cancel, FlowElement cancelActivity) protected voiddeleteEntityLinks(ExecutionEntity executionEntity, CommandContext commandContext, boolean eventDispatcherEnabled) protected voiddeleteEventSubScriptions(ExecutionEntity executionEntity, boolean enableExecutionRelationshipCounts, boolean eventDispatcherEnabled) voiddeleteExecutionAndRelatedData(ExecutionEntity executionEntity, String deleteReason, boolean deleteHistory) voiddeleteExecutionAndRelatedData(ExecutionEntity executionEntity, String deleteReason, boolean deleteHistory, boolean directDeleteInDatabase) voiddeleteExecutionAndRelatedData(ExecutionEntity executionEntity, String deleteReason, boolean deleteHistory, boolean directDeleteInDatabase, boolean cancel, FlowElement cancelActivity) protected voiddeleteIdentityLinks(ExecutionEntity executionEntity, CommandContext commandContext, boolean eventDispatcherEnabled) protected voiddeleteJobs(ExecutionEntity executionEntity, CommandContext commandContext, boolean enableExecutionRelationshipCounts, boolean eventDispatcherEnabled) voiddeleteProcessInstance(String processInstanceId, String deleteReason, boolean cascade) voiddeleteProcessInstance(String processInstanceId, String deleteReason, boolean cascade, boolean directDeleteInDatabase) protected voiddeleteProcessInstanceCascade(ExecutionEntity execution, String deleteReason, boolean deleteHistory, boolean directDeleteInDatabase) voiddeleteProcessInstanceExecutionEntity(String processInstanceId, String currentFlowElementId, String deleteReason, boolean cascade, boolean cancel, boolean fireEvents) voiddeleteProcessInstancesByProcessDefinition(String processDefinitionId, String deleteReason, boolean cascade) voiddeleteRelatedDataForExecution(ExecutionEntity executionEntity, String deleteReason, boolean directDeleteInDatabase) protected voiddeleteSubCases(ExecutionEntity executionEntity, boolean directDeleteInDatabase, CommandContext commandContext) protected voiddeleteUserTasks(ExecutionEntity executionEntity, String deleteReason, CommandContext commandContext, boolean enableExecutionRelationshipCounts, boolean eventDispatcherEnabled) protected voiddeleteVariables(ExecutionEntity executionEntity, CommandContext commandContext, boolean enableExecutionRelationshipCounts, boolean eventDispatcherEnabled) protected voiddispatchActivityCancelled(ExecutionEntity execution, FlowElement cancelActivity) protected voiddispatchExecutionCancelled(ExecutionEntity execution, FlowElement cancelActivity) protected voiddispatchMultiInstanceActivityCancelled(ExecutionEntity execution, FlowElement cancelActivity) findByRootProcessInstanceId(String rootProcessInstanceId) Finds theExecutionEntityfor the given root process instance id.findChildExecutionsByParentExecutionId(String parentExecutionId) findChildExecutionsByProcessInstanceId(String processInstanceId) longfindExecutionCountByNativeQuery(Map<String, Object> parameterMap) longfindExecutionCountByQueryCriteria(ExecutionQueryImpl executionQuery) findExecutionsByNativeQuery(Map<String, Object> parameterMap) findExecutionsByParentExecutionAndActivityIds(String parentExecutionId, Collection<String> activityIds) findExecutionsByQueryCriteria(ExecutionQueryImpl executionQuery) findFirstMultiInstanceRoot(ExecutionEntity executionEntity) findFirstScope(ExecutionEntity executionEntity) findInactiveExecutionsByActivityIdAndProcessInstanceId(String activityId, String processInstanceId) findInactiveExecutionsByProcessInstanceId(String processInstanceId) findProcessInstanceByNativeQuery(Map<String, Object> parameterMap) findProcessInstanceByQueryCriteria(ProcessInstanceQueryImpl executionQuery) longfindProcessInstanceCountByQueryCriteria(ProcessInstanceQueryImpl executionQuery) findSubProcessInstanceBySuperExecutionId(String superExecutionId) protected ActivityInstanceEntityManagerprotected StringgetActivityType(FlowElement flowNode) protected AsyncExecutorprotected ByteArrayEntityManagerprotected HistoryManagerprotected voidinheritCommonProperties(ExecutionEntity parentExecutionEntity, ExecutionEntity childExecution) protected booleanisRootProcessInstance(ExecutionEntity executionEntity) protected ExecutionEntityprocessExecutionTree(String rootProcessInstanceId, List<ExecutionEntity> executions) Processes a collection ofExecutionEntityinstances, which form on execution tree.voidupdateExecutionTenantIdForDeployment(String deploymentId, String newTenantId) updateProcessInstanceBusinessKey(ExecutionEntity executionEntity, String businessKey) updateProcessInstanceBusinessStatus(ExecutionEntity executionEntity, String businessStatus) voidupdateProcessInstanceLockTime(String processInstanceId, String lockOwner, Date lockTime) Methods inherited from class org.flowable.engine.impl.persistence.entity.AbstractProcessEngineEntityManager
createEntityEventMethods inherited from class org.flowable.common.engine.impl.persistence.entity.AbstractEngineEntityManager
getClock, getCommandExecutor, getEngineConfiguration, getEventDispatcherMethods inherited from class org.flowable.common.engine.impl.persistence.entity.AbstractEntityManager
create, delete, findById, fireEntityDeletedEvent, fireEntityInsertedEvent, fireEntityUpdatedEvent, getDataManager, insert, insert, setDataManager, update, update
-
Field Details
-
identityLinkByProcessInstanceMatcher
-
-
Constructor Details
-
ExecutionEntityManagerImpl
public ExecutionEntityManagerImpl(ProcessEngineConfigurationImpl processEngineConfiguration, ExecutionDataManager executionDataManager)
-
-
Method Details
-
delete
- Specified by:
deletein interfaceEntityManager<ExecutionEntity>- Overrides:
deletein classAbstractEntityManager<ExecutionEntity,ExecutionDataManager>
-
delete
- Specified by:
deletein interfaceEntityManager<ExecutionEntity>- Overrides:
deletein classAbstractEntityManager<ExecutionEntity,ExecutionDataManager>
-
findSubProcessInstanceBySuperExecutionId
- Specified by:
findSubProcessInstanceBySuperExecutionIdin interfaceExecutionEntityManager
-
findChildExecutionsByParentExecutionId
- Specified by:
findChildExecutionsByParentExecutionIdin interfaceExecutionEntityManager
-
findChildExecutionsByProcessInstanceId
- Specified by:
findChildExecutionsByProcessInstanceIdin interfaceExecutionEntityManager
-
findExecutionsByParentExecutionAndActivityIds
public List<ExecutionEntity> findExecutionsByParentExecutionAndActivityIds(String parentExecutionId, Collection<String> activityIds) - Specified by:
findExecutionsByParentExecutionAndActivityIdsin interfaceExecutionEntityManager
-
findExecutionCountByQueryCriteria
- Specified by:
findExecutionCountByQueryCriteriain interfaceExecutionEntityManager
-
findExecutionsByQueryCriteria
- Specified by:
findExecutionsByQueryCriteriain interfaceExecutionEntityManager
-
findProcessInstanceCountByQueryCriteria
- Specified by:
findProcessInstanceCountByQueryCriteriain interfaceExecutionEntityManager
-
findProcessInstanceByQueryCriteria
public List<ProcessInstance> findProcessInstanceByQueryCriteria(ProcessInstanceQueryImpl executionQuery) - Specified by:
findProcessInstanceByQueryCriteriain interfaceExecutionEntityManager
-
findByRootProcessInstanceId
Description copied from interface:ExecutionEntityManagerFinds theExecutionEntityfor the given root process instance id. All children will have been fetched and initialized.- Specified by:
findByRootProcessInstanceIdin interfaceExecutionEntityManager
-
processExecutionTree
protected ExecutionEntity processExecutionTree(String rootProcessInstanceId, List<ExecutionEntity> executions) Processes a collection ofExecutionEntityinstances, which form on execution tree. All the executions share the same rootProcessInstanceId (which is provided). The return value will be the rootExecutionEntityinstance, with all childExecutionEntityinstances populated and set using theExecutionEntityinstances from the provided collections -
findProcessInstanceAndVariablesByQueryCriteria
public List<ProcessInstance> findProcessInstanceAndVariablesByQueryCriteria(ProcessInstanceQueryImpl executionQuery) - Specified by:
findProcessInstanceAndVariablesByQueryCriteriain interfaceExecutionEntityManager
-
findInactiveExecutionsByProcessInstanceId
public Collection<ExecutionEntity> findInactiveExecutionsByProcessInstanceId(String processInstanceId) - Specified by:
findInactiveExecutionsByProcessInstanceIdin interfaceExecutionEntityManager
-
findInactiveExecutionsByActivityIdAndProcessInstanceId
public Collection<ExecutionEntity> findInactiveExecutionsByActivityIdAndProcessInstanceId(String activityId, String processInstanceId) - Specified by:
findInactiveExecutionsByActivityIdAndProcessInstanceIdin interfaceExecutionEntityManager
-
findExecutionsByNativeQuery
- Specified by:
findExecutionsByNativeQueryin interfaceExecutionEntityManager
-
findProcessInstanceByNativeQuery
- Specified by:
findProcessInstanceByNativeQueryin interfaceExecutionEntityManager
-
findExecutionCountByNativeQuery
- Specified by:
findExecutionCountByNativeQueryin interfaceExecutionEntityManager
-
countActiveExecutionsByParentId
- Specified by:
countActiveExecutionsByParentIdin interfaceExecutionEntityManager
-
createProcessInstanceExecution
public ExecutionEntity createProcessInstanceExecution(ProcessDefinition processDefinition, String predefinedProcessInstanceId, String businessKey, String businessStatus, String processInstanceName, String callbackId, String callbackType, String referenceId, String referenceType, String propagatedStageInstanceId, String tenantId, String initiatorVariableName, String startActivityId) - Specified by:
createProcessInstanceExecutionin interfaceExecutionEntityManager
-
createChildExecution
Creates a new execution. properties processDefinition, processInstance and activity will be initialized.- Specified by:
createChildExecutionin interfaceExecutionEntityManager
-
createSubprocessInstance
public ExecutionEntity createSubprocessInstance(ProcessDefinition processDefinition, ExecutionEntity superExecutionEntity, String businessKey, String activityId) - Specified by:
createSubprocessInstancein interfaceExecutionEntityManager
-
inheritCommonProperties
protected void inheritCommonProperties(ExecutionEntity parentExecutionEntity, ExecutionEntity childExecution) -
updateExecutionTenantIdForDeployment
- Specified by:
updateExecutionTenantIdForDeploymentin interfaceExecutionEntityManager
-
deleteProcessInstancesByProcessDefinition
public void deleteProcessInstancesByProcessDefinition(String processDefinitionId, String deleteReason, boolean cascade) - Specified by:
deleteProcessInstancesByProcessDefinitionin interfaceExecutionEntityManager
-
deleteProcessInstance
- Specified by:
deleteProcessInstancein interfaceExecutionEntityManager
-
deleteProcessInstance
public void deleteProcessInstance(String processInstanceId, String deleteReason, boolean cascade, boolean directDeleteInDatabase) - Specified by:
deleteProcessInstancein interfaceExecutionEntityManager
-
deleteProcessInstanceCascade
protected void deleteProcessInstanceCascade(ExecutionEntity execution, String deleteReason, boolean deleteHistory, boolean directDeleteInDatabase) -
deleteExecutionAndRelatedData
public void deleteExecutionAndRelatedData(ExecutionEntity executionEntity, String deleteReason, boolean deleteHistory, boolean directDeleteInDatabase, boolean cancel, FlowElement cancelActivity) - Specified by:
deleteExecutionAndRelatedDatain interfaceExecutionEntityManager
-
deleteExecutionAndRelatedData
public void deleteExecutionAndRelatedData(ExecutionEntity executionEntity, String deleteReason, boolean deleteHistory) - Specified by:
deleteExecutionAndRelatedDatain interfaceExecutionEntityManager
-
deleteExecutionAndRelatedData
public void deleteExecutionAndRelatedData(ExecutionEntity executionEntity, String deleteReason, boolean deleteHistory, boolean directDeleteInDatabase) - Specified by:
deleteExecutionAndRelatedDatain interfaceExecutionEntityManager
-
deleteProcessInstanceExecutionEntity
public void deleteProcessInstanceExecutionEntity(String processInstanceId, String currentFlowElementId, String deleteReason, boolean cascade, boolean cancel, boolean fireEvents) - Specified by:
deleteProcessInstanceExecutionEntityin interfaceExecutionEntityManager
-
deleteChildExecutions
public void deleteChildExecutions(ExecutionEntity executionEntity, String deleteReason, boolean cancel) - Specified by:
deleteChildExecutionsin interfaceExecutionEntityManager
-
deleteChildExecutions
public void deleteChildExecutions(ExecutionEntity executionEntity, Collection<String> executionIdsNotToDelete, Collection<String> executionIdsNotToSendCancelledEventFor, String deleteReason, boolean cancel, FlowElement cancelActivity) - Specified by:
deleteChildExecutionsin interfaceExecutionEntityManager
-
collectChildren
Description copied from interface:ExecutionEntityManagerReturns all child executions of a givenExecutionEntity. In the list, child executions will be behind parent executions. Children include subprocessinstances and its children.- Specified by:
collectChildrenin interfaceExecutionEntityManager
-
collectChildren
protected List<ExecutionEntity> collectChildren(ExecutionEntity executionEntity, Collection<String> executionIdsToExclude) -
collectChildren
protected void collectChildren(ExecutionEntity executionEntity, List<ExecutionEntity> collectedChildExecution, Collection<String> executionIdsToExclude) -
dispatchExecutionCancelled
-
dispatchActivityCancelled
-
dispatchMultiInstanceActivityCancelled
protected void dispatchMultiInstanceActivityCancelled(ExecutionEntity execution, FlowElement cancelActivity) -
getActivityType
-
findFirstScope
- Specified by:
findFirstScopein interfaceExecutionEntityManager
-
findFirstMultiInstanceRoot
- Specified by:
findFirstMultiInstanceRootin interfaceExecutionEntityManager
-
deleteRelatedDataForExecution
public void deleteRelatedDataForExecution(ExecutionEntity executionEntity, String deleteReason, boolean directDeleteInDatabase) - Specified by:
deleteRelatedDataForExecutionin interfaceExecutionEntityManager
-
deleteSubCases
protected void deleteSubCases(ExecutionEntity executionEntity, boolean directDeleteInDatabase, CommandContext commandContext) -
deleteActivityInstances
protected void deleteActivityInstances(ExecutionEntity executionEntity, CommandContext commandContext) -
deleteIdentityLinks
protected void deleteIdentityLinks(ExecutionEntity executionEntity, CommandContext commandContext, boolean eventDispatcherEnabled) -
deleteEntityLinks
protected void deleteEntityLinks(ExecutionEntity executionEntity, CommandContext commandContext, boolean eventDispatcherEnabled) -
isRootProcessInstance
-
deleteVariables
protected void deleteVariables(ExecutionEntity executionEntity, CommandContext commandContext, boolean enableExecutionRelationshipCounts, boolean eventDispatcherEnabled) -
deleteUserTasks
protected void deleteUserTasks(ExecutionEntity executionEntity, String deleteReason, CommandContext commandContext, boolean enableExecutionRelationshipCounts, boolean eventDispatcherEnabled) -
deleteJobs
protected void deleteJobs(ExecutionEntity executionEntity, CommandContext commandContext, boolean enableExecutionRelationshipCounts, boolean eventDispatcherEnabled) -
deleteEventSubScriptions
protected void deleteEventSubScriptions(ExecutionEntity executionEntity, boolean enableExecutionRelationshipCounts, boolean eventDispatcherEnabled) -
updateProcessInstanceLockTime
public void updateProcessInstanceLockTime(String processInstanceId, String lockOwner, Date lockTime) - Specified by:
updateProcessInstanceLockTimein interfaceExecutionEntityManager
-
clearProcessInstanceLockTime
- Specified by:
clearProcessInstanceLockTimein interfaceExecutionEntityManager
-
clearAllProcessInstanceLockTimes
- Specified by:
clearAllProcessInstanceLockTimesin interfaceExecutionEntityManager
-
updateProcessInstanceBusinessKey
- Specified by:
updateProcessInstanceBusinessKeyin interfaceExecutionEntityManager
-
updateProcessInstanceBusinessStatus
public String updateProcessInstanceBusinessStatus(ExecutionEntity executionEntity, String businessStatus) - Specified by:
updateProcessInstanceBusinessStatusin interfaceExecutionEntityManager
-
getHistoryManager
-
getAsyncExecutor
-
getByteArrayEntityManager
-
getActivityInstanceEntityManager
-