diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-05 15:48:01 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-05 15:48:01 -0400 |
| commit | 23c8a91976922ca73a62910090881e677dc4f4f8 (patch) | |
| tree | 24f7b4d731d8e6fe4072291d9600227aa1730531 /MediaBrowser.ServerApplication | |
| parent | 31c2d9853288fa1addac3c7c3b97a9e9d084c531 (diff) | |
moved display preferences repo off of the kernel
Diffstat (limited to 'MediaBrowser.ServerApplication')
| -rw-r--r-- | MediaBrowser.ServerApplication/ApplicationHost.cs | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index c782eac18..7fef4935d 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -220,6 +220,7 @@ namespace MediaBrowser.ServerApplication RegisterSingleInstance<ILibrarySearchEngine>(() => new LuceneSearchEngine()); + await ConfigureRepositories().ConfigureAwait(false); SetKernelProperties(); SetStaticProperties(); } @@ -235,7 +236,6 @@ namespace MediaBrowser.ServerApplication Parallel.Invoke( () => ServerKernel.UserDataRepositories = GetExports<IUserDataRepository>(), () => ServerKernel.UserRepositories = GetExports<IUserRepository>(), - () => ServerKernel.DisplayPreferencesRepositories = GetExports<IDisplayPreferencesRepository>(), () => ServerKernel.ItemRepositories = GetExports<IItemRepository>(), () => ServerKernel.WeatherProviders = GetExports<IWeatherProvider>(), () => ServerKernel.ImageEnhancers = GetExports<IImageEnhancer>().OrderBy(e => e.Priority).ToArray(), @@ -244,6 +244,21 @@ namespace MediaBrowser.ServerApplication } /// <summary> + /// Configures the repositories. + /// </summary> + /// <returns>Task.</returns> + private async Task ConfigureRepositories() + { + var displayPreferencesRepositories = GetExports<IDisplayPreferencesRepository>(); + + var repo = GetRepository(displayPreferencesRepositories, ServerConfigurationManager.Configuration.DisplayPreferencesRepository); + + await repo.Initialize().ConfigureAwait(false); + + ((DisplayPreferencesManager)DisplayPreferencesManager).Repository = repo; + } + + /// <summary> /// Dirty hacks /// </summary> private void SetStaticProperties() @@ -456,5 +471,21 @@ namespace MediaBrowser.ServerApplication process.WaitForExit(); } } + + /// <summary> + /// Gets the repository. + /// </summary> + /// <typeparam name="T"></typeparam> + /// <param name="repositories">The repositories.</param> + /// <param name="name">The name.</param> + /// <returns>``0.</returns> + private T GetRepository<T>(IEnumerable<T> repositories, string name) + where T : class, IRepository + { + var enumerable = repositories as T[] ?? repositories.ToArray(); + + return enumerable.FirstOrDefault(r => string.Equals(r.Name, name, StringComparison.OrdinalIgnoreCase)) ?? + enumerable.FirstOrDefault(); + } } } |
