/// <summary>
 /// Load configuration from string. Used by automated tests.
 /// </summary>
 /// <param name="content">Configuration data to parse</param>
 /// <param name="logger">Logging object</param>
 /// <returns>An instance of <see cref="TFSAggregatorSettings"/> or null</returns>
 public static TFSAggregatorSettings LoadXml(string content, ILogEvents logger)
 {
     // conventional point in time reference
     DateTime staticTimestamp = new DateTime(0, DateTimeKind.Utc);
     var parser = new AggregatorSettingsXmlParser(logger);
     return parser.Parse(staticTimestamp, (xmlLoadOptions) => XDocument.Parse(content, xmlLoadOptions));
 }
 /// <summary>
 /// Load configuration from file. Main scenario.
 /// </summary>
 /// <param name="settingsPath">Path to policies file</param>
 /// <param name="logger">Logging object</param>
 /// <returns>An instance of <see cref="TFSAggregatorSettings"/> or null</returns>
 public static TFSAggregatorSettings LoadFromFile(string settingsPath, ILogEvents logger)
 {
     DateTime lastWriteTime
         = System.IO.File.GetLastWriteTimeUtc(settingsPath);
     var parser = new AggregatorSettingsXmlParser(logger);
     return parser.Parse(lastWriteTime, (xmlLoadOptions) => XDocument.Load(settingsPath, xmlLoadOptions));
 }
        /// <summary>
        /// Load configuration from string. Used by automated tests.
        /// </summary>
        /// <param name="content">Configuration data to parse</param>
        /// <param name="logger">Logging object</param>
        /// <returns>An instance of <see cref="TFSAggregatorSettings"/> or null</returns>
        public static TFSAggregatorSettings LoadXml(string content, ILogEvents logger)
        {
            // conventional point in time reference
            DateTime staticTimestamp = new DateTime(0, DateTimeKind.Utc);
            var      parser          = new AggregatorSettingsXmlParser(logger);

            return(parser.Parse(staticTimestamp, (xmlLoadOptions) => XDocument.Parse(content, xmlLoadOptions)));
        }
        /// <summary>
        /// Load configuration from file. Main scenario.
        /// </summary>
        /// <param name="settingsPath">Path to policies file</param>
        /// <param name="logger">Logging object</param>
        /// <returns>An instance of <see cref="TFSAggregatorSettings"/> or null</returns>
        public static TFSAggregatorSettings LoadFromFile(string settingsPath, ILogEvents logger)
        {
            DateTime lastWriteTime
                = System.IO.File.GetLastWriteTimeUtc(settingsPath);
            var parser = new AggregatorSettingsXmlParser(logger);

            return(parser.Parse(lastWriteTime, (xmlLoadOptions) => XDocument.Load(settingsPath, xmlLoadOptions)));
        }