aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.ServerApplication
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-19 16:27:02 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-19 16:27:02 -0400
commiteb612bd303b1ff7adf44f38496448b6064c465fe (patch)
tree6e95bf2d63aa0ebb296c09c37ccb03bd1b9212aa /MediaBrowser.ServerApplication
parent6c1bfe661bf2d0c2e988793bd760148d57014bb4 (diff)
fixed db disposals
Diffstat (limited to 'MediaBrowser.ServerApplication')
-rw-r--r--MediaBrowser.ServerApplication/ApplicationHost.cs50
-rw-r--r--MediaBrowser.ServerApplication/EntryPoints/NewItemNotifier.cs4
-rw-r--r--MediaBrowser.ServerApplication/EntryPoints/WebSocketEvents.cs6
3 files changed, 27 insertions, 33 deletions
diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs
index 94a06020e..18916e99e 100644
--- a/MediaBrowser.ServerApplication/ApplicationHost.cs
+++ b/MediaBrowser.ServerApplication/ApplicationHost.cs
@@ -159,6 +159,9 @@ namespace MediaBrowser.ServerApplication
/// </summary>
/// <value>The user data repository.</value>
private IUserDataRepository UserDataRepository { get; set; }
+ private IUserRepository UserRepository { get; set; }
+ private IDisplayPreferencesRepository DisplayPreferencesRepository { get; set; }
+ private IItemRepository ItemRepository { get; set; }
/// <summary>
/// The full path to our startmenu shortcut
@@ -239,6 +242,15 @@ namespace MediaBrowser.ServerApplication
UserDataRepository = new SQLiteUserDataRepository(ApplicationPaths, JsonSerializer, LogManager);
RegisterSingleInstance(UserDataRepository);
+ UserRepository = new SQLiteUserRepository(ApplicationPaths, JsonSerializer, LogManager);
+ RegisterSingleInstance(UserRepository);
+
+ DisplayPreferencesRepository = new SQLiteDisplayPreferencesRepository(ApplicationPaths, JsonSerializer, LogManager);
+ RegisterSingleInstance(DisplayPreferencesRepository);
+
+ ItemRepository = new SQLiteItemRepository(ApplicationPaths, JsonSerializer, LogManager);
+ RegisterSingleInstance(ItemRepository);
+
UserManager = new UserManager(Logger, ServerConfigurationManager, UserDataRepository);
RegisterSingleInstance(UserManager);
@@ -299,11 +311,9 @@ namespace MediaBrowser.ServerApplication
/// <returns>Task.</returns>
private async Task ConfigureDisplayPreferencesRepositories()
{
- var repository = new SQLiteDisplayPreferencesRepository(ApplicationPaths, JsonSerializer, LogManager);
-
- await repository.Initialize().ConfigureAwait(false);
+ await DisplayPreferencesRepository.Initialize().ConfigureAwait(false);
- ((DisplayPreferencesManager)DisplayPreferencesManager).Repository = repository;
+ ((DisplayPreferencesManager)DisplayPreferencesManager).Repository = DisplayPreferencesRepository;
}
/// <summary>
@@ -312,11 +322,9 @@ namespace MediaBrowser.ServerApplication
/// <returns>Task.</returns>
private async Task ConfigureItemRepositories()
{
- var repository = new SQLiteItemRepository(ApplicationPaths, JsonSerializer, LogManager);
+ await ItemRepository.Initialize().ConfigureAwait(false);
- await repository.Initialize().ConfigureAwait(false);
-
- ((LibraryManager)LibraryManager).ItemRepository = repository;
+ ((LibraryManager)LibraryManager).ItemRepository = ItemRepository;
}
/// <summary>
@@ -328,13 +336,15 @@ namespace MediaBrowser.ServerApplication
return UserDataRepository.Initialize();
}
+ /// <summary>
+ /// Configures the user repositories.
+ /// </summary>
+ /// <returns>Task.</returns>
private async Task ConfigureUserRepositories()
{
- var repository = new SQLiteUserRepository(ApplicationPaths, JsonSerializer, LogManager);
+ await UserRepository.Initialize().ConfigureAwait(false);
- await repository.Initialize().ConfigureAwait(false);
-
- ((UserManager)UserManager).UserRepository = repository;
+ ((UserManager)UserManager).UserRepository = UserRepository;
}
/// <summary>
@@ -553,21 +563,5 @@ 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();
- }
}
}
diff --git a/MediaBrowser.ServerApplication/EntryPoints/NewItemNotifier.cs b/MediaBrowser.ServerApplication/EntryPoints/NewItemNotifier.cs
index ae898f0f9..bf4eb6e91 100644
--- a/MediaBrowser.ServerApplication/EntryPoints/NewItemNotifier.cs
+++ b/MediaBrowser.ServerApplication/EntryPoints/NewItemNotifier.cs
@@ -1,5 +1,4 @@
-using System.Windows;
-using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Model.Logging;
@@ -7,6 +6,7 @@ using MediaBrowser.ServerApplication.Controls;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
+using System.Windows;
using System.Windows.Controls.Primitives;
namespace MediaBrowser.ServerApplication.EntryPoints
diff --git a/MediaBrowser.ServerApplication/EntryPoints/WebSocketEvents.cs b/MediaBrowser.ServerApplication/EntryPoints/WebSocketEvents.cs
index 056e50a78..a6d505d19 100644
--- a/MediaBrowser.ServerApplication/EntryPoints/WebSocketEvents.cs
+++ b/MediaBrowser.ServerApplication/EntryPoints/WebSocketEvents.cs
@@ -1,6 +1,4 @@
-using System.Linq;
-using System.Threading;
-using MediaBrowser.Common.Events;
+using MediaBrowser.Common.Events;
using MediaBrowser.Common.Net;
using MediaBrowser.Common.Plugins;
using MediaBrowser.Common.ScheduledTasks;
@@ -15,6 +13,8 @@ using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Tasks;
using MediaBrowser.Model.Updates;
using System;
+using System.Linq;
+using System.Threading;
namespace MediaBrowser.ServerApplication.EntryPoints
{