コード例 #1
0
        private Configuration ReadConfiguration()
        {
            if (configuration != null)
            {
                return(configuration);
            }
            try
            {
                Properties properties = new Properties();
                properties.Load(CONFIG_BASIC_PROPS_FILE);

                string cname = properties.GetProperty(CONFIG_PROP_NAME);
                Assert.False(String.IsNullOrWhiteSpace(cname));
                string cfile = properties.GetProperty(CONFIG_PROP_FILENAME);
                Assert.False(String.IsNullOrWhiteSpace(cfile));
                string version = properties.GetProperty(CONFIG_PROP_VERSION);
                Assert.False(String.IsNullOrWhiteSpace(version));

                LogUtils.Info(String.Format("Reading Configuration: [file={0}][version={1}]", cfile, version));

                using (FileReader reader = new FileReader(cfile))
                {
                    reader.Open();
                    XmlConfigParser       parser   = new XmlConfigParser();
                    ConfigurationSettings settings = new ConfigurationSettings();

                    settings.DownloadOptions = EDownloadOptions.LoadRemoteResourcesOnStartup;

                    parser.Parse(cname, reader, Version.Parse(version), settings, CONFIG_PASSWORD);

                    configuration = parser.GetConfiguration();

                    return(configuration);
                }
            }
            catch (Exception ex)
            {
                LogUtils.Error(ex);
                throw ex;
            }
        }
コード例 #2
0
        /// <summary>
        /// Resolve the search string for the specified abbreviation tag
        /// </summary>
        /// <param name="name">Search string</param>
        /// <param name="nodeName">Config node name</param>
        /// <param name="abbr">Abbreviation tag</param>
        /// <returns>Resolved name</returns>
        private static ResolvedName ResolveName(string name, string nodeName, char abbr, ConfigurationSettings settings)
        {
            ResolvedName resolved = new ResolvedName();

            switch (abbr)
            {
            case ConfigAttributesNode.NODE_ABBREVIATION:
                resolved.AbbrReplacement = settings.AttributesNodeName;
                break;

            case ConfigParametersNode.NODE_ABBREVIATION:
                resolved.AbbrReplacement = settings.ParametersNodeName;
                break;

            case ConfigPropertiesNode.NODE_ABBREVIATION:
                resolved.AbbrReplacement = settings.PropertiesNodeName;
                break;

            case ConfigListNode <ConfigValueNode> .NODE_ABBREVIATION:
                resolved.AbbrReplacement = ConfigListNode <ConfigValueNode> .NODE_NAME;
                break;
            }
            resolved.Abbr = abbr;

            string[] parts = name.Split(abbr);
            string   nname = parts[0];
            string   cname = parts[1];

            if (String.IsNullOrWhiteSpace(nname) || (nname.Length == 1 && nname[0] == ConfigurationSettings.NODE_SEARCH_WILDCARD))
            {
                resolved.Name = nodeName;
            }
            else
            {
                resolved.Name = nname;
            }

            if (!String.IsNullOrWhiteSpace(cname))
            {
                resolved.ChildName = cname;
            }
            else
            {
                resolved.ChildName = null;
            }
            return(resolved);
        }