From 804115bf8d526477756828ff4ca632c351e03b90 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 8 Apr 2013 11:55:53 -0400 Subject: remove and/or delay unnecessary startup work --- .../Library/UserManager.cs | 41 ++++++++++++---------- 1 file changed, 23 insertions(+), 18 deletions(-) (limited to 'MediaBrowser.Server.Implementations/Library/UserManager.cs') diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs index 9293d8199..f6d20aa53 100644 --- a/MediaBrowser.Server.Implementations/Library/UserManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs @@ -4,6 +4,7 @@ using MediaBrowser.Controller; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.Connectivity; using MediaBrowser.Model.Logging; using System; @@ -86,12 +87,6 @@ namespace MediaBrowser.Server.Implementations.Library /// private readonly ILogger _logger; - /// - /// Gets or sets the kernel. - /// - /// The kernel. - private Kernel Kernel { get; set; } - /// /// Gets or sets the configuration manager. /// @@ -99,17 +94,27 @@ namespace MediaBrowser.Server.Implementations.Library private IServerConfigurationManager ConfigurationManager { get; set; } private readonly ConcurrentDictionary> _userData = new ConcurrentDictionary>(); - + + /// + /// Gets the active user data repository + /// + /// The user data repository. + public IUserDataRepository UserDataRepository { get; set; } + + /// + /// Gets the active user repository + /// + /// The user repository. + public IUserRepository UserRepository { get; set; } + /// /// Initializes a new instance of the class. /// - /// The kernel. /// The logger. /// The configuration manager. - public UserManager(Kernel kernel, ILogger logger, IServerConfigurationManager configurationManager) + public UserManager(ILogger logger, IServerConfigurationManager configurationManager) { _logger = logger; - Kernel = kernel; ConfigurationManager = configurationManager; } @@ -250,7 +255,7 @@ namespace MediaBrowser.Server.Implementations.Library } // Save this directly. No need to fire off all the events for this. - return Kernel.UserRepository.SaveUser(user, CancellationToken.None); + return UserRepository.SaveUser(user, CancellationToken.None); } /// @@ -334,7 +339,7 @@ namespace MediaBrowser.Server.Implementations.Library /// IEnumerable{User}. private IEnumerable LoadUsers() { - var users = Kernel.UserRepository.RetrieveAllUsers().ToList(); + var users = UserRepository.RetrieveAllUsers().ToList(); // There always has to be at least one user. if (users.Count == 0) @@ -343,7 +348,7 @@ namespace MediaBrowser.Server.Implementations.Library var user = InstantiateNewUser(name); - var task = Kernel.UserRepository.SaveUser(user, CancellationToken.None); + var task = UserRepository.SaveUser(user, CancellationToken.None); // Hate having to block threads Task.WaitAll(task); @@ -422,7 +427,7 @@ namespace MediaBrowser.Server.Implementations.Library user.DateModified = DateTime.UtcNow; - await Kernel.UserRepository.SaveUser(user, CancellationToken.None).ConfigureAwait(false); + await UserRepository.SaveUser(user, CancellationToken.None).ConfigureAwait(false); OnUserUpdated(user); } @@ -452,7 +457,7 @@ namespace MediaBrowser.Server.Implementations.Library list.Add(user); Users = list; - await Kernel.UserRepository.SaveUser(user, CancellationToken.None).ConfigureAwait(false); + await UserRepository.SaveUser(user, CancellationToken.None).ConfigureAwait(false); return user; } @@ -481,7 +486,7 @@ namespace MediaBrowser.Server.Implementations.Library throw new ArgumentException(string.Format("The user '{0}' be deleted because there must be at least one user in the system.", user.Name)); } - await Kernel.UserRepository.DeleteUser(user, CancellationToken.None).ConfigureAwait(false); + await UserRepository.DeleteUser(user, CancellationToken.None).ConfigureAwait(false); OnUserDeleted(user); @@ -713,7 +718,7 @@ namespace MediaBrowser.Server.Implementations.Library var key = userId + userDataId.ToString(); try { - await Kernel.Instance.UserDataRepository.SaveUserData(userId, userDataId, userData, cancellationToken).ConfigureAwait(false); + await UserDataRepository.SaveUserData(userId, userDataId, userData, cancellationToken).ConfigureAwait(false); var newValue = Task.FromResult(userData); @@ -749,7 +754,7 @@ namespace MediaBrowser.Server.Implementations.Library /// Task{UserItemData}. private async Task RetrieveUserData(Guid userId, Guid userDataId) { - var userdata = await Kernel.Instance.UserDataRepository.GetUserData(userId, userDataId).ConfigureAwait(false); + var userdata = await UserDataRepository.GetUserData(userId, userDataId).ConfigureAwait(false); return userdata ?? new UserItemData(); } -- cgit v1.2.3