List of usage examples for org.apache.commons.cli OptionGroup OptionGroup
OptionGroup
From source file:org.eclipse.jubula.app.autrun.AutRunApplication.java
/** * @return the command line options available when invoking the main method. *//* w ww. ja v a 2 s . c o m*/ private static Options createCmdLineOptions() { Options options = new Options(); Option autAgentHostOption = new Option(OPT_AUT_AGENT_HOST, true, NLS.bind(Messages.infoAutAgentHost, DEFAULT_AUT_AGENT_HOST)); autAgentHostOption.setLongOpt(OPT_AUT_AGENT_HOST_LONG); autAgentHostOption.setArgName(HOSTNAME); options.addOption(autAgentHostOption); Option autAgentPortOption = new Option(OPT_AUT_AGENT_PORT, true, NLS.bind(Messages.infoAutAgentPort, DEFAULT_AUT_AGENT_PORT)); autAgentPortOption.setLongOpt(OPT_AUT_AGENT_PORT_LONG); autAgentPortOption.setArgName(PORT); options.addOption(autAgentPortOption); OptionGroup autToolkitOptionGroup = new OptionGroup(); autToolkitOptionGroup.addOption(new Option(TK_SWING, Messages.infoSwingToolkit)); autToolkitOptionGroup.addOption(new Option(TK_SWT, Messages.infoSwtToolkit)); autToolkitOptionGroup.addOption(new Option(TK_RCP, Messages.infoRcpToolkit)); autToolkitOptionGroup.setRequired(true); options.addOptionGroup(autToolkitOptionGroup); Option autIdOption = new Option(OPT_AUT_ID, true, Messages.infoAutId); autIdOption.setLongOpt(OPT_AUT_ID_LONG); autIdOption.setArgName(ID); autIdOption.setRequired(true); options.addOption(autIdOption); Option nameTechnicalComponentsOption = new Option(OPT_NAME_TECHNICAL_COMPONENTS, true, Messages.infoGenerateTechnicalComponentNames); nameTechnicalComponentsOption.setLongOpt(OPT_NAME_TECHNICAL_COMPONENTS_LONG); nameTechnicalComponentsOption.setArgName(TRUE_FALSE); options.addOption(nameTechnicalComponentsOption); Option keyboardLayoutOption = new Option(OPT_KEYBOARD_LAYOUT, true, Messages.infoKbLayout); keyboardLayoutOption.setLongOpt(OPT_KEYBOARD_LAYOUT_LONG); keyboardLayoutOption.setArgName(LOCALE); options.addOption(keyboardLayoutOption); Option workingDirOption = new Option(OPT_WORKING_DIR, true, Messages.infoAutWorkingDirectory); workingDirOption.setLongOpt(OPT_WORKING_DIR_LONG); workingDirOption.setArgName(DIRECTORY); options.addOption(workingDirOption); Option helpOption = new Option(OPT_HELP, false, Messages.infoHelp); helpOption.setLongOpt(OPT_HELP_LONG); options.addOption(helpOption); OptionBuilder.hasArgs(); Option autExecutableFileOption = OptionBuilder.create(OPT_EXECUTABLE); autExecutableFileOption.setDescription(Messages.infoExecutableFile); autExecutableFileOption.setLongOpt(OPT_EXECUTABLE_LONG); autExecutableFileOption.setRequired(true); autExecutableFileOption.setArgName(COMMAND); options.addOption(autExecutableFileOption); return options; }
From source file:org.eclipse.jubula.app.testexec.core.TestexecClient.java
/** * {@inheritDoc}//from w w w . j a v a 2 s . co m */ protected void extendOptions(Options options, boolean req) { options.addOption(createOption(ClientTestStrings.SERVER, true, ClientTestStrings.HOSTNAME, Messages.ClientServerOpt, false)); options.addOption(createOption(ClientTestStrings.PORT, true, ClientTestStrings.PORT_NUMBER, Messages.ClientPortOpt, false)); options.addOption(createOption(ClientTestStrings.PROJECT, true, ClientTestStrings.PROJECT_NAME, Messages.ClientProjectOpt, req)); options.addOption(createOption(ClientTestStrings.PROJECT_VERSION, true, ClientTestStrings.PROJECT_VERSION_EX, Messages.ClientProjectVersionOpt, req)); options.addOption(createOption(ClientTestStrings.LANGUAGE, true, ClientTestStrings.LANGUAGE, Messages.ClientLanguageOpt, req)); options.addOption(createOption(ClientTestStrings.RESULTDIR, true, ClientTestStrings.RESULTDIR, Messages.ClientResultdirOpt, false)); options.addOption(createOption(ClientStrings.RESULT_NAME, true, ClientStrings.RESULT_NAME, Messages.ClientResultnameOpt, false)); // AUT option group (AUT Configuration / AUT ID) OptionGroup autOptionGroup = new OptionGroup(); autOptionGroup.setRequired(false); autOptionGroup.addOption(createOption(ClientTestStrings.AUT_CONFIG, true, ClientTestStrings.AUT_CONFIG, Messages.ClientAutconfigOpt, req)); autOptionGroup.addOption(createOption(ClientTestStrings.AUT_ID, true, ClientTestStrings.AUT_ID, Messages.ClientAutIdOpt, req)); options.addOptionGroup(autOptionGroup); // Test execution type option group (Test Suite / Test Job) OptionGroup testExecutionGroup = new OptionGroup(); testExecutionGroup.setRequired(req); testExecutionGroup.addOption(createOption(ClientTestStrings.TESTJOB, true, ClientTestStrings.TESTJOB, Messages.ClientTestJobOpt, req)); testExecutionGroup.addOption(createOption(ClientTestStrings.TESTSUITE, true, ClientTestStrings.TESTSUITE, Messages.ClientTestSuiteOpt, req)); options.addOptionGroup(testExecutionGroup); options.addOption(createOption(ClientTestStrings.DATA_DIR, true, ClientTestStrings.DATA_DIR_EX, Messages.ClientDataFile, false)); Option noRunOption = createOption(ClientStrings.NORUN, true, ClientStrings.NORUN_MODE, Messages.ClientNoRunOpt, false); noRunOption.setOptionalArg(true); options.addOption(noRunOption); options.addOption(createOption(ClientTestStrings.AUTO_SCREENSHOT, false, StringConstants.EMPTY, Messages.ClientAutoScreenshot, false)); options.addOption(createOption(ClientTestStrings.NO_XML_SCREENSHOT, false, StringConstants.EMPTY, Messages.ClientNoXmlScreenshot, false)); options.addOption(createOption(ClientTestStrings.TIMEOUT, true, ClientTestStrings.TIMEOUT, Messages.ClientTimeout, false)); // server option for the CLC extension options.addOption(createOption(ClientTestStrings.STARTSERVER, true, ClientTestStrings.PORT_NUMBER, Messages.ClientStartServerOpt, false)); }
From source file:org.eclipse.jubula.app.testexec.TestexecClient.java
/** * {@inheritDoc}/*from w w w . j a va 2s . c om*/ */ protected void extendOptions(Options options, boolean req) { options.addOption(createOption(ClientTestStrings.SERVER, true, ClientTestStrings.HOSTNAME, Messages.ClientServerOpt, req)); options.addOption(createOption(ClientTestStrings.PORT, true, ClientTestStrings.PORT_NUMBER, Messages.ClientPortOpt, req)); options.addOption(createOption(ClientTestStrings.PROJECT, true, ClientTestStrings.PROJECT_NAME, Messages.ClientProjectOpt, req)); options.addOption(createOption(ClientTestStrings.PROJECT_VERSION, true, ClientTestStrings.PROJECT_VERSION_EX, Messages.ClientProjectVersionOpt, req)); options.addOption(createOption(ClientTestStrings.LANGUAGE, true, ClientTestStrings.LANGUAGE, Messages.ClientLanguageOpt, req)); options.addOption(createOption(ClientTestStrings.RESULTDIR, true, ClientTestStrings.RESULTDIR, Messages.ClientResultdirOpt, req)); // AUT option group (AUT Configuration / AUT ID) OptionGroup autOptionGroup = new OptionGroup(); autOptionGroup.setRequired(false); autOptionGroup.addOption(createOption(ClientTestStrings.AUT_CONFIG, true, ClientTestStrings.AUT_CONFIG, Messages.ClientAutconfigOpt, req)); autOptionGroup.addOption(createOption(ClientTestStrings.AUT_ID, true, ClientTestStrings.AUT_ID, Messages.ClientAutIdOpt, req)); options.addOptionGroup(autOptionGroup); // Test execution type option group (Test Suite / Test Job) OptionGroup testExecutionGroup = new OptionGroup(); testExecutionGroup.setRequired(req); testExecutionGroup.addOption(createOption(ClientTestStrings.TESTJOB, true, ClientTestStrings.TESTJOB, Messages.ClientTestJobOpt, req)); testExecutionGroup.addOption(createOption(ClientTestStrings.TESTSUITE, true, ClientTestStrings.TESTSUITE, Messages.ClientTestSuiteOpt, req)); options.addOptionGroup(testExecutionGroup); options.addOption(createOption(ClientTestStrings.DATA_DIR, true, ClientTestStrings.DATA_DIR_EX, Messages.ClientDataFile, req)); options.addOption( createOption(ClientStrings.NORUN, false, StringConstants.EMPTY, Messages.ClientNoRunOpt, false)); options.addOption(createOption(ClientTestStrings.AUTO_SCREENSHOT, false, StringConstants.EMPTY, Messages.ClientAutoScreenshot, false)); options.addOption(createOption(ClientTestStrings.NO_XML_SCREENSHOT, false, StringConstants.EMPTY, Messages.ClientNoXmlScreenshot, false)); options.addOption(createOption(ClientTestStrings.TEST_EXECUTION_RELEVANT, false, StringConstants.EMPTY, Messages.ClientRelevantFlag, false)); options.addOption(createOption(ClientTestStrings.TIMEOUT, true, ClientTestStrings.TIMEOUT, Messages.ClientTimeout, false)); // server option for the CLC extension options.addOption(createOption(ClientTestStrings.STARTSERVER, true, ClientTestStrings.PORT_NUMBER, Messages.ClientStartServerOpt, false)); }
From source file:org.eclipse.jubula.client.cmd.AbstractCmdlineClient.java
/** * method to create an options object, filled with all options * @param req//from w ww . j a v a 2 s . c o m * boolean flag must be true for an required option * this is only used for printing the correct usage * @return the options */ private Options createOptions(boolean req) { Options options = new Options(); options.addOption( createOption(ClientStrings.HELP, false, StringConstants.EMPTY, Messages.ClientHelpOpt, false)); options.addOption( createOption(ClientStrings.QUIET, false, StringConstants.EMPTY, Messages.ClientQuietOpt, false)); options.addOption(createOption(ClientStrings.CONFIG, true, ClientStrings.CONFIGFILE, Messages.ClientConfigOpt, false)); OptionGroup ogConnection = new OptionGroup(); ogConnection.addOption(createOption(ClientTestStrings.DBURL, true, ClientTestStrings.DATABASE, Messages.ClientDburlOpt, false)); ogConnection.addOption(createOption(ClientTestStrings.DB_SCHEME, true, ClientTestStrings.SCHEME, Messages.ClientDbschemeOpt, false)); options.addOptionGroup(ogConnection); options.addOption(createOption(ClientTestStrings.DB_USER, true, ClientTestStrings.USER, Messages.ClientDbuserOpt, false)); options.addOption(createOption(ClientTestStrings.DB_PW, true, ClientTestStrings.PASSWORD, Messages.ClientDbpwOpt, false)); extendOptions(options, req); return options; }
From source file:org.eclipse.rdf4j.console.Console.java
public static void main(final String[] args) throws IOException { final Console console = new Console(); final Option helpOption = new Option("h", "help", false, "print this help"); final Option versionOption = new Option("v", "version", false, "print version information"); final Option serverURLOption = new Option("s", "serverURL", true, "URL of RDF4J Server to connect to, e.g. http://localhost:8080/rdf4j-server/"); final Option dirOption = new Option("d", "dataDir", true, "data dir to 'connect' to"); Option echoOption = new Option("e", "echo", false, "echoes input back to stdout, useful for logging script sessions"); Option quietOption = new Option("q", "quiet", false, "suppresses prompts, useful for scripting"); Option forceOption = new Option("f", "force", false, "always answer yes to (suppressed) confirmation prompts"); Option cautiousOption = new Option("c", "cautious", false, "always answer no to (suppressed) confirmation prompts"); Option exitOnErrorMode = new Option("x", "exitOnError", false, "immediately exit the console on the first error"); final Options options = new Options(); OptionGroup cautionGroup = new OptionGroup().addOption(cautiousOption).addOption(forceOption) .addOption(exitOnErrorMode); OptionGroup locationGroup = new OptionGroup().addOption(serverURLOption).addOption(dirOption); options.addOptionGroup(locationGroup).addOptionGroup(cautionGroup); options.addOption(helpOption).addOption(versionOption).addOption(echoOption).addOption(quietOption); CommandLine commandLine = parseCommandLine(args, console, options); handleInfoOptions(console, helpOption, versionOption, options, commandLine); console.consoleIO.setEcho(commandLine.hasOption(echoOption.getOpt())); console.consoleIO.setQuiet(commandLine.hasOption(quietOption.getOpt())); exitOnError = commandLine.hasOption(exitOnErrorMode.getOpt()); String location = handleOptionGroups(console, serverURLOption, dirOption, forceOption, cautiousOption, options, cautionGroup, locationGroup, commandLine); final String[] otherArgs = commandLine.getArgs(); if (otherArgs.length > 1) { printUsage(console.consoleIO, options); System.exit(1);//from w w w .j a v a2 s. co m } connectAndOpen(console, locationGroup.getSelected(), location, otherArgs); console.start(); }
From source file:org.esxx.Main.java
public static void main(String[] args) { // (Try to) Load embedded H2 database JDBC driver into memory try {// ww w . j a v a 2 s. c o m Class.forName("org.h2.Driver"); } catch (ClassNotFoundException ignored) { } Options opt = new Options(); OptionGroup mode_opt = new OptionGroup(); // (Remember: -u/--user, -p/--pidfile and -j/jvmargs are used by the wrapper script) mode_opt.addOption(new Option("b", "bind", true, ("Listen for FastCGI requests on " + "this <port>"))); mode_opt.addOption(new Option("A", "ajp", true, ("Listen for AJP13 requests on " + "this <port>"))); mode_opt.addOption(new Option("H", "http", true, ("Listen for HTTP requests on " + "this <port>"))); mode_opt.addOption(new Option("s", "script", false, "Force script mode.")); mode_opt.addOption(new Option("S", "shell", false, "Enter ESXX shell mode.")); mode_opt.addOption(new Option(null, "db-console", false, "Open H2's database console.")); mode_opt.addOption(new Option(null, "version", false, "Display version and exit")); opt.addOptionGroup(mode_opt); opt.addOption("n", "no-handler", true, "FCGI requests are direct, without extra handler"); opt.addOption("r", "http-root", true, "Set AJP/FCGI/HTTP root directory (or file)"); // opt.addOption("d", "enable-debugger", false, "Enable esxx.debug()"); // opt.addOption("D", "start-debugger", false, "Start debugger"); opt.addOption("?", "help", false, "Show help"); try { CommandLineParser parser = new GnuParser(); CommandLine cmd = parser.parse(opt, args, false); int fastcgi_port = -1; int ajp_port = -1; int http_port = -1; boolean run_shell = false; String[] script = null; if (cmd.hasOption('?')) { usage(opt, null, 0); } if (cmd.hasOption('b')) { fastcgi_port = Integer.parseInt(cmd.getOptionValue('b')); } else if (cmd.hasOption('A')) { ajp_port = Integer.parseInt(cmd.getOptionValue('A')); } else if (cmd.hasOption('H')) { http_port = Integer.parseInt(cmd.getOptionValue('H')); } else if (cmd.hasOption('s')) { script = cmd.getArgs(); } else if (cmd.hasOption('S')) { run_shell = true; } else if (cmd.hasOption("db-console")) { org.h2.tools.Console.main(cmd.getArgs()); return; } else if (cmd.hasOption("version")) { Properties p = new Properties(); p.loadFromXML(Main.class.getResourceAsStream("/rsrc/esxx.properties")); System.err.println(p.getProperty("version")); return; } else { // Guess execution mode by looking at FCGI_PORT String fcgi_port = System.getenv("FCGI_PORT"); if (fcgi_port != null) { fastcgi_port = Integer.parseInt(fcgi_port); } else { // Default mode is to execute a JS script script = cmd.getArgs(); } } if (script != null) { Properties p = System.getProperties(); String forever = Long.toString(3600 * 24 * 365 * 10 /* 10 years */); // "Never" unload Applications in script mode p.setProperty("esxx.cache.apps.max_age", forever); // Kill process immediately on Ctrl-C p.setProperty("esxx.app.clean_shutdown", "false"); } ESXX esxx = ESXX.initInstance(System.getProperties(), null); if (script != null || run_shell) { // Lower default log level a bit esxx.getLogger().setLevel(java.util.logging.Level.INFO); } esxx.setNoHandlerMode(cmd.getOptionValue('n', "lighttpd.*")); // Install our ResponseCache implementation // java.net.ResponseCache.setDefault(new org.esxx.cache.DBResponseCache("/tmp/ESXX.WebCache", // Integer.MAX_VALUE, // Long.MAX_VALUE, // Long.MAX_VALUE)); // Default is to serve the current directory URI fs_root_uri = ESXX.createFSRootURI(cmd.getOptionValue('r', "")); if (fastcgi_port != -1 && !cmd.hasOption('r')) { // If not provided in FastCGI mode, use ${PATH_TRANSLATED} fs_root_uri = null; } if (fastcgi_port != -1) { FCGIRequest.runServer(fastcgi_port, fs_root_uri); } else if (ajp_port != -1) { Jetty.runJettyServer(-1, ajp_port, fs_root_uri); } else if (http_port != -1) { Jetty.runJettyServer(http_port, -1, fs_root_uri); } else if (run_shell) { ShellRequest sr = new ShellRequest(); sr.initRequest(); ESXX.Workload wl = esxx.addRequest(sr, sr, -1 /* no timeout for the shell */); try { System.exit((Integer) wl.getResult()); } catch (java.util.concurrent.CancellationException ex) { ex.printStackTrace(); System.exit(5); } } else if (script != null && script.length != 0) { File file = new File(script[0]); ScriptRequest sr = new ScriptRequest(); sr.initRequest(file.toURI(), script); ESXX.Workload wl = esxx.addRequest(sr, sr, -1 /* no timeout for scripts */); try { System.exit((Integer) wl.getResult()); } catch (java.util.concurrent.CancellationException ex) { ex.printStackTrace(); System.exit(5); } } else { usage(opt, "Required argument missing", 10); } } catch (ParseException ex) { usage(opt, ex.getMessage(), 10); } catch (IOException ex) { System.err.println("I/O error: " + ex.getMessage()); System.exit(20); } catch (Exception ex) { ex.printStackTrace(); System.exit(20); } System.exit(0); }
From source file:org.glite.security.voms.admin.util.ShutdownClient.java
/** * Initializes the CLI parsing options/*from w w w . j a v a 2s . c om*/ */ private static void initOptions() { OptionGroup og = new OptionGroup(); og.addOption(new Option(ARG_VO, true, ARG_VO_DESC)); og.addOption(new Option(ARG_PORT, true, ARG_PORT_DESC)); cliOptions.addOptionGroup(og); cliOptions.addOption(new Option(ARG_PASSWORD, true, ARG_PASSWORD_DESC)); }
From source file:org.goobi.eadmgr.Cli.java
@Override @SuppressWarnings("AccessStaticViaInstance") // workaround for screwed OptionBuilder API public void initOptions() { options = new Options(); // mutually exclusive main commands OptionGroup mainCommands = new OptionGroup(); mainCommands.addOption(new Option("h", "help", false, "Print this usage information")); mainCommands.addOption(//from w ww . j ava2s . c o m new Option("l", "list-folder-ids", false, "List all folder IDs available for process creation.")); mainCommands.addOption(new Option("c", "create-process", true, "Extracted data for given folder ID as process creation message to configured ActiveMQ server.")); options.addOptionGroup(mainCommands); // additional switches options.addOption(OptionBuilder.withLongOpt("validate").withDescription( "Validate XML structure of the EAD document. Exits with error code 1 if validation fails. Can be used without other commands for just validating files.") .create()); options.addOption(OptionBuilder.withLongOpt("dry-run") .withDescription("Print folder information instead of sending it.").create()); options.addOption("v", "verbose", false, "Be verbose about what is going on."); options.addOption("u", "url", true, MessageFormat.format("ActiveMQ Broker URL. If not given the broker is contacted at \"{0}\".\n" + "Note that using the failover protocol will block the program forever if the ActiveMQ host is not reachable unless you specify the \"timeout\" parameter in the URL. See {1} for more information.", DEFAULT_BROKER_URL, ACTIVEMQ_CONFIGURING_URL)); options.addOption("q", "queue", true, MessageFormat.format( "ActiveMQ Subject Queue. If not given messages get enqueue at \"{0}\".", DEFAULT_SUBJECT_QUEUE)); options.addOption(OptionBuilder.withLongOpt("topic-queue") .withDescription(MessageFormat.format( "ActiveMQ result topic Queue. If not given wait for result message posting at \"{0}\".", DEFAULT_RESULT_TOPIC)) .hasArg().create()); options.addOption("t", "template", true, MessageFormat .format("Goobi Process Template name. If not given \"{0}\" is used.", DEFAULT_PROCESS_TEMPLATE)); options.addOption("d", "doctype", true, MessageFormat.format("Goobi Doctype name. If not given \"{0}\" is used.", DEFAULT_DOCTYPE)); options.addOption(OptionBuilder.withLongOpt("use-folder-id").withDescription( "Use folder ID when generating ActiveMQ Message IDs. If not given a random 128 bit universally unique identifier (UUID) is generated.") .create()); options.addOption(OptionBuilder.withLongOpt("collection") .withDescription("Name of a collection to which the newly created process should be assigned.") .hasArg().create("C")); options.addOption(OptionBuilder .withDescription( "User defined option in the form of <key>=<value> to append to the ActiveMQ message.") .hasArgs().create("O")); options.addOption("x", "extraction-profile", true, MessageFormat.format( "XSLT EAD extraction profile name. Either an absolute pathname or a file that can be found on the classpath. If not given \"{0}\" is used.", DEFAULT_EXTRACTION_PROFILE)); }
From source file:org.hashes.ui.CliOption.java
/** * Build all command line options.//www .j a v a 2s . c om * * @return command line options */ public static Options buildOptions() { final OptionGroup lang = new OptionGroup(); lang.setRequired(false); lang.addOption(PHP.getOption()); lang.addOption(JAVA.getOption()); lang.addOption(ASP.getOption()); lang.addOption(V8.getOption()); final Options options = new Options(); options.addOption(HELP.getOption()); options.addOption(PROGRESS_BAR.getOption()); options.addOption(SAVE_KEYS.getOption()); options.addOption(WAIT.getOption()); options.addOption(NEW.getOption()); options.addOption(KEYS.getOption()); options.addOption(REQUESTS.getOption()); options.addOption(CLIENTS.getOption()); options.addOption(CONNECTION_TIMEOUT.getOption()); options.addOption(READ_TIMEOUT.getOption()); options.addOption(MITM_WORKER_THREADS.getOption()); options.addOption(HEADER.getOption()); options.addOptionGroup(lang); return options; }
From source file:org.itstechupnorth.walrus.ActOption.java
@Override public void addTo(Options options) { final OptionGroup group = new OptionGroup(); for (Opt opt : Opt.values()) { group.addOption(opt.option());/*w ww . j a va2s.c o m*/ } options.addOptionGroup(group); }