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
Fields Modifier and Type Field Description protected CachedEntityMatcher<IdentityLinkEntity>identityLinkByProcessInstanceMatcher-
Fields inherited from class org.flowable.common.engine.impl.persistence.entity.AbstractEngineEntityManager
engineConfiguration
-
Fields inherited from class org.flowable.common.engine.impl.persistence.entity.AbstractEntityManager
dataManager, engineType
-
-
Constructor Summary
Constructors Constructor Description ExecutionEntityManagerImpl(ProcessEngineConfigurationImpl processEngineConfiguration, ExecutionDataManager executionDataManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearAllProcessInstanceLockTimes(String lockOwner)voidclearProcessInstanceLockTime(String processInstanceId)List<ExecutionEntity>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)ExecutionEntitycreateChildExecution(ExecutionEntity parentExecutionEntity)Creates a new execution.ExecutionEntitycreateProcessInstanceExecution(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)ExecutionEntitycreateSubprocessInstance(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, org.flowable.bpmn.model.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, org.flowable.bpmn.model.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, org.flowable.bpmn.model.FlowElement cancelActivity)protected voiddispatchExecutionCancelled(ExecutionEntity execution, org.flowable.bpmn.model.FlowElement cancelActivity)protected voiddispatchMultiInstanceActivityCancelled(ExecutionEntity execution, org.flowable.bpmn.model.FlowElement cancelActivity)ExecutionEntityfindByRootProcessInstanceId(String rootProcessInstanceId)Finds theExecutionEntityfor the given root process instance id.List<ExecutionEntity>findChildExecutionsByParentExecutionId(String parentExecutionId)List<ExecutionEntity>findChildExecutionsByProcessInstanceId(String processInstanceId)longfindExecutionCountByNativeQuery(Map<String,Object> parameterMap)longfindExecutionCountByQueryCriteria(ExecutionQueryImpl executionQuery)List<Execution>findExecutionsByNativeQuery(Map<String,Object> parameterMap)List<ExecutionEntity>findExecutionsByParentExecutionAndActivityIds(String parentExecutionId, Collection<String> activityIds)List<ExecutionEntity>findExecutionsByQueryCriteria(ExecutionQueryImpl executionQuery)ExecutionEntityfindFirstMultiInstanceRoot(ExecutionEntity executionEntity)ExecutionEntityfindFirstScope(ExecutionEntity executionEntity)Collection<ExecutionEntity>findInactiveExecutionsByActivityIdAndProcessInstanceId(String activityId, String processInstanceId)Collection<ExecutionEntity>findInactiveExecutionsByProcessInstanceId(String processInstanceId)List<ProcessInstance>findProcessInstanceAndVariablesByQueryCriteria(ProcessInstanceQueryImpl executionQuery)List<ProcessInstance>findProcessInstanceByNativeQuery(Map<String,Object> parameterMap)List<ProcessInstance>findProcessInstanceByQueryCriteria(ProcessInstanceQueryImpl executionQuery)longfindProcessInstanceCountByQueryCriteria(ProcessInstanceQueryImpl executionQuery)ExecutionEntityfindSubProcessInstanceBySuperExecutionId(String superExecutionId)protected ActivityInstanceEntityManagergetActivityInstanceEntityManager()protected StringgetActivityType(org.flowable.bpmn.model.FlowElement flowNode)protected AsyncExecutorgetAsyncExecutor()protected ByteArrayEntityManagergetByteArrayEntityManager()protected HistoryManagergetHistoryManager()protected 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)StringupdateProcessInstanceBusinessKey(ExecutionEntity executionEntity, String businessKey)StringupdateProcessInstanceBusinessStatus(ExecutionEntity executionEntity, String businessStatus)voidupdateProcessInstanceLockTime(String processInstanceId, String lockOwner, Date lockTime)-
Methods inherited from class org.flowable.engine.impl.persistence.entity.AbstractProcessEngineEntityManager
createEntityEvent
-
Methods inherited from class org.flowable.common.engine.impl.persistence.entity.AbstractEngineEntityManager
getClock, getCommandExecutor, getEngineConfiguration, getEventDispatcher
-
Methods inherited from class org.flowable.common.engine.impl.persistence.entity.AbstractEntityManager
create, delete, findById, fireEntityDeletedEvent, fireEntityInsertedEvent, fireEntityUpdatedEvent, getDataManager, insert, insert, setDataManager, update, update
-
-
-
-
Field Detail
-
identityLinkByProcessInstanceMatcher
protected CachedEntityMatcher<IdentityLinkEntity> identityLinkByProcessInstanceMatcher
-
-
Constructor Detail
-
ExecutionEntityManagerImpl
public ExecutionEntityManagerImpl(ProcessEngineConfigurationImpl processEngineConfiguration, ExecutionDataManager executionDataManager)
-
-
Method Detail
-
delete
public void delete(ExecutionEntity entity)
- Specified by:
deletein interfaceEntityManager<ExecutionEntity>- Overrides:
deletein classAbstractEntityManager<ExecutionEntity,ExecutionDataManager>
-
delete
public void delete(ExecutionEntity entity, boolean fireDeleteEvent)
- Specified by:
deletein interfaceEntityManager<ExecutionEntity>- Overrides:
deletein classAbstractEntityManager<ExecutionEntity,ExecutionDataManager>
-
findSubProcessInstanceBySuperExecutionId
public ExecutionEntity findSubProcessInstanceBySuperExecutionId(String superExecutionId)
- Specified by:
findSubProcessInstanceBySuperExecutionIdin interfaceExecutionEntityManager
-
findChildExecutionsByParentExecutionId
public List<ExecutionEntity> findChildExecutionsByParentExecutionId(String parentExecutionId)
- Specified by:
findChildExecutionsByParentExecutionIdin interfaceExecutionEntityManager
-
findChildExecutionsByProcessInstanceId
public List<ExecutionEntity> findChildExecutionsByProcessInstanceId(String processInstanceId)
- Specified by:
findChildExecutionsByProcessInstanceIdin interfaceExecutionEntityManager
-
findExecutionsByParentExecutionAndActivityIds
public List<ExecutionEntity> findExecutionsByParentExecutionAndActivityIds(String parentExecutionId, Collection<String> activityIds)
- Specified by:
findExecutionsByParentExecutionAndActivityIdsin interfaceExecutionEntityManager
-
findExecutionCountByQueryCriteria
public long findExecutionCountByQueryCriteria(ExecutionQueryImpl executionQuery)
- Specified by:
findExecutionCountByQueryCriteriain interfaceExecutionEntityManager
-
findExecutionsByQueryCriteria
public List<ExecutionEntity> findExecutionsByQueryCriteria(ExecutionQueryImpl executionQuery)
- Specified by:
findExecutionsByQueryCriteriain interfaceExecutionEntityManager
-
findProcessInstanceCountByQueryCriteria
public long findProcessInstanceCountByQueryCriteria(ProcessInstanceQueryImpl executionQuery)
- Specified by:
findProcessInstanceCountByQueryCriteriain interfaceExecutionEntityManager
-
findProcessInstanceByQueryCriteria
public List<ProcessInstance> findProcessInstanceByQueryCriteria(ProcessInstanceQueryImpl executionQuery)
- Specified by:
findProcessInstanceByQueryCriteriain interfaceExecutionEntityManager
-
findByRootProcessInstanceId
public ExecutionEntity findByRootProcessInstanceId(String rootProcessInstanceId)
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
public List<Execution> findExecutionsByNativeQuery(Map<String,Object> parameterMap)
- Specified by:
findExecutionsByNativeQueryin interfaceExecutionEntityManager
-
findProcessInstanceByNativeQuery
public List<ProcessInstance> findProcessInstanceByNativeQuery(Map<String,Object> parameterMap)
- Specified by:
findProcessInstanceByNativeQueryin interfaceExecutionEntityManager
-
findExecutionCountByNativeQuery
public long findExecutionCountByNativeQuery(Map<String,Object> parameterMap)
- Specified by:
findExecutionCountByNativeQueryin interfaceExecutionEntityManager
-
countActiveExecutionsByParentId
public long countActiveExecutionsByParentId(String parentId)
- 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
public ExecutionEntity createChildExecution(ExecutionEntity parentExecutionEntity)
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
public void updateExecutionTenantIdForDeployment(String deploymentId, String newTenantId)
- Specified by:
updateExecutionTenantIdForDeploymentin interfaceExecutionEntityManager
-
deleteProcessInstancesByProcessDefinition
public void deleteProcessInstancesByProcessDefinition(String processDefinitionId, String deleteReason, boolean cascade)
- Specified by:
deleteProcessInstancesByProcessDefinitionin interfaceExecutionEntityManager
-
deleteProcessInstance
public void deleteProcessInstance(String processInstanceId, String deleteReason, boolean cascade)
- 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, org.flowable.bpmn.model.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, org.flowable.bpmn.model.FlowElement cancelActivity)
- Specified by:
deleteChildExecutionsin interfaceExecutionEntityManager
-
collectChildren
public List<ExecutionEntity> collectChildren(ExecutionEntity executionEntity)
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
protected void dispatchExecutionCancelled(ExecutionEntity execution, org.flowable.bpmn.model.FlowElement cancelActivity)
-
dispatchActivityCancelled
protected void dispatchActivityCancelled(ExecutionEntity execution, org.flowable.bpmn.model.FlowElement cancelActivity)
-
dispatchMultiInstanceActivityCancelled
protected void dispatchMultiInstanceActivityCancelled(ExecutionEntity execution, org.flowable.bpmn.model.FlowElement cancelActivity)
-
getActivityType
protected String getActivityType(org.flowable.bpmn.model.FlowElement flowNode)
-
findFirstScope
public ExecutionEntity findFirstScope(ExecutionEntity executionEntity)
- Specified by:
findFirstScopein interfaceExecutionEntityManager
-
findFirstMultiInstanceRoot
public ExecutionEntity findFirstMultiInstanceRoot(ExecutionEntity executionEntity)
- 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
protected boolean isRootProcessInstance(ExecutionEntity executionEntity)
-
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
public void clearProcessInstanceLockTime(String processInstanceId)
- Specified by:
clearProcessInstanceLockTimein interfaceExecutionEntityManager
-
clearAllProcessInstanceLockTimes
public void clearAllProcessInstanceLockTimes(String lockOwner)
- Specified by:
clearAllProcessInstanceLockTimesin interfaceExecutionEntityManager
-
updateProcessInstanceBusinessKey
public String updateProcessInstanceBusinessKey(ExecutionEntity executionEntity, String businessKey)
- Specified by:
updateProcessInstanceBusinessKeyin interfaceExecutionEntityManager
-
updateProcessInstanceBusinessStatus
public String updateProcessInstanceBusinessStatus(ExecutionEntity executionEntity, String businessStatus)
- Specified by:
updateProcessInstanceBusinessStatusin interfaceExecutionEntityManager
-
getHistoryManager
protected HistoryManager getHistoryManager()
-
getAsyncExecutor
protected AsyncExecutor getAsyncExecutor()
-
getByteArrayEntityManager
protected ByteArrayEntityManager getByteArrayEntityManager()
-
getActivityInstanceEntityManager
protected ActivityInstanceEntityManager getActivityInstanceEntityManager()
-
-