Esempio n. 1
0
        /// <summary>
        /// Create a new instance using an input stream.
        /// </summary>
        /// <param name="configurationFilePath"></param>
        /// <param name="profile"></param>
        /// <param name="encoding"></param>
        /// <returns></returns>
        public static ConfigFile Parse(string configurationFilePath, string profile, Encoding encoding)
        {
            ConfigAccumulator accumulator = new ConfigAccumulator();

            try
            {
                using (StreamReader ConfigurationStream = new StreamReader(configurationFilePath, encoding))
                {
                    string line = null;
                    while ((line = ConfigurationStream.ReadLine()) != null)
                    {
                        accumulator.Accept(line);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }

            if (!accumulator.FoundDefaultProfile)
            {
                Console.WriteLine("No DEFAULT profile was specified in the configuration");
                //LOG.info("No DEFAULT profile was specified in the configuration");
            }
            if (profile != null && !accumulator.ConfigurationByProfile.ContainsKey(profile))
            {
                throw new Exception($"No profile named {profile} exists in the configuration file");
            }

            return(new ConfigFile(accumulator, profile));
        }
Esempio n. 2
0
 public ConfigFile(ConfigAccumulator accumulator, string profile)
 {
     this.accumulator = accumulator;
     this.profile     = profile;
 }
Esempio n. 3
0
 /// <summary>
 /// constracter
 /// </summary>
 /// <param name="accumulator"></param>
 /// <param name="profile"></param>
 public ConfigFile(ConfigAccumulator accumulator, string profile)
 {
     Accumulator = accumulator;
     Profile     = profile;
 }