From 871a55cd22f4fc54374a63ffdbef97b52c70b99a Mon Sep 17 00:00:00 2001 From: Tommy Parnell Date: Mon, 20 Oct 2014 12:42:23 -0400 Subject: [PATCH] use settings object --- src/NOCQ.Application/Program.cs | 3 ++- src/NOCQ/DB/RedisDatabase.cs | 27 +++++++++++++++++---------- src/NOCQ/NOCQ.csproj | 6 +++--- src/NOCQ/Settings/RedisSettings.cs | 10 +++++----- 4 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/NOCQ.Application/Program.cs b/src/NOCQ.Application/Program.cs index be77610..8923a14 100644 --- a/src/NOCQ.Application/Program.cs +++ b/src/NOCQ.Application/Program.cs @@ -7,13 +7,14 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using NOCQ.Extensability; +using System.IO; namespace NOCQ.Application { class MainClass { public static void Main (string[] args) { - var s = RedisDatabase.GetNextAlert("127.0.0.1", RedisQueues.Input, 6379, 3000); + var s = RedisDatabase.GetNextAlert(SettingsParser.SettingsFile(File.ReadAllText(Path.Combine(".","settings.json")))); // process s var importPlugs = CatalogRepository.GetImportPlugins(); diff --git a/src/NOCQ/DB/RedisDatabase.cs b/src/NOCQ/DB/RedisDatabase.cs index 2057496..76c1395 100644 --- a/src/NOCQ/DB/RedisDatabase.cs +++ b/src/NOCQ/DB/RedisDatabase.cs @@ -3,36 +3,43 @@ using ctstone.Redis; using System.Threading.Tasks; using System.Configuration; using Newtonsoft.Json; +using NOCQ.Settings; + + namespace NOCQ { public sealed class RedisDatabase { + private string host { get; set; } + private string q { get; set; } + private string port {get;set;} + private int timeout { get; set;} public RedisDatabase(){} - public static void SaveAlert(Alert alert, string host, string q, int port, int timeout) + public static void SaveAlert(Alert alert, RedisSettings setting) { - using (var redis = new RedisClient(host, - port, - timeout + using (var redis = new RedisClient(setting.Hostname, + setting.Port, + setting.Timeout )) { - redis.LPush(q, JsonConvert.SerializeObject(alert)); + redis.LPush(setting.InputQueue, JsonConvert.SerializeObject(alert)); } } - public static Alert GetNextAlert(string host, string q, int port, int timeout ) + public static Alert GetNextAlert(RedisSettings setting) { - using (var redis = new RedisClient(host, - port, - timeout + using (var redis = new RedisClient(setting.Hostname, + setting.Port, + setting.Timeout )) { - var ts = redis.RPop(q); + var ts = redis.RPop(setting.OutputQueue); return JsonConvert.DeserializeObject(ts); diff --git a/src/NOCQ/NOCQ.csproj b/src/NOCQ/NOCQ.csproj index 8bfc818..9c003ed 100644 --- a/src/NOCQ/NOCQ.csproj +++ b/src/NOCQ/NOCQ.csproj @@ -3,8 +3,6 @@ Debug AnyCPU - 10.0.0 - 2.0 {83651B7D-B58F-46B8-BFE2-BCC0A6C92C7A} Library NOCQ @@ -72,7 +70,9 @@ EmailSettings.cs - + + RedisDatabase.cs + diff --git a/src/NOCQ/Settings/RedisSettings.cs b/src/NOCQ/Settings/RedisSettings.cs index 884db5f..6cb35cd 100644 --- a/src/NOCQ/Settings/RedisSettings.cs +++ b/src/NOCQ/Settings/RedisSettings.cs @@ -4,11 +4,11 @@ namespace NOCQ.Settings { public class RedisSettings { - public string hostname {get;set;} - public string port {get;set;} - public string timeout{get;set;} - public string inputQueue{get;set;} - public string outputQueue{get;set;} + public string Hostname {get;set;} + public int Port {get;set;} + public int Timeout{get;set;} + public string InputQueue{get;set;} + public string OutputQueue{get;set;} } }