예제 #1
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: @Override public void execute(org.camunda.bpm.engine.impl.pvm.delegate.ActivityExecution execution) throws Exception
        public virtual void execute(ActivityExecution execution)
        {
            // If conditional events exist after the event based gateway they should be evaluated.
            // If a condition is satisfied the event based gateway should be left,
            // otherwise the event based gateway is a wait state
            ActivityImpl eventBasedGateway = (ActivityImpl)execution.Activity;

            foreach (ActivityImpl act in eventBasedGateway.EventActivities)
            {
                ActivityBehavior activityBehavior = act.ActivityBehavior;
                if (activityBehavior is ConditionalEventBehavior)
                {
                    ConditionalEventBehavior   conditionalEventBehavior   = (ConditionalEventBehavior)activityBehavior;
                    ConditionalEventDefinition conditionalEventDefinition = conditionalEventBehavior.ConditionalEventDefinition;
                    if (conditionalEventDefinition.tryEvaluate(execution))
                    {
                        ((ExecutionEntity)execution).executeEventHandlerActivity(conditionalEventDefinition.ConditionalActivity);
                        return;
                    }
                }
            }
        }
예제 #2
0
 public BoundaryConditionalEventActivityBehavior(ConditionalEventDefinition conditionalEvent)
 {
     this.conditionalEvent = conditionalEvent;
 }
예제 #3
0
 public IntermediateConditionalEventBehavior(ConditionalEventDefinition conditionalEvent, bool isAfterEventBasedGateway) : base(isAfterEventBasedGateway)
 {
     this.conditionalEvent = conditionalEvent;
 }
예제 #4
0
 public EventSubProcessStartConditionalEventActivityBehavior(ConditionalEventDefinition conditionalEvent)
 {
     this.conditionalEvent = conditionalEvent;
 }