diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-10-17 11:05:12 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-10-17 11:05:12 -0400 |
| commit | 034c0b95b2f9cc6440bac8b5844abfdc97db8990 (patch) | |
| tree | b591233733fb2aa79ac0c57a1b516ca90d9f155c /MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs | |
| parent | 317a4872299b9c3fcc9b43eceff7c06cb696ab72 (diff) | |
3.0.5768.1
Diffstat (limited to 'MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs')
| -rw-r--r-- | MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs b/MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs index 0bcc5c711..7bbc1abd7 100644 --- a/MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs +++ b/MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs @@ -10,6 +10,7 @@ using System.IO; using System.Linq; using System.Threading; using CommonIO; +using MediaBrowser.Common.Extensions; namespace MediaBrowser.Common.Implementations.Configuration { @@ -33,7 +34,7 @@ namespace MediaBrowser.Common.Implementations.Configuration /// Occurs when [configuration updating]. /// </summary> public event EventHandler<ConfigurationUpdateEventArgs> NamedConfigurationUpdating; - + /// <summary> /// Occurs when [named configuration updated]. /// </summary> @@ -89,8 +90,8 @@ namespace MediaBrowser.Common.Implementations.Configuration } } - private ConfigurationStore[] _configurationStores = {}; - private IConfigurationFactory[] _configurationFactories = {}; + private ConfigurationStore[] _configurationStores = { }; + private IConfigurationFactory[] _configurationFactories = { }; /// <summary> /// Initializes a new instance of the <see cref="BaseConfigurationManager" /> class. @@ -228,9 +229,15 @@ namespace MediaBrowser.Common.Implementations.Configuration { var file = GetConfigurationFile(key); - var configurationType = _configurationStores - .First(i => string.Equals(i.Key, key, StringComparison.OrdinalIgnoreCase)) - .ConfigurationType; + var configurationInfo = _configurationStores + .FirstOrDefault(i => string.Equals(i.Key, key, StringComparison.OrdinalIgnoreCase)); + + if (configurationInfo == null) + { + throw new ResourceNotFoundException("Configuration with key " + key + " not found."); + } + + var configurationType = configurationInfo.ConfigurationType; lock (_configurationSyncLock) { @@ -285,7 +292,7 @@ namespace MediaBrowser.Common.Implementations.Configuration NewConfiguration = configuration }, Logger); - + _configurations.AddOrUpdate(key, configuration, (k, v) => configuration); var path = GetConfigurationFile(key); |
