diff --git a/src/NzbDrone.Api/ClientSchema/SchemaBuilder.cs b/src/NzbDrone.Api/ClientSchema/SchemaBuilder.cs index c5c96c302..03161e510 100644 --- a/src/NzbDrone.Api/ClientSchema/SchemaBuilder.cs +++ b/src/NzbDrone.Api/ClientSchema/SchemaBuilder.cs @@ -12,7 +12,7 @@ public static class SchemaBuilder { public static List ToSchema(object model) { - Ensure.That(() => model).IsNotNull(); + Ensure.That(model, () => model).IsNotNull(); var properties = model.GetType().GetSimpleProperties(); @@ -57,7 +57,7 @@ public static List ToSchema(object model) public static object ReadFormSchema(List fields, Type targetType) { - Ensure.That(() => targetType).IsNotNull(); + Ensure.That(targetType, () => targetType).IsNotNull(); var properties = targetType.GetSimpleProperties(); @@ -96,7 +96,7 @@ public static object ReadFormSchema(List fields, Type targetType) public static T ReadFormSchema(List fields) { - return (T)ReadFormSchema(fields, typeof (T)); + return (T)ReadFormSchema(fields, typeof(T)); } private static List GetSelectOptions(Type selectOptions) diff --git a/src/NzbDrone.Common.Test/EnsureTest/PathExtensionFixture.cs b/src/NzbDrone.Common.Test/EnsureTest/PathExtensionFixture.cs index 650158a92..04562a119 100644 --- a/src/NzbDrone.Common.Test/EnsureTest/PathExtensionFixture.cs +++ b/src/NzbDrone.Common.Test/EnsureTest/PathExtensionFixture.cs @@ -12,7 +12,7 @@ public class PathExtensionFixture : TestBase public void EnsureWindowsPath(string path) { WindowsOnly(); - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); } @@ -20,7 +20,7 @@ public void EnsureWindowsPath(string path) public void EnsureLinuxPath(string path) { LinuxOnly(); - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); } } } diff --git a/src/NzbDrone.Common/Cache/CacheManger.cs b/src/NzbDrone.Common/Cache/CacheManger.cs index b5da3047c..08062d177 100644 --- a/src/NzbDrone.Common/Cache/CacheManger.cs +++ b/src/NzbDrone.Common/Cache/CacheManger.cs @@ -24,7 +24,7 @@ public CacheManger() public ICached GetCache(Type host) { - Ensure.That(() => host).IsNotNull(); + Ensure.That(host, () => host).IsNotNull(); return GetCache(host, host.FullName); } @@ -37,8 +37,8 @@ public void Clear() public ICached GetCache(Type host, string name) { - Ensure.That(() => host).IsNotNull(); - Ensure.That(() => name).IsNotNullOrWhiteSpace(); + Ensure.That(host, () => host).IsNotNull(); + Ensure.That(name, () => name).IsNotNullOrWhiteSpace(); return (ICached)_cache.Get(host.FullName + "_" + name, () => new Cached()); } diff --git a/src/NzbDrone.Common/Cache/Cached.cs b/src/NzbDrone.Common/Cache/Cached.cs index 7269a9a53..b2319cf39 100644 --- a/src/NzbDrone.Common/Cache/Cached.cs +++ b/src/NzbDrone.Common/Cache/Cached.cs @@ -38,7 +38,7 @@ public Cached() public void Set(string key, T value, TimeSpan? lifetime = null) { - Ensure.That(() => key).IsNotNullOrWhiteSpace(); + Ensure.That(key, () => key).IsNotNullOrWhiteSpace(); _store[key] = new CacheItem(value, lifetime); } @@ -69,7 +69,7 @@ public void Remove(string key) public T Get(string key, Func function, TimeSpan? lifeTime = null) { - Ensure.That(() => key).IsNotNullOrWhiteSpace(); + Ensure.That(key, () => key).IsNotNullOrWhiteSpace(); CacheItem cacheItem; T value; diff --git a/src/NzbDrone.Common/DiskProvider.cs b/src/NzbDrone.Common/DiskProvider.cs index 5d0dd04a1..ef5242fc7 100644 --- a/src/NzbDrone.Common/DiskProvider.cs +++ b/src/NzbDrone.Common/DiskProvider.cs @@ -67,7 +67,7 @@ static extern bool GetDiskFreeSpaceEx(string lpDirectoryName, public DateTime GetLastFolderWrite(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); if (!FolderExists(path)) { @@ -87,7 +87,7 @@ public DateTime GetLastFolderWrite(string path) public DateTime GetLastFileWrite(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); if (!FileExists(path)) { @@ -107,13 +107,13 @@ public void EnsureFolder(string path) public bool FolderExists(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); return Directory.Exists(path); } public bool FileExists(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); return File.Exists(path); } @@ -129,28 +129,28 @@ public bool FileExists(string path, bool caseSensitive) public string[] GetDirectories(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); return Directory.GetDirectories(path); } public string[] GetFiles(string path, SearchOption searchOption) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); return Directory.GetFiles(path, "*.*", searchOption); } public long GetFolderSize(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); return GetFiles(path, SearchOption.AllDirectories).Sum(e => new FileInfo(e).Length); } public long GetFileSize(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); if (!FileExists(path)) { @@ -163,22 +163,22 @@ public long GetFileSize(string path) public void CreateFolder(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); Directory.CreateDirectory(path); } public void CopyFolder(string source, string destination) { - Ensure.That(() => source).IsValidPath(); - Ensure.That(() => destination).IsValidPath(); + Ensure.That(source, () => source).IsValidPath(); + Ensure.That(destination, () => destination).IsValidPath(); TransferFolder(source, destination, TransferAction.Copy); } public void MoveFolder(string source, string destination) { - Ensure.That(() => source).IsValidPath(); - Ensure.That(() => destination).IsValidPath(); + Ensure.That(source, () => source).IsValidPath(); + Ensure.That(destination, () => destination).IsValidPath(); try { @@ -195,8 +195,8 @@ public void MoveFolder(string source, string destination) private void TransferFolder(string source, string target, TransferAction transferAction) { - Ensure.That(() => source).IsValidPath(); - Ensure.That(() => target).IsValidPath(); + Ensure.That(source, () => source).IsValidPath(); + Ensure.That(target, () => target).IsValidPath(); Logger.Trace("{0} {1} -> {2}", transferAction, source, target); @@ -237,7 +237,7 @@ private void TransferFolder(string source, string target, TransferAction transfe public void DeleteFile(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); Logger.Trace("Deleting file: {0}", path); RemoveReadOnly(path); @@ -247,8 +247,8 @@ public void DeleteFile(string path) public void MoveFile(string source, string destination) { - Ensure.That(() => source).IsValidPath(); - Ensure.That(() => destination).IsValidPath(); + Ensure.That(source, () => source).IsValidPath(); + Ensure.That(destination, () => destination).IsValidPath(); if (source.PathEquals(destination)) { @@ -267,14 +267,14 @@ public void MoveFile(string source, string destination) public void DeleteFolder(string path, bool recursive) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); Directory.Delete(path, recursive); } public void InheritFolderPermissions(string filename) { - Ensure.That(() => filename).IsValidPath(); + Ensure.That(filename, () => filename).IsValidPath(); try { @@ -293,7 +293,7 @@ public void InheritFolderPermissions(string filename) public long? GetAvailableSpace(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); var root = GetPathRoot(path); @@ -319,28 +319,28 @@ public void InheritFolderPermissions(string filename) public string ReadAllText(string filePath) { - Ensure.That(() => filePath).IsValidPath(); + Ensure.That(filePath, () => filePath).IsValidPath(); return File.ReadAllText(filePath); } public void WriteAllText(string filename, string contents) { - Ensure.That(() => filename).IsValidPath(); + Ensure.That(filename, () => filename).IsValidPath(); RemoveReadOnly(filename); File.WriteAllText(filename, contents); } public void FileSetLastWriteTimeUtc(string path, DateTime dateTime) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); File.SetLastWriteTimeUtc(path, dateTime); } public void FolderSetLastWriteTimeUtc(string path, DateTime dateTime) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); Directory.SetLastWriteTimeUtc(path, dateTime); } @@ -362,14 +362,14 @@ public bool IsFileLocked(string file) public string GetPathRoot(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); return Path.GetPathRoot(path); } public string GetParentFolder(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); var parent = Directory.GetParent(path); @@ -448,7 +448,7 @@ public FileAttributes GetFileAttributes(string path) public void EmptyFolder(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); foreach (var file in GetFiles(path, SearchOption.TopDirectoryOnly)) { @@ -468,7 +468,7 @@ public string[] GetFixedDrives() public long? GetTotalSize(string path) { - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsValidPath(); var root = GetPathRoot(path); diff --git a/src/NzbDrone.Common/EnsureThat/Ensure.cs b/src/NzbDrone.Common/EnsureThat/Ensure.cs index 5ac44a25c..d918d0e66 100644 --- a/src/NzbDrone.Common/EnsureThat/Ensure.cs +++ b/src/NzbDrone.Common/EnsureThat/Ensure.cs @@ -10,13 +10,9 @@ public static Param That(T value, string name = Param.DefaultName) return new Param(name, value); } - public static Param That(Expression> expression) + public static Param That(T value, Expression> expression) { - var memberExpression = expression.GetRightMostMember(); - - return new Param( - memberExpression.ToPath(), - expression.Compile().Invoke()); + return new Param(expression.GetPath(), value); } public static TypeParam ThatTypeFor(T value, string name = Param.DefaultName) diff --git a/src/NzbDrone.Common/EnsureThat/ExpressionExtensions.cs b/src/NzbDrone.Common/EnsureThat/ExpressionExtensions.cs index f3e9473c4..766677a78 100644 --- a/src/NzbDrone.Common/EnsureThat/ExpressionExtensions.cs +++ b/src/NzbDrone.Common/EnsureThat/ExpressionExtensions.cs @@ -1,4 +1,5 @@ using System.Linq.Expressions; +using NzbDrone.Common.Cache; namespace NzbDrone.Common.EnsureThat { @@ -15,30 +16,35 @@ internal static string ToPath(this MemberExpression e) return path + e.Member.Name; } - internal static MemberExpression GetRightMostMember(this Expression e) + internal static string GetPath(this Expression expression) { - if (e is LambdaExpression) - return GetRightMostMember(((LambdaExpression)e).Body); + return GetRightMostMember(expression).ToPath(); + } - if (e is MemberExpression) - return (MemberExpression)e; + private static MemberExpression GetRightMostMember(Expression e) + { + if (e is LambdaExpression) + return GetRightMostMember(((LambdaExpression)e).Body); - if (e is MethodCallExpression) - { - var callExpression = (MethodCallExpression)e; + if (e is MemberExpression) + return (MemberExpression)e; - if (callExpression.Object is MethodCallExpression || callExpression.Object is MemberExpression) - return GetRightMostMember(callExpression.Object); + if (e is MethodCallExpression) + { + var callExpression = (MethodCallExpression)e; - var member = callExpression.Arguments.Count > 0 ? callExpression.Arguments[0] : callExpression.Object; - return GetRightMostMember(member); - } + if (callExpression.Object is MethodCallExpression || callExpression.Object is MemberExpression) + return GetRightMostMember(callExpression.Object); - if (e is UnaryExpression) - { - var unaryExpression = (UnaryExpression)e; - return GetRightMostMember(unaryExpression.Operand); - } + var member = callExpression.Arguments.Count > 0 ? callExpression.Arguments[0] : callExpression.Object; + return GetRightMostMember(member); + } + + if (e is UnaryExpression) + { + var unaryExpression = (UnaryExpression)e; + return GetRightMostMember(unaryExpression.Operand); + } return null; } diff --git a/src/NzbDrone.Common/PathExtensions.cs b/src/NzbDrone.Common/PathExtensions.cs index 15687895f..b472178d6 100644 --- a/src/NzbDrone.Common/PathExtensions.cs +++ b/src/NzbDrone.Common/PathExtensions.cs @@ -23,8 +23,8 @@ public static class PathExtensions public static string CleanFilePath(this string path) { - Ensure.That(() => path).IsNotNullOrWhiteSpace(); - Ensure.That(() => path).IsValidPath(); + Ensure.That(path, () => path).IsNotNullOrWhiteSpace(); + Ensure.That(path, () => path).IsValidPath(); var info = new FileInfo(path.Trim()); diff --git a/src/NzbDrone.Core/Download/DownloadService.cs b/src/NzbDrone.Core/Download/DownloadService.cs index 05dfd4737..dcb65fe88 100644 --- a/src/NzbDrone.Core/Download/DownloadService.cs +++ b/src/NzbDrone.Core/Download/DownloadService.cs @@ -29,8 +29,8 @@ public DownloadService(IProvideDownloadClient downloadClientProvider, public void DownloadReport(RemoteEpisode remoteEpisode) { - Ensure.That(() => remoteEpisode.Series).IsNotNull(); - Ensure.That(() => remoteEpisode.Episodes).HasItems(); + Ensure.That(remoteEpisode.Series, () => remoteEpisode.Series).IsNotNull(); + Ensure.That(remoteEpisode.Episodes, () => remoteEpisode.Episodes).HasItems(); var downloadTitle = remoteEpisode.Release.Title; var downloadClient = _downloadClientProvider.GetDownloadClient(); diff --git a/src/NzbDrone.Core/IndexerSearch/Definitions/SearchCriteriaBase.cs b/src/NzbDrone.Core/IndexerSearch/Definitions/SearchCriteriaBase.cs index 20a6e8a39..c86256099 100644 --- a/src/NzbDrone.Core/IndexerSearch/Definitions/SearchCriteriaBase.cs +++ b/src/NzbDrone.Core/IndexerSearch/Definitions/SearchCriteriaBase.cs @@ -25,7 +25,7 @@ public string QueryTitle private static string GetQueryTitle(string title) { - Ensure.That(() => title).IsNotNullOrWhiteSpace(); + Ensure.That(title,() => title).IsNotNullOrWhiteSpace(); var cleanTitle = BeginningThe.Replace(title, String.Empty); diff --git a/src/NzbDrone.Core/MediaFiles/EpisodeFileMovingService.cs b/src/NzbDrone.Core/MediaFiles/EpisodeFileMovingService.cs index 4a094e1eb..7f435fa86 100644 --- a/src/NzbDrone.Core/MediaFiles/EpisodeFileMovingService.cs +++ b/src/NzbDrone.Core/MediaFiles/EpisodeFileMovingService.cs @@ -57,9 +57,9 @@ public string MoveEpisodeFile(EpisodeFile episodeFile, LocalEpisode localEpisode private void MoveFile(EpisodeFile episodeFile, Series series, string destinationFilename) { - Ensure.That(() => episodeFile).IsNotNull(); - Ensure.That(() => series).IsNotNull(); - Ensure.That(() => destinationFilename).IsValidPath(); + Ensure.That(episodeFile, () => episodeFile).IsNotNull(); + Ensure.That(series,() => series).IsNotNull(); + Ensure.That(destinationFilename, () => destinationFilename).IsValidPath(); if (!_diskProvider.FileExists(episodeFile.Path)) { diff --git a/src/NzbDrone.Core/Messaging/Commands/CommandExecutor.cs b/src/NzbDrone.Core/Messaging/Commands/CommandExecutor.cs index dd3175304..53943bacd 100644 --- a/src/NzbDrone.Core/Messaging/Commands/CommandExecutor.cs +++ b/src/NzbDrone.Core/Messaging/Commands/CommandExecutor.cs @@ -33,7 +33,7 @@ public CommandExecutor(Logger logger, IServiceFactory serviceFactory, ITrackComm public void PublishCommand(TCommand command) where TCommand : Command { - Ensure.That(() => command).IsNotNull(); + Ensure.That(command, () => command).IsNotNull(); _logger.Trace("Publishing {0}", command.GetType().Name); @@ -56,7 +56,7 @@ public void PublishCommand(string commandTypeName) public Command PublishCommandAsync(TCommand command) where TCommand : Command { - Ensure.That(() => command).IsNotNull(); + Ensure.That(command, () => command).IsNotNull(); _logger.Trace("Publishing {0}", command.GetType().Name); diff --git a/src/NzbDrone.Core/Messaging/Events/EventAggregator.cs b/src/NzbDrone.Core/Messaging/Events/EventAggregator.cs index 891d1c8b8..2853dd57d 100644 --- a/src/NzbDrone.Core/Messaging/Events/EventAggregator.cs +++ b/src/NzbDrone.Core/Messaging/Events/EventAggregator.cs @@ -23,26 +23,26 @@ public EventAggregator(Logger logger, IServiceFactory serviceFactory) public void PublishEvent(TEvent @event) where TEvent : class ,IEvent { - Ensure.That(() => @event).IsNotNull(); + Ensure.That(@event, () => @event).IsNotNull(); var eventName = GetEventName(@event.GetType()); -/* - int workerThreads; - int completionPortThreads; - ThreadPool.GetAvailableThreads(out workerThreads, out completionPortThreads); + /* + int workerThreads; + int completionPortThreads; + ThreadPool.GetAvailableThreads(out workerThreads, out completionPortThreads); - int maxCompletionPortThreads; - int maxWorkerThreads; - ThreadPool.GetMaxThreads(out maxWorkerThreads, out maxCompletionPortThreads); + int maxCompletionPortThreads; + int maxWorkerThreads; + ThreadPool.GetMaxThreads(out maxWorkerThreads, out maxCompletionPortThreads); - int minCompletionPortThreads; - int minWorkerThreads; - ThreadPool.GetMinThreads(out minWorkerThreads, out minCompletionPortThreads); + int minCompletionPortThreads; + int minWorkerThreads; + ThreadPool.GetMinThreads(out minWorkerThreads, out minCompletionPortThreads); - _logger.Warn("Thread pool state WT:{0} PT:{1} MAXWT:{2} MAXPT:{3} MINWT:{4} MINPT:{5}", workerThreads, completionPortThreads, maxWorkerThreads, maxCompletionPortThreads, minWorkerThreads, minCompletionPortThreads); -*/ + _logger.Warn("Thread pool state WT:{0} PT:{1} MAXWT:{2} MAXPT:{3} MINWT:{4} MINPT:{5}", workerThreads, completionPortThreads, maxWorkerThreads, maxCompletionPortThreads, minWorkerThreads, minCompletionPortThreads); + */ _logger.Trace("Publishing {0}", eventName); diff --git a/src/NzbDrone.Core/Rest/RestSharpExtensions.cs b/src/NzbDrone.Core/Rest/RestSharpExtensions.cs index 2a25a1222..b4b17510e 100644 --- a/src/NzbDrone.Core/Rest/RestSharpExtensions.cs +++ b/src/NzbDrone.Core/Rest/RestSharpExtensions.cs @@ -13,15 +13,15 @@ public static class RestSharpExtensions public static IRestResponse ValidateResponse(this IRestResponse response, IRestClient restClient) { - Ensure.That(() => response).IsNotNull(); + Ensure.That(response, () => response).IsNotNull(); if (response.Request == null && response.ErrorException != null) { throw response.ErrorException; } - Ensure.That(() => response.Request).IsNotNull(); - Ensure.That(() => restClient).IsNotNull(); + Ensure.That(response.Request, () => response.Request).IsNotNull(); + Ensure.That(restClient, () => restClient).IsNotNull(); Logger.Trace("Validating Responses from [{0}] [{1}] status: [{2}]", response.Request.Method, restClient.BuildUri(response.Request), response.StatusCode); diff --git a/src/NzbDrone.Core/Tv/SeriesService.cs b/src/NzbDrone.Core/Tv/SeriesService.cs index 9e1da54cd..c3767eaf6 100644 --- a/src/NzbDrone.Core/Tv/SeriesService.cs +++ b/src/NzbDrone.Core/Tv/SeriesService.cs @@ -58,7 +58,7 @@ public Series GetSeries(int seriesId) public Series AddSeries(Series newSeries) { - Ensure.That(() => newSeries).IsNotNull(); + Ensure.That(newSeries, () => newSeries).IsNotNull(); if (String.IsNullOrWhiteSpace(newSeries.Path)) { @@ -124,7 +124,7 @@ public List GetAllSeries() public Series UpdateSeries(Series series) { var storedSeries = GetSeries(series.Id); - + foreach (var season in series.Seasons) { var storedSeason = storedSeries.Seasons.SingleOrDefault(s => s.SeasonNumber == season.SeasonNumber);