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