From 8cb386b0d20ab4b79d199c983c44441ecaebdd21 Mon Sep 17 00:00:00 2001
From: ?? ? <ulysseskao@ximple.com.tw>
Date: Thu, 07 Aug 2008 16:09:09 +0800
Subject: [PATCH] update for EOFM-141, EOFM-142

---
 xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 112 insertions(+), 1 deletions(-)

diff --git a/xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java b/xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java
index 84a41e5..3e943ae 100644
--- a/xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java
+++ b/xdgnjobs/ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java
@@ -1,9 +1,20 @@
 package com.ximple.eofms;
 
 import java.util.Date;
+import javax.swing.JFrame;
+import javax.swing.SwingUtilities;
 
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.CommandLineParser;
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.OptionBuilder;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
+import org.apache.commons.cli.PosixParser;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.awl.Wizard;
 import org.quartz.JobDetail;
 import org.quartz.Scheduler;
 import org.quartz.SchedulerException;
@@ -19,11 +30,111 @@
 public class XQuartzJobCarrier
 {
     static Log logger = LogFactory.getLog(XQuartzJobCarrier.class);
+    static Options options = new Options();
+
+    private static final String VERSION = "0.8.0";
 
     public static void main(String[] args)
     {
         XQuartzJobCarrier instance = new XQuartzJobCarrier();
-        instance.startScheduler();
+        instance.initializeOption();
+        instance.execute(args);
+    }
+
+    private void initializeOption()
+    {
+        Option option;
+        option = OptionBuilder.create("help");
+        option.setDescription("print this message");
+        options.addOption(option);
+
+        option = OptionBuilder.create("version");
+        option.setDescription("print the version information and exit");
+        options.addOption(option);
+
+        option = OptionBuilder.create("wizard");
+        option.setDescription("start wizard mode");
+        options.addOption(option);
+
+        option = OptionBuilder.create("verbose");
+        option.setDescription("be extra verbose");
+        options.addOption(option);
+
+        option = OptionBuilder.create("debug");
+        option.setDescription("print debugging information");
+        options.addOption(option);
+
+        option = OptionBuilder.create("jobfile");
+        option.setDescription("use given jobfile");
+        option.setArgName("file");
+        options.addOption(option);
+
+    }
+
+    private void execute(String[] args)
+    {
+        // CommandLineParser parser = new GnuParser();
+        CommandLineParser parser = new PosixParser();
+        CommandLine commandLine = null;
+        try
+        {
+            // parse the command commandLine arguments
+            commandLine = parser.parse(options, args);
+        }
+        catch (ParseException exp)
+        {
+            // oops, something went wrong
+            System.err.println("Parsing failed.  Reason: " + exp.getMessage());
+        }
+
+        if ((commandLine != null) && (commandLine.getOptions().length > 0))
+        {
+            if (commandLine.hasOption("help"))
+            {
+                printHelpMessage();
+            } else if (commandLine.hasOption("version"))
+            {
+                printVersionMessage();
+            } else if (commandLine.hasOption("wizard"))
+            {
+                startWizardMode();
+            }
+            return;
+        }
+        startScheduler();
+    }
+
+    private void printHelpMessage()
+    {
+        HelpFormatter formatter = new HelpFormatter();
+        formatter.printHelp("XQuartzJobCarrier", options);
+    }
+
+    private void printVersionMessage()
+    {
+        System.out.println("XQuartzJobCarrier - " + VERSION);
+    }
+
+    public void startWizardMode()
+    {
+        Runnable runnable = new Runnable()
+        {
+            public void run()
+            {
+                Wizard wizard = new XQuartzJobWizard((JFrame) null);
+
+                wizard.pack();
+                wizard.setVisibleOnCenterOfScreen();
+            }
+        };
+        try
+        {
+            SwingUtilities.invokeLater(runnable);
+        }
+        catch (Exception ex)
+        {
+            ex.printStackTrace();
+        }
     }
 
     public void startScheduler()

--
Gitblit v0.0.0-SNAPSHOT