diff --git a/ClickForensics.Quartz.Manager/AddJobForm.cs b/ClickForensics.Quartz.Manager/AddJobForm.cs index b876cd1..3ff1e99 100644 --- a/ClickForensics.Quartz.Manager/AddJobForm.cs +++ b/ClickForensics.Quartz.Manager/AddJobForm.cs @@ -1,178 +1,178 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Windows.Forms; -using Quartz; -using System.Reflection; -using Quartz.Impl; -using Quartz.Impl.Triggers; -using Quartz.Job; -using System.IO; -using Quartz.Util; - -namespace ClickForensics.Quartz.Manager -{ - public partial class AddJobForm : Form - { - public AddJobForm() - { - InitializeComponent(); - loadJobAssemblies(); - cboTriggerType.Items.Add("Cron"); - cboTriggerType.SelectedItem = "Cron"; - if (cboJobType.SelectedText == "NativeJob") - { - jobDataListView.Items.Add(new ListViewItem(new string[] { "consumeStreams", "true" })); - jobDataListView.Items.Add(new ListViewItem(new string[] { "waitForProcess", "true" })); - txtKey.Text = "command"; - } - } - private void loadJobAssemblies() - { - var assemblies = AssemblyRepository.GetAssemblies(); - SortedList jobTypes = new SortedList(); +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using Quartz; +using System.Reflection; +using Quartz.Impl; +using Quartz.Impl.Triggers; +using Quartz.Job; +using System.IO; +using Quartz.Util; + +namespace ClickForensics.Quartz.Manager +{ + public partial class AddJobForm : Form + { + public AddJobForm() + { + InitializeComponent(); + loadJobAssemblies(); + cboTriggerType.Items.Add("Cron"); + cboTriggerType.SelectedItem = "Cron"; + if (cboJobType.SelectedText == "NativeJob") + { + jobDataListView.Items.Add(new ListViewItem(new string[] { "consumeStreams", "true" })); + jobDataListView.Items.Add(new ListViewItem(new string[] { "waitForProcess", "true" })); + txtKey.Text = "command"; + } + } + private void loadJobAssemblies() + { + var assemblies = AssemblyRepository.GetAssemblies(); + SortedList jobTypes = new SortedList(); foreach (var assemblyName in assemblies) - { + { Assembly assembly = Assembly.LoadFile(Environment.CurrentDirectory + "\\" + assemblyName); - foreach (Type type in assembly.GetTypes()) - { - if (typeof(IJob).IsAssignableFrom(type) && type.IsClass) - { - jobTypes.Add(type.FullName, assembly.GetName().Name); - } - } - } - foreach (var item in jobTypes) - { - cboJobType.Items.Add(new JobType() { AssemblyName = item.Value, FullName = item.Key }); - } - //cboJobType.Items.AddRange(jobTypes.Values.ToArray()); - - } - - public AddJobForm(TriggerNode node) - : this() - { - setTriggerData((CronTriggerImpl)node.Trigger); - setJobData(((JobNode)node.Parent.Parent).Detail); - } - - private void setTriggerData(CronTriggerImpl trigger) - { - setTriggerType(); - txtCronExpression.Text = trigger.CronExpressionString; - txtTriggerDescription.Text = trigger.Description; - txtTriggerGroup.Text = trigger.Key.Group; - txtTriggerName.Text = trigger.Key.Name; - } - - private void setJobData(IJobDetail detail) - { - setJobType(detail); - txtJobDescription.Text = detail.Description; - txtJobGroup.Text = detail.Key.Group; - txtJobName.Text = detail.Key.Name; - setJobDataMap(detail); - } - - private void setJobDataMap(IJobDetail detail) - { - jobDataListView.Items.Clear(); - foreach (var item in detail.JobDataMap.GetKeys()) - { - jobDataListView.Items.Add(new ListViewItem(new string[] { item, detail.JobDataMap.Get(item).ToString() })); - } - } - - private void setJobType(IJobDetail detail) - { - cboJobType.SelectedItem = detail.JobType.FullName; - - } - - private void setTriggerType() - { - //nothing to do right now - } - public IJobDetail JobDetail { get; set; } - public AbstractTrigger Trigger { get; set; } - private void btnCancel_Click(object sender, EventArgs e) - { - this.Close(); - } - - private void btnAdd_Click(object sender, EventArgs e) - { - JobDetail = getJobDetail(); - ITrigger trigger = getTrigger(JobDetail); - this.Close(); - } - - private IJobDetail getJobDetail() - { - IJobDetail detail = JobBuilder - .NewJob() - .OfType(getJobType()) - .WithDescription(txtJobDescription.Text) - .WithIdentity(new JobKey(txtJobName.Text, txtJobGroup.Text)) - .UsingJobData(getJobDataMap()) - .Build(); - - return detail; - } - - private ITrigger getTrigger(IJobDetail jobDetail) - { - var builder = - TriggerBuilder - .Create() - .ForJob(jobDetail) - .WithDescription(txtTriggerDescription.Text) - .WithIdentity(new TriggerKey(txtTriggerName.Text, txtTriggerGroup.Text)); - - if (cboTriggerType.SelectedText == "Simple") - { - return builder.WithSchedule(SimpleScheduleBuilder.Create()).Build(); - } - else - { - return builder.WithSchedule(CronScheduleBuilder.CronSchedule(txtCronExpression.Text)).Build(); - } - } - - private Type getJobType() - { - JobType type = (JobType)cboJobType.SelectedItem; - return Type.GetType(type.FullName + "," + type.AssemblyName, true); - } - - private JobDataMap getJobDataMap() - { - JobDataMap map = new JobDataMap(); - foreach (ListViewItem item in jobDataListView.Items) - { - map.Add(item.SubItems[0].Text, item.SubItems[1].Text); - } - - return map; - } - - private void btnAddKeyValue_Click(object sender, EventArgs e) - { - ListViewItem item = new ListViewItem(new string[] { txtKey.Text, txtValue.Text }); - jobDataListView.Items.Add(item); - } - - private void btnDelete_Click(object sender, EventArgs e) - { - foreach (ListViewItem item in jobDataListView.SelectedItems) - { - jobDataListView.Items.Remove(item); - } - } - } -} + foreach (Type type in assembly.GetTypes()) + { + if (typeof(IJob).IsAssignableFrom(type) && type.IsClass) + { + jobTypes.Add(type.FullName, assembly.GetName().Name); + } + } + } + foreach (var item in jobTypes) + { + cboJobType.Items.Add(new JobType() { AssemblyName = item.Value, FullName = item.Key }); + } + //cboJobType.Items.AddRange(jobTypes.Values.ToArray()); + + } + + public AddJobForm(TriggerNode node) + : this() + { + setTriggerData((CronTriggerImpl)node.Trigger); + setJobData(((JobNode)node.Parent.Parent).Detail); + } + + private void setTriggerData(CronTriggerImpl trigger) + { + setTriggerType(); + txtCronExpression.Text = trigger.CronExpressionString; + txtTriggerDescription.Text = trigger.Description; + txtTriggerGroup.Text = trigger.Key.Group; + txtTriggerName.Text = trigger.Key.Name; + } + + private void setJobData(IJobDetail detail) + { + setJobType(detail); + txtJobDescription.Text = detail.Description; + txtJobGroup.Text = detail.Key.Group; + txtJobName.Text = detail.Key.Name; + setJobDataMap(detail); + } + + private void setJobDataMap(IJobDetail detail) + { + jobDataListView.Items.Clear(); + foreach (var item in detail.JobDataMap.GetKeys()) + { + jobDataListView.Items.Add(new ListViewItem(new string[] { item, detail.JobDataMap.Get(item).ToString() })); + } + } + + private void setJobType(IJobDetail detail) + { + cboJobType.SelectedItem = detail.JobType.FullName; + + } + + private void setTriggerType() + { + //nothing to do right now + } + public IJobDetail JobDetail { get; set; } + public ITrigger Trigger { get; set; } + private void btnCancel_Click(object sender, EventArgs e) + { + this.Close(); + } + + private void btnAdd_Click(object sender, EventArgs e) + { + JobDetail = getJobDetail(); + Trigger = getTrigger(JobDetail); + this.Close(); + } + + private IJobDetail getJobDetail() + { + IJobDetail detail = JobBuilder + .NewJob() + .OfType(getJobType()) + .WithDescription(txtJobDescription.Text) + .WithIdentity(new JobKey(txtJobName.Text, txtJobGroup.Text)) + .UsingJobData(getJobDataMap()) + .Build(); + + return detail; + } + + private ITrigger getTrigger(IJobDetail jobDetail) + { + var builder = + TriggerBuilder + .Create() + .ForJob(jobDetail) + .WithDescription(txtTriggerDescription.Text) + .WithIdentity(new TriggerKey(txtTriggerName.Text, txtTriggerGroup.Text)); + + if (cboTriggerType.SelectedText == "Simple") + { + return builder.WithSchedule(SimpleScheduleBuilder.Create()).Build(); + } + else + { + return builder.WithSchedule(CronScheduleBuilder.CronSchedule(txtCronExpression.Text)).Build(); + } + } + + private Type getJobType() + { + JobType type = (JobType)cboJobType.SelectedItem; + return Type.GetType(type.FullName + "," + type.AssemblyName, true); + } + + private JobDataMap getJobDataMap() + { + JobDataMap map = new JobDataMap(); + foreach (ListViewItem item in jobDataListView.Items) + { + map.Add(item.SubItems[0].Text, item.SubItems[1].Text); + } + + return map; + } + + private void btnAddKeyValue_Click(object sender, EventArgs e) + { + ListViewItem item = new ListViewItem(new string[] { txtKey.Text, txtValue.Text }); + jobDataListView.Items.Add(item); + } + + private void btnDelete_Click(object sender, EventArgs e) + { + foreach (ListViewItem item in jobDataListView.SelectedItems) + { + jobDataListView.Items.Remove(item); + } + } + } +}