From 2d9bdb5b8eeab30e7bdac98448db96ef8f71410b Mon Sep 17 00:00:00 2001 From: jvilalta Date: Thu, 10 Mar 2011 13:55:10 -0600 Subject: [PATCH] implement looking up of orphan jobs --- ClickForensics.Quartz.Manager/MainForm.cs | 25 ++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/ClickForensics.Quartz.Manager/MainForm.cs b/ClickForensics.Quartz.Manager/MainForm.cs index 32497b0..e525367 100644 --- a/ClickForensics.Quartz.Manager/MainForm.cs +++ b/ClickForensics.Quartz.Manager/MainForm.cs @@ -184,9 +184,32 @@ namespace ClickForensics.Quartz.Manager private void loadOrphanJobs(SchedulerNode schedulerNode) { - TreeNode jobGroupsNode = schedulerNode.Nodes.Add("Orphan Jobs"); + TreeNode orphanJobsNode = schedulerNode.Nodes.Add("Orphan Jobs"); + var groupNames = schedulerNode.Scheduler.GetScheduler().GetJobGroupNames(); + foreach (var jobGroupName in groupNames) + { + var matcher = GroupMatcher.GroupEquals(jobGroupName); + var jobKeys = schedulerNode.Scheduler.GetScheduler().GetJobKeys(matcher); + foreach (var jobKey in jobKeys) + { + try + { + var triggers = schedulerNode.Scheduler.GetScheduler().GetTriggersOfJob(jobKey); + if (triggers.Count == 0) + { + orphanJobsNode.Nodes.Add( + new JobNode(schedulerNode.Scheduler.GetScheduler().GetJobDetail(jobKey))); + } + } + catch (Exception ex) + { + schedulerNode.Nodes.Add(string.Format("Unable to add job {0})", jobKey.Name)); + } + } + } } + private void jobDetailsToggle(bool isVisible) { if (isVisible == false)