Exemplo n.º 1
0
        public static Configuration LoadConfiguration(XmlDocument doc)
        {
            var config = new Configuration();

            // Load Extension Configurations
            foreach (XmlNode node in doc.SelectNodes("RenExConfig/ExtensionConfig"))
            {
                Configuration.ExtensionConfig extCfg = new Configuration.ExtensionConfig
                    {
                        Name = node.Attributes["name"].InnerText,
                        MaximumExtensions = Int32.Parse(node.Attributes["maxExt"].InnerText)
                    };

                XmlNode validatorNode = node.SelectSingleNode("FileExtLenValidator");
                if (validatorNode != null)
                {
                    extCfg.Validator = new FileExtLengthValidator(
                        Int32.Parse(validatorNode.Attributes["min"].InnerText),
                        Int32.Parse(validatorNode.Attributes["max"].InnerText));
                }
                validatorNode = node.SelectSingleNode("FileExtListValidator");
                if (validatorNode != null)
                {
                    String[] exts = validatorNode.InnerText.Split(';');
                    for (int i = 0; i < exts.Length; i++)
                        exts[i] = exts[i].Trim(' ');

                    extCfg.Validator = new FileExtListValidator(exts);
                }

                config.ExtensionConfigs[extCfg.Name] = extCfg;
            }

            // Load Saved Rules
            foreach (RenamingRule rule in from XmlNode node in doc.SelectNodes("RenExConfig/Rule") select ReadRule(node))
            {
                config.Rules[rule.Name] = rule;
            }

            // Load Regex Templates
            foreach (XmlNode node in doc.SelectNodes("RenExConfig/RegexTemplate"))
            {
                String name = node.Attributes["name"].InnerText;
                String template = node.InnerText;

                config.RegexTemplates[name] = template;
            }

            return config;
        }
Exemplo n.º 2
0
        private Configuration.ExtensionConfig GetConfigurationFromUi()
        {
            Configuration.ExtensionConfig config = new Configuration.ExtensionConfig();

            config.Name = txtExtName.Text;
            config.MaximumExtensions = (Int32) nudExtMaxExt.Value;

            if (radExtLenVal.Checked)
                config.Validator = new FileExtLengthValidator((Int32) nudExtLenMin.Value, (Int32) nudExtLenMax.Value);
            else
                config.Validator = new FileExtListValidator(from ext in txtExtList.Text.Split(';') select ext.Trim(' '));

            return config;
        }