示例#1
0
        public virtual B camundaTaskListenerExpression(string eventName, string expression)
        {
            CamundaTaskListener executionListener = createInstance(typeof(CamundaTaskListener));

            executionListener.CamundaEvent      = eventName;
            executionListener.CamundaExpression = expression;

            addExtensionElement(executionListener);

            return(myself);
        }
示例#2
0
        /// <summary>
        /// Add a class based task listener with specified event name
        /// </summary>
        /// <param name="eventName"> - event names to listen to </param>
        /// <param name="fullQualifiedClassName"> - a string representing a class </param>
        /// <returns> the builder object </returns>
        public virtual B camundaTaskListenerClass(string eventName, string fullQualifiedClassName)
        {
            CamundaTaskListener executionListener = createInstance(typeof(CamundaTaskListener));

            executionListener.CamundaEvent = eventName;
            executionListener.CamundaClass = fullQualifiedClassName;

            addExtensionElement(executionListener);

            return(myself);
        }
示例#3
0
        protected internal static void addTaskListener(BpmnModelInstance targetModel, string activityId, string @event, string className)
        {
            CamundaTaskListener taskListener = targetModel.newInstance(typeof(CamundaTaskListener));

            taskListener.CamundaClass = className;
            taskListener.CamundaEvent = @event;

            UserTask task = targetModel.getModelElementById(activityId);

            task.builder().addExtensionElement(taskListener);
        }
示例#4
0
        protected internal override Task createModelAccessTask(BpmnModelInstance modelInstance, Type delegateClass)
        {
            UserTask task = modelInstance.newInstance(typeof(UserTask));

            task.Id = "userTask";
            CamundaTaskListener executionListener = modelInstance.newInstance(typeof(CamundaTaskListener));

            executionListener.CamundaEvent = [email protected]_Fields.EVENTNAME_CREATE;
//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getName method:
            executionListener.CamundaClass = delegateClass.FullName;
            task.builder().addExtensionElement(executionListener);
            return(task);
        }
示例#5
0
        protected internal virtual TaskListener initializeTaskListener(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context, CamundaTaskListener listener)
        {
            ICollection <CamundaField> fields            = listener.CamundaFields;
            IList <FieldDeclaration>   fieldDeclarations = initializeFieldDeclarations(element, activity, context, fields);

            ExpressionManager expressionManager = context.ExpressionManager;

            TaskListener taskListener = null;

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

            if (!string.ReferenceEquals(className, null))
            {
                taskListener = new ClassDelegateTaskListener(className, fieldDeclarations);
            }
            else if (!string.ReferenceEquals(expression, null))
            {
                Expression expressionExp = expressionManager.createExpression(expression);
                taskListener = new ExpressionTaskListener(expressionExp);
            }
            else if (!string.ReferenceEquals(delegateExpression, null))
            {
                Expression delegateExp = expressionManager.createExpression(delegateExpression);
                taskListener = new DelegateExpressionTaskListener(delegateExp, fieldDeclarations);
            }
            else if (scriptElement != null)
            {
                ExecutableScript executableScript = initializeScript(element, activity, context, scriptElement);
                if (executableScript != null)
                {
                    taskListener = new ScriptTaskListener(executableScript);
                }
            }

            return(taskListener);
        }