/// <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); } }
/// <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()); } }