Class EndExecutionOperation

  • All Implemented Interfaces:
    Runnable

    public class EndExecutionOperation
    extends AbstractOperation
    This operations ends an execution and follows the typical BPMN rules to continue the process (if possible). This operations is typically not scheduled from an ActivityBehavior, but rather from another operation. This happens when the conditions are so that the process can't continue via the regular ways and an execution cleanup needs to happen, potentially opening up new ways of continuing the process instance.
    Author:
    Joram Barrez
    • Field Detail

      • forceSynchronous

        protected boolean forceSynchronous
    • Method Detail

      • run

        public void run()
      • handleProcessInstanceExecution

        protected void handleProcessInstanceExecution​(ExecutionEntity processInstanceExecution)
      • isAsyncCompleteCallActivity

        protected boolean isAsyncCompleteCallActivity​(ExecutionEntity superExecution)
      • scheduleAsyncCompleteCallActivity

        protected void scheduleAsyncCompleteCallActivity​(ExecutionEntity superExecutionEntity,
                                                         ExecutionEntity childProcessInstanceExecutionEntity)
      • handleRegularExecution

        protected void handleRegularExecution()
      • isEndEventOrImpliedEndEventInMultiInstanceSubprocess

        protected boolean isEndEventOrImpliedEndEventInMultiInstanceSubprocess​(ExecutionEntity executionEntity)
      • isFlowNodeWithoutOutgoingSequenceFlow

        protected boolean isFlowNodeWithoutOutgoingSequenceFlow​(org.flowable.bpmn.model.FlowElement flowElement)
      • getNumberOfActiveChildExecutionsForProcessInstance

        protected int getNumberOfActiveChildExecutionsForProcessInstance​(ExecutionEntityManager executionEntityManager,
                                                                         String processInstanceId)
      • getNumberOfActiveChildExecutionsForExecution

        protected int getNumberOfActiveChildExecutionsForExecution​(ExecutionEntityManager executionEntityManager,
                                                                   String executionId)
      • allChildExecutionsEnded

        protected boolean allChildExecutionsEnded​(ExecutionEntity parentExecutionEntity,
                                                  ExecutionEntity executionEntityToIgnore)
      • isInEventSubProcess

        protected boolean isInEventSubProcess​(ExecutionEntity executionEntity)