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
engineConfiguration
Fields inherited from class org.flowable.common.engine.impl.persistence.entity.AbstractEntityManager
dataManager, engineType
-
Constructor Summary
ConstructorsConstructorDescriptionExecutionEntityManagerImpl
(ProcessEngineConfigurationImpl processEngineConfiguration, ExecutionDataManager executionDataManager) -
Method Summary
Modifier and TypeMethodDescriptionvoid
clearAllProcessInstanceLockTimes
(String lockOwner) void
clearProcessInstanceLockTime
(String processInstanceId) collectChildren
(ExecutionEntity executionEntity) Returns all child executions of a givenExecutionEntity
.protected List<ExecutionEntity>
collectChildren
(ExecutionEntity executionEntity, Collection<String> executionIdsToExclude) protected void
collectChildren
(ExecutionEntity executionEntity, List<ExecutionEntity> collectedChildExecution, Collection<String> executionIdsToExclude) long
countActiveExecutionsByParentId
(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) void
delete
(ExecutionEntity entity) void
delete
(ExecutionEntity entity, boolean fireDeleteEvent) protected void
deleteActivityInstances
(ExecutionEntity executionEntity, CommandContext commandContext) void
deleteChildExecutions
(ExecutionEntity executionEntity, String deleteReason, boolean cancel) void
deleteChildExecutions
(ExecutionEntity executionEntity, Collection<String> executionIdsNotToDelete, Collection<String> executionIdsNotToSendCancelledEventFor, String deleteReason, boolean cancel, FlowElement cancelActivity) protected void
deleteEntityLinks
(ExecutionEntity executionEntity, CommandContext commandContext, boolean eventDispatcherEnabled) protected void
deleteEventSubScriptions
(ExecutionEntity executionEntity, boolean enableExecutionRelationshipCounts, boolean eventDispatcherEnabled) void
deleteExecutionAndRelatedData
(ExecutionEntity executionEntity, String deleteReason, boolean deleteHistory) void
deleteExecutionAndRelatedData
(ExecutionEntity executionEntity, String deleteReason, boolean deleteHistory, boolean directDeleteInDatabase) void
deleteExecutionAndRelatedData
(ExecutionEntity executionEntity, String deleteReason, boolean deleteHistory, boolean directDeleteInDatabase, boolean cancel, FlowElement cancelActivity) protected void
deleteIdentityLinks
(ExecutionEntity executionEntity, CommandContext commandContext, boolean eventDispatcherEnabled) protected void
deleteJobs
(ExecutionEntity executionEntity, CommandContext commandContext, boolean enableExecutionRelationshipCounts, boolean eventDispatcherEnabled) void
deleteProcessInstance
(String processInstanceId, String deleteReason, boolean cascade) void
deleteProcessInstance
(String processInstanceId, String deleteReason, boolean cascade, boolean directDeleteInDatabase) protected void
deleteProcessInstanceCascade
(ExecutionEntity execution, String deleteReason, boolean deleteHistory, boolean directDeleteInDatabase) void
deleteProcessInstanceExecutionEntity
(String processInstanceId, String currentFlowElementId, String deleteReason, boolean cascade, boolean cancel, boolean fireEvents) void
deleteProcessInstancesByProcessDefinition
(String processDefinitionId, String deleteReason, boolean cascade) void
deleteRelatedDataForExecution
(ExecutionEntity executionEntity, String deleteReason, boolean directDeleteInDatabase) protected void
deleteSubCases
(ExecutionEntity executionEntity, boolean directDeleteInDatabase, CommandContext commandContext) protected void
deleteUserTasks
(ExecutionEntity executionEntity, String deleteReason, CommandContext commandContext, boolean enableExecutionRelationshipCounts, boolean eventDispatcherEnabled) protected void
deleteVariables
(ExecutionEntity executionEntity, CommandContext commandContext, boolean enableExecutionRelationshipCounts, boolean eventDispatcherEnabled) protected void
dispatchActivityCancelled
(ExecutionEntity execution, FlowElement cancelActivity) protected void
dispatchExecutionCancelled
(ExecutionEntity execution, FlowElement cancelActivity) protected void
dispatchMultiInstanceActivityCancelled
(ExecutionEntity execution, FlowElement cancelActivity) findByRootProcessInstanceId
(String rootProcessInstanceId) Finds theExecutionEntity
for the given root process instance id.findChildExecutionsByParentExecutionId
(String parentExecutionId) findChildExecutionsByProcessInstanceId
(String processInstanceId) long
findExecutionCountByNativeQuery
(Map<String, Object> parameterMap) long
findExecutionCountByQueryCriteria
(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) long
findProcessInstanceCountByQueryCriteria
(ProcessInstanceQueryImpl executionQuery) findSubProcessInstanceBySuperExecutionId
(String superExecutionId) protected ActivityInstanceEntityManager
protected String
getActivityType
(FlowElement flowNode) protected AsyncExecutor
protected ByteArrayEntityManager
protected HistoryManager
protected void
inheritCommonProperties
(ExecutionEntity parentExecutionEntity, ExecutionEntity childExecution) protected boolean
isRootProcessInstance
(ExecutionEntity executionEntity) protected ExecutionEntity
processExecutionTree
(String rootProcessInstanceId, List<ExecutionEntity> executions) Processes a collection ofExecutionEntity
instances, which form on execution tree.void
updateExecutionTenantIdForDeployment
(String deploymentId, String newTenantId) updateProcessInstanceBusinessKey
(ExecutionEntity executionEntity, String businessKey) updateProcessInstanceBusinessStatus
(ExecutionEntity executionEntity, String businessStatus) void
updateProcessInstanceLockTime
(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 Details
-
identityLinkByProcessInstanceMatcher
-
-
Constructor Details
-
ExecutionEntityManagerImpl
public ExecutionEntityManagerImpl(ProcessEngineConfigurationImpl processEngineConfiguration, ExecutionDataManager executionDataManager)
-
-
Method Details
-
delete
- Specified by:
delete
in interfaceEntityManager<ExecutionEntity>
- Overrides:
delete
in classAbstractEntityManager<ExecutionEntity,
ExecutionDataManager>
-
delete
- Specified by:
delete
in interfaceEntityManager<ExecutionEntity>
- Overrides:
delete
in classAbstractEntityManager<ExecutionEntity,
ExecutionDataManager>
-
findSubProcessInstanceBySuperExecutionId
- Specified by:
findSubProcessInstanceBySuperExecutionId
in interfaceExecutionEntityManager
-
findChildExecutionsByParentExecutionId
- Specified by:
findChildExecutionsByParentExecutionId
in interfaceExecutionEntityManager
-
findChildExecutionsByProcessInstanceId
- Specified by:
findChildExecutionsByProcessInstanceId
in interfaceExecutionEntityManager
-
findExecutionsByParentExecutionAndActivityIds
public List<ExecutionEntity> findExecutionsByParentExecutionAndActivityIds(String parentExecutionId, Collection<String> activityIds) - Specified by:
findExecutionsByParentExecutionAndActivityIds
in interfaceExecutionEntityManager
-
findExecutionCountByQueryCriteria
- Specified by:
findExecutionCountByQueryCriteria
in interfaceExecutionEntityManager
-
findExecutionsByQueryCriteria
- Specified by:
findExecutionsByQueryCriteria
in interfaceExecutionEntityManager
-
findProcessInstanceCountByQueryCriteria
- Specified by:
findProcessInstanceCountByQueryCriteria
in interfaceExecutionEntityManager
-
findProcessInstanceByQueryCriteria
public List<ProcessInstance> findProcessInstanceByQueryCriteria(ProcessInstanceQueryImpl executionQuery) - Specified by:
findProcessInstanceByQueryCriteria
in interfaceExecutionEntityManager
-
findByRootProcessInstanceId
Description copied from interface:ExecutionEntityManager
Finds theExecutionEntity
for the given root process instance id. All children will have been fetched and initialized.- Specified by:
findByRootProcessInstanceId
in interfaceExecutionEntityManager
-
processExecutionTree
protected ExecutionEntity processExecutionTree(String rootProcessInstanceId, List<ExecutionEntity> executions) Processes a collection ofExecutionEntity
instances, which form on execution tree. All the executions share the same rootProcessInstanceId (which is provided). The return value will be the rootExecutionEntity
instance, with all childExecutionEntity
instances populated and set using theExecutionEntity
instances from the provided collections -
findProcessInstanceAndVariablesByQueryCriteria
public List<ProcessInstance> findProcessInstanceAndVariablesByQueryCriteria(ProcessInstanceQueryImpl executionQuery) - Specified by:
findProcessInstanceAndVariablesByQueryCriteria
in interfaceExecutionEntityManager
-
findInactiveExecutionsByProcessInstanceId
public Collection<ExecutionEntity> findInactiveExecutionsByProcessInstanceId(String processInstanceId) - Specified by:
findInactiveExecutionsByProcessInstanceId
in interfaceExecutionEntityManager
-
findInactiveExecutionsByActivityIdAndProcessInstanceId
public Collection<ExecutionEntity> findInactiveExecutionsByActivityIdAndProcessInstanceId(String activityId, String processInstanceId) - Specified by:
findInactiveExecutionsByActivityIdAndProcessInstanceId
in interfaceExecutionEntityManager
-
findExecutionsByNativeQuery
- Specified by:
findExecutionsByNativeQuery
in interfaceExecutionEntityManager
-
findProcessInstanceByNativeQuery
- Specified by:
findProcessInstanceByNativeQuery
in interfaceExecutionEntityManager
-
findExecutionCountByNativeQuery
- Specified by:
findExecutionCountByNativeQuery
in interfaceExecutionEntityManager
-
countActiveExecutionsByParentId
- Specified by:
countActiveExecutionsByParentId
in 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:
createProcessInstanceExecution
in interfaceExecutionEntityManager
-
createChildExecution
Creates a new execution. properties processDefinition, processInstance and activity will be initialized.- Specified by:
createChildExecution
in interfaceExecutionEntityManager
-
createSubprocessInstance
public ExecutionEntity createSubprocessInstance(ProcessDefinition processDefinition, ExecutionEntity superExecutionEntity, String businessKey, String activityId) - Specified by:
createSubprocessInstance
in interfaceExecutionEntityManager
-
inheritCommonProperties
protected void inheritCommonProperties(ExecutionEntity parentExecutionEntity, ExecutionEntity childExecution) -
updateExecutionTenantIdForDeployment
- Specified by:
updateExecutionTenantIdForDeployment
in interfaceExecutionEntityManager
-
deleteProcessInstancesByProcessDefinition
public void deleteProcessInstancesByProcessDefinition(String processDefinitionId, String deleteReason, boolean cascade) - Specified by:
deleteProcessInstancesByProcessDefinition
in interfaceExecutionEntityManager
-
deleteProcessInstance
- Specified by:
deleteProcessInstance
in interfaceExecutionEntityManager
-
deleteProcessInstance
public void deleteProcessInstance(String processInstanceId, String deleteReason, boolean cascade, boolean directDeleteInDatabase) - Specified by:
deleteProcessInstance
in 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:
deleteExecutionAndRelatedData
in interfaceExecutionEntityManager
-
deleteExecutionAndRelatedData
public void deleteExecutionAndRelatedData(ExecutionEntity executionEntity, String deleteReason, boolean deleteHistory) - Specified by:
deleteExecutionAndRelatedData
in interfaceExecutionEntityManager
-
deleteExecutionAndRelatedData
public void deleteExecutionAndRelatedData(ExecutionEntity executionEntity, String deleteReason, boolean deleteHistory, boolean directDeleteInDatabase) - Specified by:
deleteExecutionAndRelatedData
in interfaceExecutionEntityManager
-
deleteProcessInstanceExecutionEntity
public void deleteProcessInstanceExecutionEntity(String processInstanceId, String currentFlowElementId, String deleteReason, boolean cascade, boolean cancel, boolean fireEvents) - Specified by:
deleteProcessInstanceExecutionEntity
in interfaceExecutionEntityManager
-
deleteChildExecutions
public void deleteChildExecutions(ExecutionEntity executionEntity, String deleteReason, boolean cancel) - Specified by:
deleteChildExecutions
in interfaceExecutionEntityManager
-
deleteChildExecutions
public void deleteChildExecutions(ExecutionEntity executionEntity, Collection<String> executionIdsNotToDelete, Collection<String> executionIdsNotToSendCancelledEventFor, String deleteReason, boolean cancel, FlowElement cancelActivity) - Specified by:
deleteChildExecutions
in interfaceExecutionEntityManager
-
collectChildren
Description copied from interface:ExecutionEntityManager
Returns all child executions of a givenExecutionEntity
. In the list, child executions will be behind parent executions. Children include subprocessinstances and its children.- Specified by:
collectChildren
in 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:
findFirstScope
in interfaceExecutionEntityManager
-
findFirstMultiInstanceRoot
- Specified by:
findFirstMultiInstanceRoot
in interfaceExecutionEntityManager
-
deleteRelatedDataForExecution
public void deleteRelatedDataForExecution(ExecutionEntity executionEntity, String deleteReason, boolean directDeleteInDatabase) - Specified by:
deleteRelatedDataForExecution
in 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:
updateProcessInstanceLockTime
in interfaceExecutionEntityManager
-
clearProcessInstanceLockTime
- Specified by:
clearProcessInstanceLockTime
in interfaceExecutionEntityManager
-
clearAllProcessInstanceLockTimes
- Specified by:
clearAllProcessInstanceLockTimes
in interfaceExecutionEntityManager
-
updateProcessInstanceBusinessKey
- Specified by:
updateProcessInstanceBusinessKey
in interfaceExecutionEntityManager
-
updateProcessInstanceBusinessStatus
public String updateProcessInstanceBusinessStatus(ExecutionEntity executionEntity, String businessStatus) - Specified by:
updateProcessInstanceBusinessStatus
in interfaceExecutionEntityManager
-
getHistoryManager
-
getAsyncExecutor
-
getByteArrayEntityManager
-
getActivityInstanceEntityManager
-