diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-12-21 13:58:17 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-12-21 13:58:17 -0500 |
| commit | 74520804f80974ec018a6c45f4e221276ded4cd3 (patch) | |
| tree | 6315b8ab2ab96d4e2006148a7c0615ce0e9ff0ea /MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs | |
| parent | 659128073eda8178de75f2234467b03da747691c (diff) | |
start on content type setting
Diffstat (limited to 'MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs')
| -rw-r--r-- | MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs b/MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs index 4a70697fa..a061420d7 100644 --- a/MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs +++ b/MediaBrowser.Common.Implementations/Configuration/BaseConfigurationManager.cs @@ -208,11 +208,29 @@ namespace MediaBrowser.Common.Implementations.Configuration lock (_configurationSyncLock) { - return ConfigurationHelper.GetXmlConfiguration(configurationType, file, XmlSerializer); + return LoadConfiguration(file, configurationType); } }); } + private object LoadConfiguration(string path, Type configurationType) + { + try + { + return XmlSerializer.DeserializeFromFile(configurationType, path); + } + catch (FileNotFoundException) + { + return Activator.CreateInstance(configurationType); + } + catch (Exception ex) + { + Logger.ErrorException("Error loading configuration file: {0}", ex, path); + + return Activator.CreateInstance(configurationType); + } + } + public void SaveConfiguration(string key, object configuration) { var configurationType = GetConfigurationType(key); |
