Ejemplo n.º 1
0
        protected internal virtual void initializeRepetitionRule(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context)
        {
            PlanItemControl itemControl    = getItemControl(element);
            PlanItemControl defaultControl = getDefaultControl(element);

            RepetitionRule repetitionRule = null;

            if (itemControl != null)
            {
                repetitionRule = itemControl.RepetitionRule;
            }
            if (repetitionRule == null && defaultControl != null)
            {
                repetitionRule = defaultControl.RepetitionRule;
            }

            if (repetitionRule != null)
            {
                ConditionExpression condition = repetitionRule.Condition;
                CaseControlRule     caseRule  = initializeCaseControlRule(condition, context);
                activity.setProperty(PROPERTY_REPETITION_RULE, caseRule);

                IList <string> events = Arrays.asList(TERMINATE, COMPLETE);
                string         repeatOnStandardEvent = repetitionRule.CamundaRepeatOnStandardEvent;
                if (!string.ReferenceEquals(repeatOnStandardEvent, null) && repeatOnStandardEvent.Length > 0)
                {
                    events = Arrays.asList(repeatOnStandardEvent);
                }
                activity.Properties.set(CmmnProperties.REPEAT_ON_STANDARD_EVENTS, events);
            }
        }
Ejemplo n.º 2
0
        // manual activation rule //////////////////////////////////////////////

        protected internal virtual bool evaluateManualActivationRule(CmmnActivityExecution execution)
        {
            bool         manualActivation     = false;
            CmmnActivity activity             = execution.Activity;
            object       manualActivationRule = activity.getProperty(PROPERTY_MANUAL_ACTIVATION_RULE);

            if (manualActivationRule != null)
            {
                CaseControlRule rule = (CaseControlRule)manualActivationRule;
                manualActivation = rule.evaluate(execution);
            }
            return(manualActivation);
        }
Ejemplo n.º 3
0
        // rules (required and repetition rule) /////////////////////////////////////////

        protected internal virtual void evaluateRequiredRule(CmmnActivityExecution execution)
        {
            CmmnActivity activity = execution.Activity;

            object requiredRule = activity.getProperty(PROPERTY_REQUIRED_RULE);

            if (requiredRule != null)
            {
                CaseControlRule rule     = (CaseControlRule)requiredRule;
                bool            required = rule.evaluate(execution);
                execution.Required = required;
            }
        }
Ejemplo n.º 4
0
        protected internal virtual bool evaluateRepetitionRule(CmmnActivityExecution execution)
        {
            CmmnActivity activity = execution.Activity;

            object repetitionRule = activity.getProperty(PROPERTY_REPETITION_RULE);

            if (repetitionRule != null)
            {
                CaseControlRule rule = (CaseControlRule)repetitionRule;
                return(rule.evaluate(execution));
            }

            return(false);
        }
Ejemplo n.º 5
0
        protected internal virtual void initializeManualActivationRule(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context)
        {
            PlanItemControl itemControl    = getItemControl(element);
            PlanItemControl defaultControl = getDefaultControl(element);

            ManualActivationRule manualActivationRule = null;

            if (itemControl != null)
            {
                manualActivationRule = itemControl.ManualActivationRule;
            }
            if (manualActivationRule == null && defaultControl != null)
            {
                manualActivationRule = defaultControl.ManualActivationRule;
            }

            if (manualActivationRule != null)
            {
                CaseControlRule caseRule = initializeCaseControlRule(manualActivationRule.Condition, context);
                activity.setProperty(PROPERTY_MANUAL_ACTIVATION_RULE, caseRule);
            }
        }
Ejemplo n.º 6
0
        protected internal virtual void initializeRequiredRule(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context)
        {
            PlanItemControl itemControl    = getItemControl(element);
            PlanItemControl defaultControl = getDefaultControl(element);

            RequiredRule requiredRule = null;

            if (itemControl != null)
            {
                requiredRule = itemControl.RequiredRule;
            }
            if (requiredRule == null && defaultControl != null)
            {
                requiredRule = defaultControl.RequiredRule;
            }

            if (requiredRule != null)
            {
                CaseControlRule caseRule = initializeCaseControlRule(requiredRule.Condition, context);
                activity.setProperty(PROPERTY_REQUIRED_RULE, caseRule);
            }
        }