From a4ec62043ceca8e17e1a21f12baf22f0b9a036a5 Mon Sep 17 00:00:00 2001 From: jvilalta Date: Thu, 17 Feb 2011 14:12:13 -0600 Subject: [PATCH] include loading of calendars and refactor some of the registry code. --- ClickForensics.Quartz.Manager/MainForm.cs | 11 ++++ .../RegistryStore.cs | 59 +++++++++++++------ .../ServerConnectForm.cs | 1 + 3 files changed, 54 insertions(+), 17 deletions(-) diff --git a/ClickForensics.Quartz.Manager/MainForm.cs b/ClickForensics.Quartz.Manager/MainForm.cs index 46574b5..12ef5df 100644 --- a/ClickForensics.Quartz.Manager/MainForm.cs +++ b/ClickForensics.Quartz.Manager/MainForm.cs @@ -155,6 +155,7 @@ namespace ClickForensics.Quartz.Manager StripStatusLabel_Job_Groups.Text = DateTime.Now.ToString("yyyy.MM.dd HH:mm.ss"); loadOrphanJobs(schedulerNode); loadStuckTriggers(schedulerNode); + loadCalendars(schedulerNode); } finally { @@ -164,6 +165,16 @@ namespace ClickForensics.Quartz.Manager } + private static void loadCalendars(SchedulerNode schedulerNode) + { + TreeNode calendarsNode = schedulerNode.Nodes.Add("Calendars"); + foreach (var calendarName in schedulerNode.Scheduler.GetScheduler().GetCalendarNames()) + { + //TODO: make this a calendar node instead + calendarsNode.Nodes.Add(calendarName); + } + } + private void loadStuckTriggers(SchedulerNode schedulerNode) { TreeNode jobGroupsNode = schedulerNode.Nodes.Add("Stuck Triggers"); diff --git a/ClickForensics.Quartz.Manager/RegistryStore.cs b/ClickForensics.Quartz.Manager/RegistryStore.cs index 0b8095f..31f6bdd 100644 --- a/ClickForensics.Quartz.Manager/RegistryStore.cs +++ b/ClickForensics.Quartz.Manager/RegistryStore.cs @@ -13,37 +13,62 @@ namespace ClickForensics.Quartz.Manager { List lastConnections = new List(); - RegistryKey key = Registry.CurrentUser.CreateSubKey("QuartzNetManager").CreateSubKey("MRUList"); - if (key != null) + RegistryKey managerKey = Registry.CurrentUser.CreateSubKey("QuartzNetManager"); + RegistryKey key = null; + if (managerKey == null) { - for (int i = 0; i < 5; i++) + return lastConnections; + } + + key = managerKey.CreateSubKey("MRUList"); + + if (key == null) + { + return lastConnections; + } + + for (int i = 0; i < 5; i++) + { + ConnectionInfo info = ConnectionInfo.Parse((key.GetValue(string.Format("connection{0}", i), null) as string)); + if (info != null) { - ConnectionInfo info = ConnectionInfo.Parse((key.GetValue(string.Format("connection{0}", i), null) as string)); - if (info != null) - { - lastConnections.Add(info); - } + lastConnections.Add(info); } } + key.Close(); + managerKey.Close(); + return lastConnections; } public static void AddConnection(ConnectionInfo info) { - RegistryKey key = Registry.CurrentUser.CreateSubKey("QuartzNetManager").CreateSubKey("MRUList"); - if (key != null) + RegistryKey managerKey = Registry.CurrentUser.CreateSubKey("QuartzNetManager"); + RegistryKey key = null; + if (managerKey == null) { - for (int i = 4; i > 0; i--) + return; + } + + key = managerKey.CreateSubKey("MRUList"); + + if (key == null) + { + return; + } + //TODO: check that the key doesn't exist before trying to add. if it exists, move it to the top, but don't add it + + for (int i = 4; i > 0; i--) + { + var previous = key.GetValue(string.Format("connection{0}", i - 1), null); + if (previous != null) { - var previous = key.GetValue(string.Format("connection{0}", i - 1), null); - if (previous != null) - { - key.SetValue(string.Format("connection{0}", i), previous); + key.SetValue(string.Format("connection{0}", i), previous); - } } - key.SetValue("connection0", info, RegistryValueKind.String); } + key.SetValue("connection0", info, RegistryValueKind.String); + } private static object lockObject = new object(); } diff --git a/ClickForensics.Quartz.Manager/ServerConnectForm.cs b/ClickForensics.Quartz.Manager/ServerConnectForm.cs index bb9ab47..03efa3a 100644 --- a/ClickForensics.Quartz.Manager/ServerConnectForm.cs +++ b/ClickForensics.Quartz.Manager/ServerConnectForm.cs @@ -15,6 +15,7 @@ namespace ClickForensics.Quartz.Manager { InitializeComponent(); cboServer.DataSource = RegistryStore.GetLastConnections(); + cboServer.DisplayMember = "ServerName"; } private void btnCancel_Click(object sender, EventArgs e)