From 563db453fcebb883f9066a8cd55f6d3b6ed07fe7 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Thu, 21 Feb 2013 08:38:31 -0800 Subject: [PATCH] Cleaned up IndexerService and tests --- .../Indexers/IndexerServiceTest.cs | 8 +-- NzbDrone.Core/Indexers/IndexerService.cs | 70 ++++++++----------- NzbDrone.Core/Jobs/JobController.cs | 4 -- .../{IInitilizable.cs => IInitializable.cs} | 0 NzbDrone.Core/NzbDrone.Core.csproj | 2 +- NzbDrone.ncrunchsolution | 1 - 6 files changed, 34 insertions(+), 51 deletions(-) rename NzbDrone.Core/Lifecycle/{IInitilizable.cs => IInitializable.cs} (100%) diff --git a/NzbDrone.Core.Test/Indexers/IndexerServiceTest.cs b/NzbDrone.Core.Test/Indexers/IndexerServiceTest.cs index 015820033..736a2967d 100644 --- a/NzbDrone.Core.Test/Indexers/IndexerServiceTest.cs +++ b/NzbDrone.Core.Test/Indexers/IndexerServiceTest.cs @@ -20,17 +20,13 @@ namespace NzbDrone.Core.Test.Indexers { [TestFixture] // ReSharper disable InconsistentNaming - public class IndexerServiceTest : CoreTest + public class IndexerServiceTest : CoreTest { [Test] public void Init_indexer_test() { Mocker.SetConstant>(new List { Mocker.Resolve() }); - //Mocker.GetMock() - // .Setup(s => s.Find(typeof(MockIndexer))) - // .Returns() - Mocker.Resolve(); Mocker.GetMock() @@ -46,7 +42,7 @@ public void getEnabled_should_not_return_any_when_no_indexers_are_enabled() .Setup(s => s.All()) .Returns(new List {new Indexer {OID = 1, Type = "", Enable = false, Name = "Fake Indexer"}}); - Mocker.Resolve().GetEnabledIndexers().Should().BeEmpty(); + Subject.GetEnabledIndexers().Should().BeEmpty(); } [Test] diff --git a/NzbDrone.Core/Indexers/IndexerService.cs b/NzbDrone.Core/Indexers/IndexerService.cs index 8e36d10a6..3ad42643e 100644 --- a/NzbDrone.Core/Indexers/IndexerService.cs +++ b/NzbDrone.Core/Indexers/IndexerService.cs @@ -3,6 +3,7 @@ using System.Linq; using NLog; using NzbDrone.Core.Indexers.Providers; +using NzbDrone.Core.Lifecycle; using PetaPoco; namespace NzbDrone.Core.Indexers @@ -15,19 +16,41 @@ public interface IIndexerService Indexer GetSettings(Type type); } - public class IndexerService : IIndexerService + public class IndexerService : IIndexerService, IInitializable { private readonly IIndexerRepository _indexerRepository; - - private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); + private readonly Logger _logger; private IList _indexers; - public IndexerService(IIndexerRepository indexerRepository, IEnumerable indexers) + public IndexerService(IIndexerRepository indexerRepository, IEnumerable indexers, Logger logger) { _indexerRepository = indexerRepository; + _logger = logger; _indexers = indexers.ToList(); - InitializeIndexers(); + } + + public void Init() + { + _logger.Debug("Initializing indexers. Count {0}", _indexers.Count); + + var currentIndexers = All(); + + foreach (var feedProvider in _indexers) + { + IndexerBase indexerLocal = feedProvider; + if (!currentIndexers.Exists(c => c.Type == indexerLocal.GetType().ToString())) + { + var settings = new Indexer + { + Enable = indexerLocal.EnabledByDefault, + Type = indexerLocal.GetType().ToString(), + Name = indexerLocal.Name + }; + + _indexerRepository.Insert(settings); + } + } } public List All() @@ -43,45 +66,14 @@ public List GetEnabledIndexers() public void SaveSettings(Indexer indexer) { - if (indexer.OID == 0) - { - Logger.Debug("Adding Indexer definitions for {0}", indexer.Name); - _indexerRepository.Insert(indexer); - } - else - { - Logger.Debug("Updating Indexer definitions for {0}", indexer.Name); - _indexerRepository.Update(indexer); - } + //Todo: This will be used in the API + _logger.Debug("Upserting Indexer definitions for {0}", indexer.Name); + _indexerRepository.Upsert(indexer); } public Indexer GetSettings(Type type) { return _indexerRepository.Find(type); } - - private void InitializeIndexers() - { - Logger.Debug("Initializing indexers. Count {0}", _indexers.Count); - - - var currentIndexers = All(); - - foreach (var feedProvider in _indexers) - { - IndexerBase indexerLocal = feedProvider; - if (!currentIndexers.Exists(c => c.Type == indexerLocal.GetType().ToString())) - { - var settings = new Indexer - { - Enable = indexerLocal.EnabledByDefault, - Type = indexerLocal.GetType().ToString(), - Name = indexerLocal.Name - }; - - SaveSettings(settings); - } - } - } } } \ No newline at end of file diff --git a/NzbDrone.Core/Jobs/JobController.cs b/NzbDrone.Core/Jobs/JobController.cs index 9ff19e266..b184b9ad0 100644 --- a/NzbDrone.Core/Jobs/JobController.cs +++ b/NzbDrone.Core/Jobs/JobController.cs @@ -36,7 +36,6 @@ public class JobController : IJobController, IInitializable private ProgressNotification _notification; - public JobController(NotificationProvider notificationProvider, IEnumerable jobs, IJobRepository jobRepository, Logger logger) { StopWatch = new Stopwatch(); @@ -61,7 +60,6 @@ public List Queue } } - public virtual void QueueScheduled() { lock (_executionLock) @@ -260,7 +258,5 @@ private void ResetThread() _logger.Trace("resetting queue processor thread"); _jobThread = new Thread(ProcessQueue) { Name = "JobQueueThread" }; } - - } } \ No newline at end of file diff --git a/NzbDrone.Core/Lifecycle/IInitilizable.cs b/NzbDrone.Core/Lifecycle/IInitializable.cs similarity index 100% rename from NzbDrone.Core/Lifecycle/IInitilizable.cs rename to NzbDrone.Core/Lifecycle/IInitializable.cs diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 727947d33..5c7c02067 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -279,7 +279,7 @@ - + diff --git a/NzbDrone.ncrunchsolution b/NzbDrone.ncrunchsolution index e88d63cdb..13a4b6131 100644 --- a/NzbDrone.ncrunchsolution +++ b/NzbDrone.ncrunchsolution @@ -2,7 +2,6 @@ 1 False true - true UseDynamicAnalysis Disabled Disabled