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); } }
// 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); }
// 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; } }
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); }
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); } }
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); } }