Ejemplo n.º 1
0
        public virtual void handleEvent(EventSubscriptionEntity eventSubscription, object payload, object localPayload, string businessKey, CommandContext commandContext)
        {
            VariableEvent variableEvent;

            if (payload == null || payload is VariableEvent)
            {
                variableEvent = (VariableEvent)payload;
            }
            else
            {
//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getName method:
                throw new ProcessEngineException("Payload have to be " + typeof(VariableEvent).FullName + ", to evaluate condition.");
            }

            ActivityImpl     activity         = eventSubscription.Activity;
            ActivityBehavior activityBehavior = activity.ActivityBehavior;

            if (activityBehavior is ConditionalEventBehavior)
            {
                ConditionalEventBehavior conditionalBehavior = (ConditionalEventBehavior)activityBehavior;
                conditionalBehavior.leaveOnSatisfiedCondition(eventSubscription, variableEvent);
            }
            else
            {
                throw new ProcessEngineException("Conditional Event has not correct behavior: " + activityBehavior);
            }
        }
Ejemplo n.º 2
0
        public static ActivityBehavior getActivityBehavior(PvmExecutionImpl execution)
        {
            string id = execution.Id;

            PvmActivity activity = execution.getActivity();

            ensureNotNull(typeof(PvmException), "Execution '" + id + "' has no current activity.", "activity", activity);

            ActivityBehavior behavior = activity.ActivityBehavior;

            ensureNotNull(typeof(PvmException), "There is no behavior specified in " + activity + " for execution '" + id + "'.", "behavior", behavior);

            return(behavior);
        }
Ejemplo n.º 3
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;
                    }
                }
            }
        }
Ejemplo n.º 4
0
 public ActivityBehaviorInvocation(ActivityBehavior behaviorInstance, ActivityExecution execution) : base(execution, null)
 {
     this.behaviorInstance = behaviorInstance;
     this.execution        = execution;
 }
Ejemplo n.º 5
0
        protected internal virtual bool isEvent(ActivityImpl activity)
        {
            ActivityBehavior behavior = activity.ActivityBehavior;

            return(behavior is BoundaryEventActivityBehavior || behavior is EventSubProcessStartEventActivityBehavior);
        }
Ejemplo n.º 6
0
 public CustomActivityBehavior(ActivityBehavior activityBehavior)
 {
     this.delegateActivityBehavior = activityBehavior;
 }