aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.ServerApplication
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-05 15:48:01 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-05 15:48:01 -0400
commit23c8a91976922ca73a62910090881e677dc4f4f8 (patch)
tree24f7b4d731d8e6fe4072291d9600227aa1730531 /MediaBrowser.ServerApplication
parent31c2d9853288fa1addac3c7c3b97a9e9d084c531 (diff)
moved display preferences repo off of the kernel
Diffstat (limited to 'MediaBrowser.ServerApplication')
-rw-r--r--MediaBrowser.ServerApplication/ApplicationHost.cs33
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();
+ }
}
}