Esempio n. 1
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public void notify(org.camunda.bpm.engine.delegate.DelegateCaseVariableInstance variableInstance) throws Exception
        public virtual void notify(DelegateCaseVariableInstance variableInstance)
        {
            object @delegate = expression.getValue(variableInstance.SourceExecution);

            applyFieldDeclaration(fieldDeclarations, @delegate);

            if (@delegate is CaseVariableListener)
            {
                CaseVariableListener listenerInstance = (CaseVariableListener)@delegate;
                Context.ProcessEngineConfiguration.DelegateInterceptor.handleInvocation(new CaseVariableListenerInvocation(listenerInstance, variableInstance));
            }
            else
            {
                throw new ProcessEngineException("Delegate expression " + expression + " did not resolve to an implementation of " + typeof(CaseVariableListener));
            }
        }
Esempio n. 2
0
        protected internal virtual CaseVariableListener initializeVariableListener(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context, CamundaVariableListener listener)
        {
            ICollection <CamundaField> fields            = listener.CamundaFields;
            IList <FieldDeclaration>   fieldDeclarations = initializeFieldDeclarations(element, activity, context, fields);

            ExpressionManager expressionManager = context.ExpressionManager;

            string        className          = listener.CamundaClass;
            string        expression         = listener.CamundaExpression;
            string        delegateExpression = listener.CamundaDelegateExpression;
            CamundaScript scriptElement      = listener.CamundaScript;

            CaseVariableListener variableListener = null;

            if (!string.ReferenceEquals(className, null))
            {
                variableListener = new ClassDelegateCaseVariableListener(className, fieldDeclarations);
            }
            else if (!string.ReferenceEquals(expression, null))
            {
                Expression expressionExp = expressionManager.createExpression(expression);
                variableListener = new ExpressionCaseVariableListener(expressionExp);
            }
            else if (!string.ReferenceEquals(delegateExpression, null))
            {
                Expression delegateExp = expressionManager.createExpression(delegateExpression);
                variableListener = new DelegateExpressionCaseVariableListener(delegateExp, fieldDeclarations);
            }
            else if (scriptElement != null)
            {
                ExecutableScript executableScript = initializeScript(element, activity, context, scriptElement);
                if (executableScript != null)
                {
                    variableListener = new ScriptCaseVariableListener(executableScript);
                }
            }

            return(variableListener);
        }
Esempio n. 3
0
        protected internal virtual void initializeVariableListeners(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context)
        {
            PlanItemDefinition definition = getDefinition(element);

            IList <CamundaVariableListener> listeners = queryExtensionElementsByClass(definition, typeof(CamundaVariableListener));

            foreach (CamundaVariableListener listener in listeners)
            {
                CaseVariableListener variableListener = initializeVariableListener(element, activity, context, listener);

                string eventName = listener.CamundaEvent;
                if (!string.ReferenceEquals(eventName, null))
                {
                    activity.addVariableListener(eventName, variableListener);
                }
                else
                {
                    foreach (string @event in DEFAULT_VARIABLE_EVENTS)
                    {
                        activity.addVariableListener(@event, variableListener);
                    }
                }
            }
        }
Esempio n. 4
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public void notify(org.camunda.bpm.engine.delegate.DelegateCaseVariableInstance variableInstance) throws Exception
        public virtual void notify(DelegateCaseVariableInstance variableInstance)
        {
            CaseVariableListener variableListenerInstance = VariableListenerInstance;

            Context.ProcessEngineConfiguration.DelegateInterceptor.handleInvocation(new CaseVariableListenerInvocation(variableListenerInstance, variableInstance));
        }