示例#1
0
        public ConfigCollection LoadOnInit()
        {
            var configs = new ConfigCollection();

            InitializeCollection(configs);
            return(configs);
        }
示例#2
0
 public ConfigRepository(IConfigLoader configLoader, string systemConfigKey, string appConfigKey)
 {
     this.configLoader    = configLoader;
     configurations       = configLoader.LoadOnInit();
     this.systemConfigKey = systemConfigKey;
     this.appConfigKey    = appConfigKey;
 }
示例#3
0
 public void InitializeCollection(ConfigCollection configs)
 {
     foreach (var loader in this)
     {
         loader.InitializeCollection(configs);
     }
 }
示例#4
0
 public void InitializeCollection(ConfigCollection configs)
 {
     if (LoadAllFilesOnInit)
     {
         LoadConfigsIntoCollection("*", configs);
     }
 }
示例#5
0
 private void LoadConfigsIntoCollection(string pattern, ConfigCollection configs)
 {
     try {
         LoadConfigsIntoCollectionFromFiles(pattern, configs);
     }catch (Exception ex) {
         throw new ConfiguratorException(string.Format("Error while loading XML configuration for the config with pattern '{0}'", pattern), ex);
     }
 }
示例#6
0
        public IConfig Load(string configKey)
        {
            var configs = new ConfigCollection();

            LoadConfigsIntoCollection(configKey, configs);
            if (configs.Contains(configKey))
            {
                return(configs[configKey]);
            }
            return(null);
        }
示例#7
0
 private void LoadConfigsIntoCollectionFromFiles(string pattern, ConfigCollection configs)
 {
     if (pattern.IndexOfAny(IllegalPathCharacters) < 0)
     {
         var files = GetFiles(pattern);
         foreach (var file in files)
         {
             var configFromFile = FileConfigFactory.Create(file, AddFileWatchers);
             if (!configs.Contains(configFromFile.ConfigKey))
             {
                 configs.Add(configFromFile);
             }
         }
     }
 }