Ejemplo n.º 1
0
        protected internal virtual void handleEvent(VariableEvent @event)
        {
            AbstractVariableScope sourceScope = @event.SourceScope;

            if (sourceScope is ExecutionEntity)
            {
                addEventToScopeExecution((ExecutionEntity)sourceScope, @event);
            }
            else if (sourceScope is TaskEntity)
            {
                TaskEntity      task      = (TaskEntity)sourceScope;
                ExecutionEntity execution = task.getExecution();
                if (execution != null)
                {
                    addEventToScopeExecution(execution, @event);
                }
            }
            else if (sourceScope.ParentVariableScope is ExecutionEntity)
            {
                addEventToScopeExecution((ExecutionEntity)sourceScope.ParentVariableScope, @event);
            }
            else
            {
                throw new ProcessEngineException("BPMN execution scope expected");
            }
        }
Ejemplo n.º 2
0
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET:
//ORIGINAL LINE: @Override public void leaveOnSatisfiedCondition(final org.camunda.bpm.engine.impl.persistence.entity.EventSubscriptionEntity eventSubscription, final org.camunda.bpm.engine.impl.core.variable.event.VariableEvent variableEvent)
        public virtual void leaveOnSatisfiedCondition(EventSubscriptionEntity eventSubscription, VariableEvent variableEvent)
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl execution = eventSubscription.getExecution();
            PvmExecutionImpl execution = eventSubscription.Execution;

            if (execution != null && !execution.Ended && execution.Scope && conditionalEvent.tryEvaluate(variableEvent, execution))
            {
                execution.executeEventHandlerActivity(eventSubscription.Activity);
            }
        }
Ejemplo n.º 3
0
        protected internal virtual void addEventToScopeExecution(ExecutionEntity sourceScope, VariableEvent @event)
        {
            // ignore events of variables that are not set in an execution
            ExecutionEntity sourceExecution = sourceScope;
            ExecutionEntity scopeExecution  = sourceExecution.Scope ? sourceExecution : sourceExecution.Parent;

            scopeExecution.delayEvent((ExecutionEntity)targetScope, @event);
        }
Ejemplo n.º 4
0
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET:
//ORIGINAL LINE: @Override public void leaveOnSatisfiedCondition(final org.camunda.bpm.engine.impl.persistence.entity.EventSubscriptionEntity eventSubscription, final org.camunda.bpm.engine.impl.core.variable.event.VariableEvent variableEvent)
        public virtual void leaveOnSatisfiedCondition(EventSubscriptionEntity eventSubscription, VariableEvent variableEvent)
        {
            PvmExecutionImpl execution = eventSubscription.Execution;

            if (execution != null && !execution.Ended && variableEvent != null && conditionalEvent.tryEvaluate(variableEvent, execution) && execution.Active && execution.Scope)
            {
                if (isAfterEventBasedGateway)
                {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.camunda.bpm.engine.impl.pvm.process.ActivityImpl activity = eventSubscription.getActivity();
                    ActivityImpl activity = eventSubscription.Activity;
                    execution.executeEventHandlerActivity(activity);
                }
                else
                {
                    leave(execution);
                }
            }
        }
Ejemplo n.º 5
0
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET:
//ORIGINAL LINE: @Override public void leaveOnSatisfiedCondition(final org.camunda.bpm.engine.impl.persistence.entity.EventSubscriptionEntity eventSubscription, final org.camunda.bpm.engine.impl.core.variable.event.VariableEvent variableEvent)
        public virtual void leaveOnSatisfiedCondition(EventSubscriptionEntity eventSubscription, VariableEvent variableEvent)
        {
            PvmExecutionImpl execution = eventSubscription.Execution;

            if (execution != null && !execution.Ended && execution.Scope && conditionalEvent.tryEvaluate(variableEvent, execution))
            {
                ActivityImpl activity = eventSubscription.Activity;
                activity = (ActivityImpl)activity.FlowScope;
                execution.executeEventHandlerActivity(activity);
            }
        }
Ejemplo n.º 6
0
 public DelayedVariableEvent(PvmExecutionImpl targetScope, VariableEvent @event)
 {
     this.targetScope = targetScope;
     this.@event      = @event;
 }