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); } } }
// suspension /////////////////////////////////////////////////////////////// protected internal virtual void performSuspension(CmmnActivityExecution execution) { execution.performSuspension(); }