public abstract class AbstractDynamicStateManager extends Object
| Modifier and Type | Field and Description |
|---|---|
protected org.slf4j.Logger |
LOGGER |
| Constructor and Description |
|---|
AbstractDynamicStateManager() |
| Modifier and Type | Method and Description |
|---|---|
protected List<ExecutionEntity> |
createBoundaryEvents(List<org.flowable.bpmn.model.BoundaryEvent> boundaryEvents,
ExecutionEntity execution,
CommandContext commandContext) |
protected ExecutionEntity |
createCallActivityInstance(org.flowable.bpmn.model.CallActivity callActivity,
ProcessDefinition subProcessDefinition,
ExecutionEntity parentExecution,
String initialActivityId,
CommandContext commandContext) |
protected List<ExecutionEntity> |
createEmbeddedSubProcessAndExecutions(Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> moveToFlowElements,
List<ExecutionEntity> movingExecutions,
MoveExecutionEntityContainer moveExecutionEntityContainer,
ProcessInstanceChangeState processInstanceChangeState,
CommandContext commandContext) |
protected ExecutionEntity |
createEmbeddedSubProcessHierarchy(org.flowable.bpmn.model.SubProcess subProcess,
ExecutionEntity defaultParentExecution,
Map<String,org.flowable.bpmn.model.SubProcess> subProcessesToCreate,
Set<String> movingExecutionIds,
ProcessInstanceChangeState processInstanceChangeState,
CommandContext commandContext) |
protected MoveExecutionEntityContainer |
createMoveExecutionEntityContainer(MoveActivityIdContainer activityContainer,
List<ExecutionEntity> executions,
CommandContext commandContext) |
protected ExecutionEntity |
deleteDirectParentExecutions(String parentExecutionId,
Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> moveToFlowElements,
Collection<String> executionIdsNotToDelete,
CommandContext commandContext) |
protected ExecutionEntity |
deleteParentExecutions(String parentExecutionId,
Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> moveToFlowElements,
Collection<String> executionIdsNotToDelete,
CommandContext commandContext) |
protected ExecutionEntity |
deleteParentExecutions(String parentExecutionId,
Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> moveToFlowElements,
CommandContext commandContext) |
protected void |
doMoveExecutionState(ProcessInstanceChangeState processInstanceChangeState,
CommandContext commandContext) |
protected void |
executeBoundaryEvents(Collection<org.flowable.bpmn.model.BoundaryEvent> boundaryEvents,
ExecutionEntity execution) |
protected void |
executeBoundaryEvents(List<org.flowable.bpmn.model.BoundaryEvent> boundaryEvents,
List<ExecutionEntity> boundaryEventExecutions) |
protected Optional<String> |
getFlowElementMultiInstanceParentId(org.flowable.bpmn.model.FlowElement flowElement) |
protected List<org.flowable.bpmn.model.FlowElement> |
getFlowElementsInSubProcess(org.flowable.bpmn.model.SubProcess subProcess,
Collection<org.flowable.bpmn.model.FlowElement> flowElements) |
protected void |
handleExternalWorkerServiceTaskJobUpdate(ExecutionEntity childExecution,
CommandContext commandContext) |
protected void |
handleUserTaskNewAssignee(ExecutionEntity taskExecution,
String newAssigneeId,
CommandContext commandContext) |
protected void |
handleUserTaskNewOwner(ExecutionEntity taskExecution,
String newOwnerId,
CommandContext commandContext) |
protected abstract boolean |
isDirectFlowElementExecutionMigration(org.flowable.bpmn.model.FlowElement currentFlowElement,
org.flowable.bpmn.model.FlowElement newFlowElement) |
protected boolean |
isEventSubProcessStart(org.flowable.bpmn.model.FlowElement flowElement) |
protected boolean |
isExecutionInsideMultiInstance(ExecutionEntity execution) |
protected boolean |
isExpression(String variableName) |
protected boolean |
isFlowElementMultiInstance(org.flowable.bpmn.model.FlowElement flowElement) |
protected boolean |
isOnlyRemainingExecutionAtParentScope(ExecutionEntity executionEntity,
Set<String> ignoreExecutionIds,
CommandContext commandContext) |
protected boolean |
isSubProcessAncestorOfAnyExecution(String subProcessId,
List<ExecutionEntity> executions) |
protected boolean |
isSubProcessAncestorOfAnyNewFlowElements(String subProcessId,
Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> flowElements) |
protected boolean |
isSubProcessContainerOfAnyFlowElement(String subProcessId,
Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> moveToFlowElements) |
protected ExecutionEntity |
migrateExecutionEntity(ExecutionEntity parentExecutionEntity,
ExecutionEntity childExecution,
org.flowable.bpmn.model.FlowElement newFlowElement,
CommandContext commandContext) |
protected void |
prepareMoveExecutionEntityContainer(MoveExecutionEntityContainer moveExecutionContainer,
Optional<String> migrateToProcessDefinitionId,
CommandContext commandContext) |
protected void |
processCreatedEventSubProcess(org.flowable.bpmn.model.EventSubProcess eventSubProcess,
ExecutionEntity eventSubProcessExecution,
Set<String> movingExecutionIds,
CommandContext commandContext) |
protected Map<String,Object> |
processDataObjects(Collection<org.flowable.bpmn.model.ValuedDataObject> dataObjects) |
protected void |
processPendingEventSubProcessesStartEvents(ProcessInstanceChangeState processInstanceChangeState,
CommandContext commandContext) |
protected abstract Map<String,List<ExecutionEntity>> |
resolveActiveEmbeddedSubProcesses(String processInstanceId,
CommandContext commandContext) |
protected ExecutionEntity |
resolveActiveExecution(String executionId,
CommandContext commandContext) |
protected List<ExecutionEntity> |
resolveActiveExecutions(String processInstanceId,
String activityId,
CommandContext commandContext) |
protected org.flowable.bpmn.model.FlowElement |
resolveFlowElementFromBpmnModel(org.flowable.bpmn.model.BpmnModel bpmnModel,
String activityId) |
List<MoveExecutionEntityContainer> |
resolveMoveExecutionEntityContainers(ChangeActivityStateBuilderImpl changeActivityStateBuilder,
Optional<String> migrateToProcessDefinitionId,
Map<String,Object> variables,
CommandContext commandContext) |
protected ExecutionEntity |
resolveParentExecutionToDelete(ExecutionEntity execution,
Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> moveToFlowElements) |
protected ProcessDefinition |
resolveProcessDefinition(String processDefinitionKey,
Integer processDefinitionVersion,
String tenantId,
CommandContext commandContext) |
protected void |
safeDeleteSubProcessInstance(String processInstanceId,
List<ExecutionEntity> executionsPool,
String deleteReason,
CommandContext commandContext) |
public List<MoveExecutionEntityContainer> resolveMoveExecutionEntityContainers(ChangeActivityStateBuilderImpl changeActivityStateBuilder, Optional<String> migrateToProcessDefinitionId, Map<String,Object> variables, CommandContext commandContext)
protected ExecutionEntity resolveActiveExecution(String executionId, CommandContext commandContext)
protected List<ExecutionEntity> resolveActiveExecutions(String processInstanceId, String activityId, CommandContext commandContext)
protected MoveExecutionEntityContainer createMoveExecutionEntityContainer(MoveActivityIdContainer activityContainer, List<ExecutionEntity> executions, CommandContext commandContext)
protected void prepareMoveExecutionEntityContainer(MoveExecutionEntityContainer moveExecutionContainer, Optional<String> migrateToProcessDefinitionId, CommandContext commandContext)
protected org.flowable.bpmn.model.FlowElement resolveFlowElementFromBpmnModel(org.flowable.bpmn.model.BpmnModel bpmnModel,
String activityId)
protected void doMoveExecutionState(ProcessInstanceChangeState processInstanceChangeState, CommandContext commandContext)
protected void processPendingEventSubProcessesStartEvents(ProcessInstanceChangeState processInstanceChangeState, CommandContext commandContext)
protected abstract Map<String,List<ExecutionEntity>> resolveActiveEmbeddedSubProcesses(String processInstanceId, CommandContext commandContext)
protected abstract boolean isDirectFlowElementExecutionMigration(org.flowable.bpmn.model.FlowElement currentFlowElement,
org.flowable.bpmn.model.FlowElement newFlowElement)
protected void safeDeleteSubProcessInstance(String processInstanceId, List<ExecutionEntity> executionsPool, String deleteReason, CommandContext commandContext)
protected ExecutionEntity deleteParentExecutions(String parentExecutionId, Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> moveToFlowElements, CommandContext commandContext)
protected ExecutionEntity deleteParentExecutions(String parentExecutionId, Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> moveToFlowElements, Collection<String> executionIdsNotToDelete, CommandContext commandContext)
protected ExecutionEntity deleteDirectParentExecutions(String parentExecutionId, Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> moveToFlowElements, Collection<String> executionIdsNotToDelete, CommandContext commandContext)
protected boolean isSubProcessContainerOfAnyFlowElement(String subProcessId, Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> moveToFlowElements)
protected ExecutionEntity resolveParentExecutionToDelete(ExecutionEntity execution, Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> moveToFlowElements)
protected List<ExecutionEntity> createEmbeddedSubProcessAndExecutions(Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> moveToFlowElements, List<ExecutionEntity> movingExecutions, MoveExecutionEntityContainer moveExecutionEntityContainer, ProcessInstanceChangeState processInstanceChangeState, CommandContext commandContext)
protected boolean isSubProcessAncestorOfAnyExecution(String subProcessId, List<ExecutionEntity> executions)
protected boolean isSubProcessAncestorOfAnyNewFlowElements(String subProcessId, Collection<MoveExecutionEntityContainer.FlowElementMoveEntry> flowElements)
protected List<org.flowable.bpmn.model.FlowElement> getFlowElementsInSubProcess(org.flowable.bpmn.model.SubProcess subProcess, Collection<org.flowable.bpmn.model.FlowElement> flowElements)
protected ExecutionEntity createEmbeddedSubProcessHierarchy(org.flowable.bpmn.model.SubProcess subProcess, ExecutionEntity defaultParentExecution, Map<String,org.flowable.bpmn.model.SubProcess> subProcessesToCreate, Set<String> movingExecutionIds, ProcessInstanceChangeState processInstanceChangeState, CommandContext commandContext)
protected Map<String,Object> processDataObjects(Collection<org.flowable.bpmn.model.ValuedDataObject> dataObjects)
protected void executeBoundaryEvents(Collection<org.flowable.bpmn.model.BoundaryEvent> boundaryEvents, ExecutionEntity execution)
protected ExecutionEntity createCallActivityInstance(org.flowable.bpmn.model.CallActivity callActivity, ProcessDefinition subProcessDefinition, ExecutionEntity parentExecution, String initialActivityId, CommandContext commandContext)
protected ExecutionEntity migrateExecutionEntity(ExecutionEntity parentExecutionEntity, ExecutionEntity childExecution, org.flowable.bpmn.model.FlowElement newFlowElement, CommandContext commandContext)
protected void handleExternalWorkerServiceTaskJobUpdate(ExecutionEntity childExecution, CommandContext commandContext)
protected void handleUserTaskNewAssignee(ExecutionEntity taskExecution, String newAssigneeId, CommandContext commandContext)
protected void handleUserTaskNewOwner(ExecutionEntity taskExecution, String newOwnerId, CommandContext commandContext)
protected boolean isEventSubProcessStart(org.flowable.bpmn.model.FlowElement flowElement)
protected List<ExecutionEntity> createBoundaryEvents(List<org.flowable.bpmn.model.BoundaryEvent> boundaryEvents, ExecutionEntity execution, CommandContext commandContext)
protected void executeBoundaryEvents(List<org.flowable.bpmn.model.BoundaryEvent> boundaryEvents, List<ExecutionEntity> boundaryEventExecutions)
protected boolean isExecutionInsideMultiInstance(ExecutionEntity execution)
protected Optional<String> getFlowElementMultiInstanceParentId(org.flowable.bpmn.model.FlowElement flowElement)
protected boolean isFlowElementMultiInstance(org.flowable.bpmn.model.FlowElement flowElement)
protected void processCreatedEventSubProcess(org.flowable.bpmn.model.EventSubProcess eventSubProcess,
ExecutionEntity eventSubProcessExecution,
Set<String> movingExecutionIds,
CommandContext commandContext)
protected boolean isOnlyRemainingExecutionAtParentScope(ExecutionEntity executionEntity, Set<String> ignoreExecutionIds, CommandContext commandContext)
protected boolean isExpression(String variableName)
protected ProcessDefinition resolveProcessDefinition(String processDefinitionKey, Integer processDefinitionVersion, String tenantId, CommandContext commandContext)
Copyright © 2022 Flowable. All rights reserved.