Example #1
0
        /// <summary>
        /// Initialize this client environment from the specified configuration file and version
        /// using the configuration parser.
        /// </summary>
        /// <param name="parser">Configuration parser to use.</param>
        /// <param name="configfile">Configuration file path.</param>
        /// <param name="version">Configuration version (expected)</param>
        /// <param name="password">Password, if configuration has encrypted nodes.</param>
        protected void Init(AbstractConfigParser parser, string configfile,
                            Version version, string password = null)
        {
            try
            {
                LogUtils.Info(String.Format(
                                  "Initializing Client Environment : With Configuration file [{0}]...",
                                  configfile));
                Uri            path   = new Uri(NetUtils.FilePathToFileUrl(configfile));
                AbstractReader reader = ConfigProviderFactory.GetReader(path);
                if (reader == null)
                {
                    throw new ConfigurationException(String.Format("Failed to get reader. [URI={0}]", path.ToString()));
                }
                parser.Parse(ConfigName, reader,
                             version,
                             null, password);
                __configuration = parser.GetConfiguration();
                if (__configuration == null)
                {
                    throw new ConfigurationException(String.Format(
                                                         "Error parsing configuration : NULL configuration read. [file={0}]",
                                                         configfile));
                }

                PostInit();

                UpdateState(EEnvState.Initialized);
            }
            catch (Exception e)
            {
                throw new ConfigurationException(e);
            }
        }
Example #2
0
        /// <summary>
        /// Load a configuration from local/remote location.
        /// </summary>
        /// <param name="configName">Configuration name</param>
        /// <param name="configUri">Configuration File URI</param>
        /// <param name="configType">Configuration Type</param>
        /// <param name="version">Configuration Version (expected)</param>
        /// <param name="settings">Configuration Settings</param>
        /// <param name="password">Password (if required)</param>
        /// <returns>Loaded Configruation</returns>
        public Configuration Load(string configName, string configUri,
                                  EConfigType configType, Version version,
                                  ConfigurationSettings settings, string password = null)
        {
            Configuration config = null;

            if (!loadedConfigs.ContainsKey(configName))
            {
                lock (loadedConfigs)
                {
                    if (!loadedConfigs.ContainsKey(configName))
                    {
                        config = loader.Load(configName, configUri, configType, version, settings, password);
                        ConfigLoaded(config);
                    }
                }
            }
            config = loadedConfigs[configName];
            if (!config.Header.Version.Equals(version))
            {
                throw new ConfigurationException(String.Format("Versions not compatible. [expected=%s][actual=%s]",
                                                               version.ToString(), config.Header.Version.ToString()));
            }
            return(config);
        }
Example #3
0
        /// <summary>
        /// Load a configuration from local/remote location.
        /// Will load using default settings.
        /// </summary>
        /// <param name="configName">Configuration name</param>
        /// <param name="configUri">Configuration File URI</param>
        /// <param name="configType">Configuration Type</param>
        /// <param name="version">Configuration Version (expected)</param>
        /// <param name="password">Password (if required)</param>
        /// <returns>Loaded Configruation</returns>
        public Configuration Load(string configName, string configUri,
                                  EConfigType configType, Version version,
                                  string password = null)
        {
            ConfigurationSettings settings = new ConfigurationSettings();

            return(Load(configName, configUri, configType, version, settings, password));
        }
Example #4
0
        /// <summary>
        /// Load a configuration from local file.
        /// </summary>
        /// <param name="configName">Configuration name</param>
        /// <param name="configFile">Configuration File Path</param>
        /// <param name="version">Configuration Version (expected)</param>
        /// <param name="settings">Configuration Settings</param>
        /// <param name="password">Password (if required)</param>
        /// <returns>Loaded Configruation</returns>
        public Configuration Load(string configName, string configFile,
                                  Version version, ConfigurationSettings settings,
                                  string password = null)
        {
            Preconditions.CheckArgument(configName);
            Preconditions.CheckArgument(configFile);
            Preconditions.CheckArgument(version);

            LogUtils.Info(String.Format("Loading Configuration. [name={0}][version={1}][file={2}]", configName, version.ToString(), configFile));

            using (FileReader reader = new FileReader(configFile))
            {
                AbstractConfigParser parser = ConfigProviderFactory.GetParser(configFile);
                Postconditions.CheckCondition(parser);

                parser.Parse(configName, reader, version, settings, password);

                return(parser.GetConfiguration());
            }
        }
Example #5
0
 /// <summary>
 /// Initialize this client environment from the specified configuration file and version.
 /// </summary>
 /// <param name="configfile">Configuration file path.</param>
 /// <param name="type">Configuration file type (in-case file type cannot be deciphered).</param>
 /// <param name="version">Configuration version (expected)</param>
 /// <param name="password">Password, if configuration has encrypted nodes.</param>
 protected void Init(string configfile,
                     EConfigType type,
                     Version version, string password = null)
 {
     try
     {
         AbstractConfigParser parser = ConfigProviderFactory.GetParser(type);
         if (parser == null)
         {
             throw new ConfigurationException(String.Format(
                                                  "Cannot get configuration parser instance. [file={0}]",
                                                  configfile));
         }
         Init(parser, configfile, version, password);
     }
     catch (Exception e)
     {
         state.SetError(e);
         throw new ConfigurationException(e);
     }
 }
Example #6
0
        /// <summary>
        /// Initialize this client environment from the specified configuration file and version.
        /// </summary>
        /// <param name="configfile">Configuration file path</param>
        /// <param name="version">Configuration version (expected)</param>
        /// <param name="password">Password, if configuration has encrypted nodes.</param>
        protected void Init(string configfile, Version version, string password = null)
        {
            Preconditions.CheckArgument(configfile);
            Preconditions.CheckArgument(version);

            try
            {
                AbstractConfigParser parser = ConfigProviderFactory.GetParser(configfile);
                if (parser == null)
                {
                    throw new ConfigurationException(String.Format("Failed to get configuration parser. [config file={0}]", configfile));
                }
                Init(parser, configfile, version, password);
            }
            catch (Exception ex)
            {
                LogUtils.Debug(ex.Message);
                state.SetError(ex);
                throw ex;
            }
        }
Example #7
0
        private Configuration GetConfiguration()
        {
            if (configuration == null)
            {
                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);

                        configuration = parser.GetConfiguration();

                        return(configuration);
                    }
                }
                catch (Exception ex)
                {
                    LogUtils.Error(ex);
                    throw ex;
                }
            }
            return(configuration);
        }