예제 #1
0
        private IAction ProcessActionNode(XmlNode actionNode)
        {
            AbstractActionManager actionManager = RuleEngine.GetActionManager();
            string actionName = actionNode.Attributes[RuleFileConstants.Name].InnerText;
            Dictionary <string, string> parameters = GetActionParameters(actionNode);

            return(actionManager.CreateAction(actionName, parameters));
        }
예제 #2
0
 public static void InitRuleEngine(AbstractActionManager actionManager,
                                   AbstractCategoryManager categoryManager,
                                   AbstractConditionManager conditionManager,
                                   AbstractOperatorManager operatorManager)
 {
     s_actionManager    = actionManager;
     s_categoryManager  = categoryManager;
     s_conditionManager = conditionManager;
     s_operatorManager  = operatorManager;
 }
예제 #3
0
 public static void InitRuleEngine(AbstractActionManager actionManager,
     AbstractCategoryManager categoryManager,
     AbstractConditionManager conditionManager,
     AbstractOperatorManager operatorManager)
 {
     s_actionManager = actionManager;
     s_categoryManager = categoryManager;
     s_conditionManager = conditionManager;
     s_operatorManager = operatorManager;
 }
예제 #4
0
        private XmlNode WriteActionToXmlNode(IAction action)
        {
            // <Action>
            XmlElement actionNode = m_doc.CreateElement(RuleFileConstants.ActionElementName);

            actionNode.SetAttribute(RuleFileConstants.Name, action.GetActionDef().GetActionName());

            AbstractActionManager actionManager = RuleEngine.GetActionManager();
            IActionDef            actionDef     = actionManager.GetActionDef(action.GetActionDef().GetActionName());
            List <string>         paramList     = actionDef.GetParameterNames();

            foreach (string paramName in paramList)
            {
                // <Param>
                XmlElement newNameParamNode = m_doc.CreateElement(RuleFileConstants.Parameter);
                newNameParamNode.SetAttribute(RuleFileConstants.Key, paramName);
                newNameParamNode.SetAttribute(RuleFileConstants.Value,
                                              action.GetParameterValue(paramName));
                actionNode.AppendChild(newNameParamNode);
            }
            return(actionNode);
        }