Author: [log in to unmask]
Date: Tue Dec 8 20:42:25 2015
New Revision: 3692
Log:
Make definition of CL options accessible to sub-classes.
Modified:
projects/lcsim/branches/jeremy-dev/job-manager/src/main/java/org/lcsim/job/JobControlManager.java
Modified: projects/lcsim/branches/jeremy-dev/job-manager/src/main/java/org/lcsim/job/JobControlManager.java
=============================================================================
--- projects/lcsim/branches/jeremy-dev/job-manager/src/main/java/org/lcsim/job/JobControlManager.java (original)
+++ projects/lcsim/branches/jeremy-dev/job-manager/src/main/java/org/lcsim/job/JobControlManager.java Tue Dec 8 20:42:25 2015
@@ -87,7 +87,7 @@
/**
* The command line options.
*/
- private static final Options OPTIONS = createCommandLineOptions();
+ private Options options;
/**
* The regular expression for extracting the variables from an XML file.
@@ -99,8 +99,8 @@
*
* @return The command line options for the manager.
*/
- private static Options createCommandLineOptions() {
- final Options options = new Options();
+ protected Options createCommandLineOptions() {
+ options = new Options();
options.addOption(new Option("h", "help", false, "Print help and exit"));
options.addOption(new Option("p", "properties", true, "Load a properties file containing variable definitions"));
options.addOption(new Option("D", "define", true, "Define a variable with form [name]=[value]"));
@@ -116,7 +116,11 @@
options.addOption(new Option("R", "run", true, "user supplied run number (careful!)"));
return options;
}
-
+
+ public Options getOptions() {
+ return options;
+ }
+
/**
* Get the Java primitive type class from a type name.
*
@@ -170,10 +174,10 @@
/**
* Print help and exit.
*/
- private static void printHelp() {
+ private void printHelp() {
LOGGER.info("java " + JobControlManager.class.getCanonicalName() + " [options] steeringFile.xml");
final HelpFormatter help = new HelpFormatter();
- help.printHelp(" ", OPTIONS);
+ help.printHelp(" ", options);
System.exit(1);
}
@@ -504,16 +508,19 @@
*
* @param args The command line arguments.
*/
- public void parse(final String args[]) {
+ public CommandLine parse(final String args[]) {
LOGGER.config("parsing command line arguments");
+ // Create command line options.
+ createCommandLineOptions();
+
// Setup parser.
final CommandLineParser parser = new PosixParser();
// Parse the command line arguments.
try {
- commandLine = parser.parse(OPTIONS, args);
+ commandLine = parser.parse(options, args);
} catch (final ParseException x) {
throw new RuntimeException("Problem parsing command line options.", x);
}
@@ -664,6 +671,8 @@
LOGGER.config("initializing from steering file " + xmlRunControlFile.getPath());
this.setup(xmlRunControlFile);
}
+
+ return commandLine;
}
/**
########################################################################
Use REPLY-ALL to reply to list
To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1
|