Example #1
0
        public Dictionary<string, List<Rule>> parseRules()
        {
            Dictionary<string, List<Rule>> eventWatchers = new Dictionary<string, List<Rule>>();
            string addInPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/sthAddin/rules";
            string[] files = Directory.GetFiles(addInPath, "*.rule");

            foreach (string file in files)
            {
                try
                {
                    string content = File.ReadAllText(file);
                    JObject obj = (JObject)JsonConvert.DeserializeObject(content);

                    Rule rule = new Rule();
                    rule.name = obj["name"].ToString();
                    rule.elementType = obj["element"]["type"].ToString();
                    rule.elementStereotype = obj["element"]["stereotype"].ToString();

                    rule.attributeType = obj["attribute"]["type"].ToString();
                    rule.attributeStereotype = obj["element"]["stereotype"].ToString();

                    rule.contentDefectMsg = obj["content"]["defectMsg"].ToString();
                    rule.contentValid = obj["content"]["valid"].ToString();
                    rule.contentCorrect = obj["content"]["correct"].ToString();

                    if (obj["content"]["cond"] != null)
                    {
                        rule.contentCond = obj["content"]["cond"].ToString();
                    }

                    if (!eventWatchers.ContainsKey(rule.elementType))
                    {
                        eventWatchers.Add(rule.elementType, new List<Rule>());
                    }

                    eventWatchers[rule.elementType].Add(rule);
                }
                catch (Exception ex) { }
            }

            return eventWatchers;
        }
Example #2
0
        private RuleEntry createRuleEntry(Wrapper.Model model, string name, object element, Rule rule)
        {
            RuleEntry ruleEntry = new RuleEntry();
            ruleEntry.name = name;
            ruleEntry.GUID = Guid.NewGuid().ToString();
            ruleEntry.actions = 0;
            ruleEntry.element = element;
            ruleEntry.rule = rule;
            ruleEntry.model = model;

            return ruleEntry;
        }