--- dao/DaoMqPump2/MQFilter/FilterController.cs 2014/05/16 17:58:30 2163 +++ dao/DaoMqPump2/MQFilter/FilterController.cs 2014/05/16 19:03:46 2167 @@ -1,16 +1,80 @@ using System; using System.Collections.Generic; -using System.Text; +using System.IO; +using System.Text.RegularExpressions; + +using Microsoft.Win32; namespace MQFilter { class FilterController { + public string mqHost { get; private set; } + public string mqChannel { get; private set; } + public string mqQueueManager { get; private set; } + + public string logDirectory { get; private set; } + + public string[] filterTranscations { get; private set; } + + + protected FilterController() + { + initialize(); + } + + private void initialize() + { + Console.WriteLine("FilterController: Loading config"); + RegistryKey key = Registry.LocalMachine.CreateSubKey("Software\\DAO\\MQFilter"); + + + //Læser globale MQ Parametre + mqHost = (string)key.GetValue("MQHost"); + if (mqHost == null || mqHost.Length == 0) + throw new System.ArgumentException("MQHost cannot be null or empty"); + + mqChannel = (string)key.GetValue("MQChannel"); + if (mqChannel == null || mqChannel.Length == 0) + throw new System.ArgumentException("MQChannel cannot be null or empty"); + + mqQueueManager = (string)key.GetValue("MQQueueManager"); + if (mqQueueManager == null || mqQueueManager.Length == 0) + throw new System.ArgumentException("MQQueueManager cannot be null or empty"); + + //Læser øvrige parametre + + logDirectory = (string)key.GetValue("LogDirectory"); + if (logDirectory == null || logDirectory.Length == 0) + throw new System.ArgumentException("LogDirectory cannot be null or empty"); + + String tmpFilterTransactions = (string)key.GetValue("FilterTransactions"); + if (tmpFilterTransactions == null || tmpFilterTransactions.Length == 0) + throw new System.ArgumentException("LogDirectory cannot be null or empty"); + filterTranscations = Regex.Split( tmpFilterTransactions, "," ); + + for (int i = 0; i < filterTranscations.Length; i++) + { + filterTranscations[i] = filterTranscations[i].Trim(); + } + + + if (Directory.Exists(logDirectory) == false) + { + Directory.CreateDirectory(logDirectory); + } + + } + + + public void transportAllMessages() { } + + /* Singleton */ private static FilterController instance = null; public static FilterController getInstance()