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 @@ namespace NzbDrone.Core.Test.Indexers .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.Collections.Generic; using System.Linq; using NLog; using NzbDrone.Core.Indexers.Providers; +using NzbDrone.Core.Lifecycle; using PetaPoco; namespace NzbDrone.Core.Indexers @@ -15,19 +16,41 @@ namespace NzbDrone.Core.Indexers 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 @@ namespace NzbDrone.Core.Indexers 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 @@ namespace NzbDrone.Core.Jobs private ProgressNotification _notification; - public JobController(NotificationProvider notificationProvider, IEnumerable jobs, IJobRepository jobRepository, Logger logger) { StopWatch = new Stopwatch(); @@ -61,7 +60,6 @@ namespace NzbDrone.Core.Jobs } } - public virtual void QueueScheduled() { lock (_executionLock) @@ -260,7 +258,5 @@ namespace NzbDrone.Core.Jobs _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