using System; using System.Collections.Generic; 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() { if (instance == null) instance = new FilterController(); return instance; } } }