示例#1
0
        public void ReadConfiguration(XPathNavigator nav)
        {
            name     = Helpers.GetRequiredNonEmptyAttribute(nav, "name");
            target   = Helpers.ConvertEnum <FeatureTarget> (Helpers.GetRequiredNonEmptyAttribute(nav, "target"), "target");
            fileName = Helpers.GetOptionalAttribute(nav, "fileName");

            if (String.IsNullOrEmpty(fileName))
            {
                fileName = name;
            }

            sections = new Section();
            Helpers.BuildSectionTree(nav.Select("./section[string-length (@name) > 0]"), sections);
        }
示例#2
0
        public Section(XPathNavigator nav)
        {
            if (nav != null)
            {
                name = Helpers.GetRequiredNonEmptyAttribute(nav, "name");

                string val = Helpers.GetOptionalAttribute(nav, "attachPoint");
                if (!String.IsNullOrEmpty(val))
                {
                    attachPoint = true;
                }

                val = Helpers.GetOptionalAttribute(nav, "defaultBlockName");
                if (!String.IsNullOrEmpty(val))
                {
                    defaultBlockName = val;
                }
            }
        }
        public FeatureAction(XPathNavigator nav)
        {
            string val = Helpers.GetRequiredNonEmptyAttribute(nav, "type");

            type = Helpers.ConvertEnum <ActionType> (val, "type");

            val  = Helpers.GetRequiredNonEmptyAttribute(nav, "when");
            when = Helpers.ConvertEnum <ActionWhen> (val, "when");

            XPathNodeIterator iter;
            StringBuilder     sb = new StringBuilder();

            switch (type)
            {
            case ActionType.Message:
            case ActionType.ShellScript:
                iter = nav.Select("./text()");
                while (iter.MoveNext())
                {
                    sb.Append(iter.Current.Value);
                }
                if (type == ActionType.Message)
                {
                    message = sb.ToString();
                }
                else
                {
                    script = sb.ToString();
                }
                break;

            case ActionType.Exec:
                command          = Helpers.GetRequiredNonEmptyAttribute(nav, "command");
                commandArguments = Helpers.GetOptionalAttribute(nav, "commndArguments");
                break;
            }
        }