Esempio n. 1
0
        public virtual void handleChildSuspension(CmmnActivityExecution execution, CmmnActivityExecution child)
        {
            // if the given execution is not suspending currently, then ignore this notification.
            if (execution.Suspending && isAbleToSuspend(execution))
            {
                string             id           = execution.Id;
                CaseExecutionState currentState = execution.CurrentState;

                if (SUSPENDING_ON_SUSPENSION.Equals(currentState))
                {
                    execution.performSuspension();
                }
                else if (SUSPENDING_ON_PARENT_SUSPENSION.Equals(currentState))
                {
                    execution.performParentSuspension();
                }
                else
                {
                    throw LOG.suspendCaseException(id, currentState);
                }
            }
        }
Esempio n. 2
0
        // suspension ///////////////////////////////////////////////////////////////

        protected internal virtual void performSuspension(CmmnActivityExecution execution)
        {
            execution.performSuspension();
        }