public virtual ProcessDefinitionBuilder ExecutionListener(IDelegateListener <IBaseDelegateExecution> executionListener) { if (transition != null) { transition.AddExecutionListener(executionListener); } else { throw new PvmException("not in a transition scope"); } return(this); }
public virtual void TestExecutionEntitySerialization() { var execution = new ExecutionEntity(); var activityImpl = new ActivityImpl("test", null); activityImpl.ExecutionListeners.Add("start", new List <IDelegateListener <IBaseDelegateExecution> > { new TestExecutionListener() }); execution.Activity = activityImpl; var processDefinitionImpl = new ProcessDefinitionImpl("test"); processDefinitionImpl.ExecutionListeners.Add("start", new List <IDelegateListener <IBaseDelegateExecution> > { new TestExecutionListener() }); execution.ProcessDefinition = processDefinitionImpl; var transitionImpl = new TransitionImpl("test", new ProcessDefinitionImpl("test")); transitionImpl.AddExecutionListener(new TestExecutionListener()); execution.Transition = (transitionImpl); execution.ProcessInstanceStartContext.Initial = activityImpl; execution.SuperExecution = (new ExecutionEntity()); execution.IsActive = true; execution.Canceled = false; execution.BusinessKey = "myBusinessKey"; execution.DeleteReason = "no reason"; execution.ActivityInstanceId = "123"; execution.IsScope = false; var data = WriteObject(execution); execution = (ExecutionEntity)ReadObject(data); Assert.AreEqual("myBusinessKey", execution.BusinessKey); Assert.AreEqual("no reason", execution.DeleteReason); Assert.AreEqual("123", execution.ActivityInstanceId); }
protected internal virtual void AddTakeEventListener(TransitionImpl transition) { transition.AddExecutionListener(ExecutionListener); }