List of usage examples for org.apache.commons.cli OptionGroup addOption
public OptionGroup addOption(Option option)
Option
to this group. From source file:com.github.jmabuin.blaspark.examples.options.GeneralOptions.java
public Options initOptions() { Options privateOptions = new Options(); OptionGroup general = new OptionGroup(); // Options: h, d, s, c, j, i, l, o, b, p // Help/* w w w. j a v a 2 s . com*/ Option help = new Option("h", "help", false, "Shows documentation"); general.addOption(help); privateOptions.addOptionGroup(general); // Operations OptionGroup operations = new OptionGroup(); Option dmxv = new Option("d", "dmxv", false, "Performs a distributed dense matrix dot vector operation"); operations.addOption(dmxv); Option smxv = new Option("s", "smxv", false, "Performs a distributed sparse matrix dot vector operation"); operations.addOption(smxv); Option conjGrad = new Option("c", "conjGrad", false, "Solves a system by using the conjugate gradient method"); operations.addOption(conjGrad); Option jacobi = new Option("j", "jacobi", false, "Solves a system by using the Jacobi method"); operations.addOption(jacobi); Option dmxdm = new Option("m", "dmxdm", false, "Performs a distributed dense matrix dot distributed dense matrix operation"); operations.addOption(dmxdm); privateOptions.addOptionGroup(operations); // Number of iterations for CG Option iteration = new Option("i", "iteration", true, "Number of iterations to perform the conjugate gradient method"); privateOptions.addOption(iteration); // Matrix formats OptionGroup matrixFormat = new OptionGroup(); Option pairLine = new Option("l", "pairLine", false, "The matrix format will be a IndexedRowMatrix"); matrixFormat.addOption(pairLine); Option coordinate = new Option("o", "coordinate", false, "The matrix format will be a CoordinateMatrix"); matrixFormat.addOption(coordinate); Option blocked = new Option("b", "blocked", false, "The matrix format will be a BlockMatrix"); matrixFormat.addOption(blocked); privateOptions.addOptionGroup(matrixFormat); // Partition number Option partitions = new Option("p", "partitions", true, "Number of partitions to divide the matrix"); privateOptions.addOption(partitions); // Rows and cols per block for blocked format Option rowsPerBlock = new Option(null, "rows", true, "Number of rows for block in BlockMatrix format"); privateOptions.addOption(rowsPerBlock); Option colsPerBlock = new Option(null, "cols", true, "Number of cols for block in BlockMatrix format"); privateOptions.addOption(colsPerBlock); // Alpha and beta for DMxV operation Option alpha = new Option(null, "alpha", true, "Alpha value for DMxV example"); privateOptions.addOption(alpha); Option beta = new Option(null, "beta", true, "Beta value for DMxV example"); privateOptions.addOption(beta); return privateOptions; }
From source file:mod.org.dcm4che2.tool.DcmSnd.java
private static CommandLine parse(String[] args) { Options opts = new Options(); OptionBuilder.withArgName("name"); OptionBuilder.hasArg();//ww w. ja v a 2 s .c o m OptionBuilder.withDescription("set device name, use DCMSND by default"); opts.addOption(OptionBuilder.create("device")); OptionBuilder.withArgName("aet[@host][:port]"); OptionBuilder.hasArg(); OptionBuilder.withDescription("set AET, local address and listening port of local " + "Application Entity, use device name and pick up any valid " + "local address to bind the socket by default"); opts.addOption(OptionBuilder.create("L")); opts.addOption("ts1", false, "offer Default Transfer Syntax in " + "separate Presentation Context. By default offered with " + "Explicit VR Little Endian TS in one PC."); opts.addOption("fileref", false, "send objects without pixel data, but with a reference to " + "the DICOM file using DCM4CHE URI Referenced Transfer Syntax " + "to import DICOM objects on a given file system to a DCM4CHEE " + "archive."); OptionBuilder.withArgName("username"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "enable User Identity Negotiation with specified username and " + " optional passcode"); opts.addOption(OptionBuilder.create("username")); OptionBuilder.withArgName("passcode"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "optional passcode for User Identity Negotiation, " + "only effective with option -username"); opts.addOption(OptionBuilder.create("passcode")); opts.addOption("uidnegrsp", false, "request positive User Identity Negotation response, " + "only effective with option -username"); OptionBuilder.withArgName("NULL|3DES|AES"); OptionBuilder.hasArg(); OptionBuilder.withDescription("enable TLS connection without, 3DES or AES encryption"); opts.addOption(OptionBuilder.create("tls")); OptionGroup tlsProtocol = new OptionGroup(); tlsProtocol.addOption(new Option("tls1", "disable the use of SSLv3 and SSLv2 for TLS connections")); tlsProtocol.addOption(new Option("ssl3", "disable the use of TLSv1 and SSLv2 for TLS connections")); tlsProtocol.addOption(new Option("no_tls1", "disable the use of TLSv1 for TLS connections")); tlsProtocol.addOption(new Option("no_ssl3", "disable the use of SSLv3 for TLS connections")); tlsProtocol.addOption(new Option("no_ssl2", "disable the use of SSLv2 for TLS connections")); opts.addOptionGroup(tlsProtocol); opts.addOption("noclientauth", false, "disable client authentification for TLS"); OptionBuilder.withArgName("file|url"); OptionBuilder.hasArg(); OptionBuilder .withDescription("file path or URL of P12 or JKS keystore, resource:tls/test_sys_2.p12 by default"); opts.addOption(OptionBuilder.create("keystore")); OptionBuilder.withArgName("password"); OptionBuilder.hasArg(); OptionBuilder.withDescription("password for keystore file, 'secret' by default"); opts.addOption(OptionBuilder.create("keystorepw")); OptionBuilder.withArgName("password"); OptionBuilder.hasArg(); OptionBuilder .withDescription("password for accessing the key in the keystore, keystore password by default"); opts.addOption(OptionBuilder.create("keypw")); OptionBuilder.withArgName("file|url"); OptionBuilder.hasArg(); OptionBuilder.withDescription("file path or URL of JKS truststore, resource:tls/mesa_certs.jks by default"); opts.addOption(OptionBuilder.create("truststore")); OptionBuilder.withArgName("password"); OptionBuilder.hasArg(); OptionBuilder.withDescription("password for truststore file, 'secret' by default"); opts.addOption(OptionBuilder.create("truststorepw")); OptionBuilder.withArgName("aet@host:port"); OptionBuilder.hasArg(); OptionBuilder.withDescription("request storage commitment of (successfully) sent objects " + "afterwards in new association to specified remote " + "Application Entity"); opts.addOption(OptionBuilder.create("stgcmtae")); opts.addOption("stgcmt", false, "request storage commitment of (successfully) sent objects " + "afterwards in same association"); OptionBuilder.withArgName("attr=value"); OptionBuilder.hasArgs(); OptionBuilder.withValueSeparator('='); OptionBuilder.withDescription("Replace value of specified attribute " + "with specified value in transmitted objects. attr can be " + "specified by name or tag value (in hex), e.g. PatientName " + "or 00100010."); opts.addOption(OptionBuilder.create("set")); OptionBuilder.withArgName("salt"); OptionBuilder.hasArgs(); OptionBuilder.withDescription( "Anonymize the files. Set to 0 for a random anonymization (not repeatable) or 1 for a daily anonymization or another" + " value for a specific salt for reproducible anonymization (useful for allowing studies to be sent at a later date and still correctly named/associated)"); OptionBuilder.withLongOpt("anonymize"); opts.addOption(OptionBuilder.create("a")); OptionBuilder.withArgName("sx1[:sx2[:sx3]"); OptionBuilder.hasArgs(); OptionBuilder.withValueSeparator(':'); OptionBuilder.withDescription( "Suffix SOP [,Series [,Study]] " + "Instance UID with specified value[s] in transmitted objects."); opts.addOption(OptionBuilder.create("setuid")); OptionBuilder.withArgName("maxops"); OptionBuilder.hasArg(); OptionBuilder.withDescription("maximum number of outstanding operations it may invoke " + "asynchronously, unlimited by default."); opts.addOption(OptionBuilder.create("async")); opts.addOption("pdv1", false, "send only one PDV in one P-Data-TF PDU, " + "pack command and data PDV in one P-DATA-TF PDU by default."); opts.addOption("tcpdelay", false, "set TCP_NODELAY socket option to false, true by default"); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("timeout in ms for TCP connect, no timeout by default"); opts.addOption(OptionBuilder.create("connectTO")); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("delay in ms for Socket close after sending A-ABORT, " + "50ms by default"); opts.addOption(OptionBuilder.create("soclosedelay")); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("delay in ms for closing the listening socket, " + "1000ms by default"); opts.addOption(OptionBuilder.create("shutdowndelay")); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("period in ms to check for outstanding DIMSE-RSP, " + "10s by default"); opts.addOption(OptionBuilder.create("reaper")); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("timeout in ms for receiving DIMSE-RSP, 10s by default"); opts.addOption(OptionBuilder.create("rspTO")); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("timeout in ms for receiving A-ASSOCIATE-AC, 5s by default"); opts.addOption(OptionBuilder.create("acceptTO")); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("timeout in ms for receiving A-RELEASE-RP, 5s by default"); opts.addOption(OptionBuilder.create("releaseTO")); OptionBuilder.withArgName("KB"); OptionBuilder.hasArg(); OptionBuilder.withDescription("maximal length in KB of received P-DATA-TF PDUs, 16KB by default"); opts.addOption(OptionBuilder.create("rcvpdulen")); OptionBuilder.withArgName("KB"); OptionBuilder.hasArg(); OptionBuilder.withDescription("maximal length in KB of sent P-DATA-TF PDUs, 16KB by default"); opts.addOption(OptionBuilder.create("sndpdulen")); OptionBuilder.withArgName("KB"); OptionBuilder.hasArg(); OptionBuilder.withDescription("set SO_RCVBUF socket option to specified value in KB"); opts.addOption(OptionBuilder.create("sorcvbuf")); OptionBuilder.withArgName("KB"); OptionBuilder.hasArg(); OptionBuilder.withDescription("set SO_SNDBUF socket option to specified value in KB"); opts.addOption(OptionBuilder.create("sosndbuf")); OptionBuilder.withArgName("KB"); OptionBuilder.hasArg(); OptionBuilder.withDescription("transcoder buffer size in KB, 1KB by default"); opts.addOption(OptionBuilder.create("bufsize")); OptionBuilder.withArgName("count"); OptionBuilder.hasArg(); OptionBuilder.withDescription("Batch size - Number of files to be sent in each batch, " + "where a storage commit is done between batches "); opts.addOption(OptionBuilder.create("batchsize")); opts.addOption("lowprior", false, "LOW priority of the C-STORE operation, MEDIUM by default"); opts.addOption("highprior", false, "HIGH priority of the C-STORE operation, MEDIUM by default"); opts.addOption("h", "help", false, "print this message"); opts.addOption("V", "version", false, "print the version information and exit"); CommandLine cl = null; try { cl = new GnuParser().parse(opts, args); } catch (ParseException e) { exit("dcmsnd: " + e.getMessage()); throw new RuntimeException("unreachable"); } if (cl.hasOption('V')) { Package p = DcmSnd.class.getPackage(); System.out.println("dcmsnd v" + p.getImplementationVersion()); System.exit(0); } if (cl.hasOption('h') || cl.getArgList().size() < 2) { HelpFormatter formatter = new HelpFormatter(); formatter.printHelp(USAGE, DESCRIPTION, opts, EXAMPLE); System.exit(0); } return cl; }
From source file:com.upload.DcmSnd.java
private static CommandLine parse(String[] args) { Options opts = new Options(); OptionBuilder.withArgName("name"); OptionBuilder.hasArg();//from w w w . j av a 2 s . c o m OptionBuilder.withDescription("set device name, use DCMSND by default"); opts.addOption(OptionBuilder.create("device")); OptionBuilder.withArgName("aet[@host][:port]"); OptionBuilder.hasArg(); OptionBuilder.withDescription("set AET, local address and listening port of local " + "Application Entity, use device name and pick up any valid " + "local address to bind the socket by default"); opts.addOption(OptionBuilder.create("L")); opts.addOption("ts1", false, "offer Default Transfer Syntax in " + "separate Presentation Context. By default offered with " + "Explicit VR Little Endian TS in one PC."); opts.addOption("fileref", false, "send objects without pixel data, but with a reference to " + "the DICOM file using DCM4CHE URI Referenced Transfer Syntax " + "to import DICOM objects on a given file system to a DCM4CHEE " + "archive."); OptionBuilder.withArgName("username"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "enable User Identity Negotiation with specified username and " + " optional passcode"); opts.addOption(OptionBuilder.create("username")); OptionBuilder.withArgName("passcode"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "optional passcode for User Identity Negotiation, " + "only effective with option -username"); opts.addOption(OptionBuilder.create("passcode")); opts.addOption("uidnegrsp", false, "request positive User Identity Negotation response, " + "only effective with option -username"); OptionBuilder.withArgName("NULL|3DES|AES"); OptionBuilder.hasArg(); OptionBuilder.withDescription("enable TLS connection without, 3DES or AES encryption"); opts.addOption(OptionBuilder.create("tls")); OptionGroup tlsProtocol = new OptionGroup(); tlsProtocol.addOption(new Option("tls1", "disable the use of SSLv3 and SSLv2 for TLS connections")); tlsProtocol.addOption(new Option("ssl3", "disable the use of TLSv1 and SSLv2 for TLS connections")); tlsProtocol.addOption(new Option("no_tls1", "disable the use of TLSv1 for TLS connections")); tlsProtocol.addOption(new Option("no_ssl3", "disable the use of SSLv3 for TLS connections")); tlsProtocol.addOption(new Option("no_ssl2", "disable the use of SSLv2 for TLS connections")); opts.addOptionGroup(tlsProtocol); opts.addOption("noclientauth", false, "disable client authentification for TLS"); OptionBuilder.withArgName("file|url"); OptionBuilder.hasArg(); OptionBuilder .withDescription("file path or URL of P12 or JKS keystore, resource:tls/test_sys_2.p12 by default"); opts.addOption(OptionBuilder.create("keystore")); OptionBuilder.withArgName("password"); OptionBuilder.hasArg(); OptionBuilder.withDescription("password for keystore file, 'secret' by default"); opts.addOption(OptionBuilder.create("keystorepw")); OptionBuilder.withArgName("password"); OptionBuilder.hasArg(); OptionBuilder .withDescription("password for accessing the key in the keystore, keystore password by default"); opts.addOption(OptionBuilder.create("keypw")); OptionBuilder.withArgName("file|url"); OptionBuilder.hasArg(); OptionBuilder.withDescription("file path or URL of JKS truststore, resource:tls/mesa_certs.jks by default"); opts.addOption(OptionBuilder.create("truststore")); OptionBuilder.withArgName("password"); OptionBuilder.hasArg(); OptionBuilder.withDescription("password for truststore file, 'secret' by default"); opts.addOption(OptionBuilder.create("truststorepw")); OptionBuilder.withArgName("aet@host:port"); OptionBuilder.hasArg(); OptionBuilder.withDescription("request storage commitment of (successfully) sent objects " + "afterwards in new association to specified remote " + "Application Entity"); opts.addOption(OptionBuilder.create("stgcmtae")); opts.addOption("stgcmt", false, "request storage commitment of (successfully) sent objects " + "afterwards in same association"); OptionBuilder.withArgName("attr=value"); OptionBuilder.hasArgs(); OptionBuilder.withValueSeparator('='); OptionBuilder.withDescription("Replace value of specified attribute " + "with specified value in transmitted objects. attr can be " + "specified by name or tag value (in hex), e.g. PatientName " + "or 00100010."); opts.addOption(OptionBuilder.create("set")); OptionBuilder.withArgName("salt"); OptionBuilder.hasArgs(); OptionBuilder.withDescription( "Anonymize the files. Set to 0 for a random anonymization (not repeatable) or 1 for a daily anonymization or another" + " value for a specific salt for reproducible anonymization (useful for allowing studies to be sent at a later date and still correctly named/associated)"); OptionBuilder.withLongOpt("anonymize"); opts.addOption(OptionBuilder.create("a")); OptionBuilder.withArgName("sx1[:sx2[:sx3]"); OptionBuilder.hasArgs(); OptionBuilder.withValueSeparator(':'); OptionBuilder.withDescription( "Suffix SOP [,Series [,Study]] " + "Instance UID with specified value[s] in transmitted objects."); opts.addOption(OptionBuilder.create("setuid")); OptionBuilder.withArgName("maxops"); OptionBuilder.hasArg(); OptionBuilder.withDescription("maximum number of outstanding operations it may invoke " + "asynchronously, unlimited by default."); opts.addOption(OptionBuilder.create("async")); opts.addOption("pdv1", false, "send only one PDV in one P-Data-TF PDU, " + "pack command and data PDV in one P-DATA-TF PDU by default."); opts.addOption("tcpdelay", false, "set TCP_NODELAY socket option to false, true by default"); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("timeout in ms for TCP connect, no timeout by default"); opts.addOption(OptionBuilder.create("connectTO")); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("delay in ms for Socket close after sending A-ABORT, " + "50ms by default"); opts.addOption(OptionBuilder.create("soclosedelay")); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("delay in ms for closing the listening socket, " + "1000ms by default"); opts.addOption(OptionBuilder.create("shutdowndelay")); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("period in ms to check for outstanding DIMSE-RSP, " + "10s by default"); opts.addOption(OptionBuilder.create("reaper")); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("timeout in ms for receiving DIMSE-RSP, 10s by default"); opts.addOption(OptionBuilder.create("rspTO")); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("timeout in ms for receiving A-ASSOCIATE-AC, 5s by default"); opts.addOption(OptionBuilder.create("acceptTO")); OptionBuilder.withArgName("ms"); OptionBuilder.hasArg(); OptionBuilder.withDescription("timeout in ms for receiving A-RELEASE-RP, 5s by default"); opts.addOption(OptionBuilder.create("releaseTO")); OptionBuilder.withArgName("KB"); OptionBuilder.hasArg(); OptionBuilder.withDescription("maximal length in KB of received P-DATA-TF PDUs, 16KB by default"); opts.addOption(OptionBuilder.create("rcvpdulen")); OptionBuilder.withArgName("KB"); OptionBuilder.hasArg(); OptionBuilder.withDescription("maximal length in KB of sent P-DATA-TF PDUs, 16KB by default"); opts.addOption(OptionBuilder.create("sndpdulen")); OptionBuilder.withArgName("KB"); OptionBuilder.hasArg(); OptionBuilder.withDescription("set SO_RCVBUF socket option to specified value in KB"); opts.addOption(OptionBuilder.create("sorcvbuf")); OptionBuilder.withArgName("KB"); OptionBuilder.hasArg(); OptionBuilder.withDescription("set SO_SNDBUF socket option to specified value in KB"); opts.addOption(OptionBuilder.create("sosndbuf")); OptionBuilder.withArgName("KB"); OptionBuilder.hasArg(); OptionBuilder.withDescription("transcoder buffer size in KB, 1KB by default"); opts.addOption(OptionBuilder.create("bufsize")); OptionBuilder.withArgName("count"); OptionBuilder.hasArg(); OptionBuilder.withDescription("Batch size - Number of files to be sent in each batch, " + "where a storage commit is done between batches "); opts.addOption(OptionBuilder.create("batchsize")); opts.addOption("lowprior", false, "LOW priority of the C-STORE operation, MEDIUM by default"); opts.addOption("highprior", false, "HIGH priority of the C-STORE operation, MEDIUM by default"); opts.addOption("h", "help", false, "print this message"); opts.addOption("V", "version", false, "print the version information and exit"); CommandLine cl = null; try { cl = new GnuParser().parse(opts, args); } catch (ParseException e) { exit("dcmsnd: " + e.getMessage()); throw new RuntimeException("unreachable"); } if (cl.hasOption('V')) { Package p = DcmSnd.class.getPackage(); System.out.println("dcmsnd v" + p.getImplementationVersion()); // System.exit(0); } if (cl.hasOption('h') || cl.getArgList().size() < 2) { HelpFormatter formatter = new HelpFormatter(); formatter.printHelp(USAGE, DESCRIPTION, opts, EXAMPLE); // System.exit(0); } return cl; }
From source file:net.kyllercg.acms.ACMgen.java
/** * Creates the valid command line options *///from www . ja v a 2 s. co m private void createOptions() { Option op_help = new Option("h", "help", false, ACMgen.msg.getMessage("help_desc")); Option op_rrbb = new Option("r", "rrbb", true, ACMgen.msg.getMessage("rrbb_desc")); op_rrbb.setArgs(1); op_rrbb.setArgName("size"); Option op_owbb = new Option("o", "owbb", true, ACMgen.msg.getMessage("owbb_desc")); op_owbb.setArgs(1); op_owbb.setArgName("size"); Option op_owrrbb = new Option("b", "owrrbb", true, ACMgen.msg.getMessage("owrrbb_desc")); op_owrrbb.setArgs(1); op_owrrbb.setArgName("size"); Option op_cpp = new Option("C", "cpp", false, ACMgen.msg.getMessage("cpp_desc")); Option op_verilog = new Option("v", "verilog", false, ACMgen.msg.getMessage("verilog_desc")); Option op_pep = new Option("p", "pep", false, ACMgen.msg.getMessage("pep_desc")); Option op_petrify = new Option("P", "petrify", false, ACMgen.msg.getMessage("petrify_desc")); Option op_smv = new Option("s", "smv", false, ACMgen.msg.getMessage("smv_desc")); Option op_smv_pn = new Option("S", "smvpn", false, ACMgen.msg.getMessage("smvpn_desc")); OptionGroup op_acm_group = new OptionGroup(); op_acm_group.setRequired(true); op_acm_group.addOption(op_help); op_acm_group.addOption(op_rrbb); op_acm_group.addOption(op_owbb); op_acm_group.addOption(op_owrrbb); this.options = new Options(); this.options.addOptionGroup(op_acm_group); this.options.addOption(op_cpp); this.options.addOption(op_verilog); this.options.addOption(op_pep); this.options.addOption(op_petrify); this.options.addOption(op_smv); this.options.addOption(op_smv_pn); }
From source file:de.uni_koblenz.ist.utilities.option_handler.OptionHandler.java
/** * The only constructor of this class. It sets the toolString and the * versionString. In this constructor the two options -h and -v are created * and added. It also ensures that only -h or -v can be set. * // w ww. j a v a2s .co m * @param toolString * the name of the tool * @param versionString * the version information of the tool */ public OptionHandler(String toolString, String versionString) { options = new Options(); optionList = new ArrayList<>(); optionGroupList = new ArrayList<>(); requiredOptions = new HashSet<>(); requiredOptionGroups = new HashSet<>(); helpFormatter = new HelpFormatter(); parserType = ParserType.GNU; this.toolString = toolString; this.versionString = versionString; Option help = new Option("h", "help", false, "(optional): print this help message."); help.setRequired(false); addOption(help); Option version = new Option("v", "version", false, "(optional): print version information"); version.setRequired(false); addOption(version); OptionGroup mainOptions = new OptionGroup(); mainOptions.setRequired(false); mainOptions.addOption(help); mainOptions.addOption(version); options.addOptionGroup(mainOptions); argumentCount = 0; argumentName = "parameter"; optionalArgument = false; }
From source file:fr.iphc.grid.jobmonitor.CeList.java
@SuppressWarnings("static-access") protected Options createOptions() { Options opt = new Options(); /*// ww w. j a v a 2 s . c o m * opt.addOption(OptionBuilder.create()); OptionBuilder.withDescription( * "Display this help and exit"); * OptionBuilder.withLongOpt(LONGOPT_HELP); * opt.addOption(OptionBuilder.create(OPT_HELP)); * * * OptionBuilder.create(); OptionBuilder.withDescription( * "Output file directory"); OptionBuilder.hasArg(); * OptionBuilder.withArgName("OutDir"); * OptionBuilder.withLongOpt(LONGOPT_OUTDIR); * opt.addOption(OptionBuilder.create(OPT_OUTDIR)); * * OptionBuilder.create(); OptionBuilder.withDescription( * "Waiting TimeOut in minutes"); OptionBuilder.hasArg(); * OptionBuilder.withArgName("timeout"); * OptionBuilder.withLongOpt(LONGOPT_TIMEOUT); * opt.addOption(OptionBuilder.create(OPT_TIMEOUT)); * * * OptionGroup reqGroup = new OptionGroup(); OptionBuilder.create(); * OptionBuilder.withDescription("read job description from file <path>" * ); OptionBuilder.hasArg(); OptionBuilder.withArgName("path"); * OptionBuilder.withLongOpt(LONGOPT_FILE); * reqGroup.addOption(OptionBuilder.create(OPT_FILE)); * OptionBuilder.create(); OptionBuilder.withDescription( * "command to execute"); OptionBuilder.hasArg(); * reqGroup.addOption(OptionBuilder.create(JobDescription.EXECUTABLE)); * reqGroup.setRequired(false); opt.addOptionGroup(reqGroup); */ // command opt.addOption(OptionBuilder.withDescription("Display this help and exit").withLongOpt(LONGOPT_HELP) .create(OPT_HELP)); // required arguments opt.addOption(OptionBuilder.withDescription("the URL of the job service").hasArg().withArgName("URL") .withLongOpt(LONGOPT_RESOURCE).create(OPT_RESOURCE)); opt.addOption(OptionBuilder .withDescription("generate the job description in the targeted grid language " + "and exit (do not submit the job)") .withLongOpt(LONGOPT_DESCRIPTION).create(OPT_DESCRIPTION)); opt.addOption(OptionBuilder.withDescription("Output file directory").hasArg().withArgName("OutDir") .withLongOpt(LONGOPT_OUTDIR).create(OPT_OUTDIR)); opt.addOption(OptionBuilder.withDescription("Waiting TimeOut in minutes").hasArg().withArgName("timeout") .withLongOpt(LONGOPT_TIMEOUT).create(OPT_TIMEOUT)); opt.addOption(OptionBuilder.withDescription("File with CE/Path Format: CREAM://host:8443/path").hasArg() .withArgName("ce_path").withLongOpt(LONGOPT_CEPATH).create(OPT_CEPATH)); // optional group OptionGroup optGroup = new OptionGroup(); optGroup.addOption(OptionBuilder .withDescription( "print the job identifier as soon as it is submitted, " + "and wait for it to be finished") .withLongOpt(LONGOPT_JOBID).create(OPT_JOBID)); optGroup.addOption(OptionBuilder .withDescription("print the job identifier as soon as it is submitted, " + "and exit immediatly.") .withLongOpt(LONGOPT_BATCH).create(OPT_BATCH)); optGroup.setRequired(false); opt.addOptionGroup(optGroup); OptionGroup reqGroup = new OptionGroup(); reqGroup.addOption(OptionBuilder.withDescription("read job description from file <path>").hasArg() .withArgName("path").withLongOpt(LONGOPT_FILE).create(OPT_FILE)); reqGroup.addOption(o("command to execute").hasArg().create(JobDescription.EXECUTABLE)); // reqGroup.setRequired(true); opt.addOptionGroup(reqGroup); // job description opt.addOption(o("positional parameters for the command").hasArgs().create(JobDescription.ARGUMENTS)); opt.addOption(o("SPMD job type and startup mechanism").hasArg().create(JobDescription.SPMDVARIATION)); opt.addOption( o("total number of cpus requested for this job").hasArg().create(JobDescription.TOTALCPUCOUNT)); opt.addOption(o("number of process instances to start").hasArg().create(JobDescription.NUMBEROFPROCESSES)); opt.addOption(o("number of processes to start per host").hasArg().create(JobDescription.PROCESSESPERHOST)); opt.addOption( o("expected number of threads per process").hasArg().create(JobDescription.THREADSPERPROCESS)); opt.addOption(o("set of environment variables for the job").hasArgs().withValueSeparator() .create(JobDescription.ENVIRONMENT)); opt.addOption(o("working directory for the job").hasArg().create(JobDescription.WORKINGDIRECTORY)); opt.addOption(o("run the job in interactive mode").create(JobDescription.INTERACTIVE)); opt.addOption(o("pathname of the standard input file").hasArg().create(JobDescription.INPUT)); opt.addOption(o("pathname of the standard output file").hasArg().create(JobDescription.OUTPUT)); opt.addOption(o("pathname of the standard error file").hasArg().create(JobDescription.ERROR)); opt.addOption(o("a list of file transfer directives").hasArgs().create(JobDescription.FILETRANSFER)); opt.addOption(o("defines if output files get removed after the job finishes").hasArg() .create(JobDescription.CLEANUP)); opt.addOption(o("time at which a job should be scheduled").hasArg().create(JobDescription.JOBSTARTTIME)); opt.addOption(o("hard limit for the total job runtime").hasArg().create(JobDescription.WALLTIMELIMIT)); opt.addOption(o("estimated total number of CPU seconds which the job will require").hasArg() .create(JobDescription.TOTALCPUTIME)); opt.addOption(o("estimated amount of memory the job requires").hasArg() .create(JobDescription.TOTALPHYSICALMEMORY)); opt.addOption(o("compatible processor for job submission").hasArg().create(JobDescription.CPUARCHITECTURE)); opt.addOption(o("compatible operating system for job submission").hasArg() .create(JobDescription.OPERATINGSYSTEMTYPE)); opt.addOption( o("list of host names which are to be considered by the resource manager as candidate targets") .hasArgs().create(JobDescription.CANDIDATEHOSTS)); opt.addOption(o("name of a queue to place the job into").hasArg().create(JobDescription.QUEUE)); opt.addOption(o("name of an account or project name").hasArg().create(JobDescription.JOBPROJECT)); opt.addOption(o("set of endpoints describing where to report").hasArgs().create(JobDescription.JOBCONTACT)); // returns return opt; }
From source file:com.linkedin.helix.tools.ClusterSetup.java
@SuppressWarnings("static-access") private static Options constructCommandLineOptions() { Option helpOption = OptionBuilder.withLongOpt(help).withDescription("Prints command-line options info") .create();//from www . j a v a 2 s . c om Option zkServerOption = OptionBuilder.withLongOpt(zkServerAddress) .withDescription("Provide zookeeper address").create(); zkServerOption.setArgs(1); zkServerOption.setRequired(true); zkServerOption.setArgName("ZookeeperServerAddress(Required)"); Option listClustersOption = OptionBuilder.withLongOpt(listClusters) .withDescription("List existing clusters").create(); listClustersOption.setArgs(0); listClustersOption.setRequired(false); Option listResourceOption = OptionBuilder.withLongOpt(listResources) .withDescription("List resources hosted in a cluster").create(); listResourceOption.setArgs(1); listResourceOption.setRequired(false); listResourceOption.setArgName("clusterName"); Option listInstancesOption = OptionBuilder.withLongOpt(listInstances) .withDescription("List Instances in a cluster").create(); listInstancesOption.setArgs(1); listInstancesOption.setRequired(false); listInstancesOption.setArgName("clusterName"); Option addClusterOption = OptionBuilder.withLongOpt(addCluster).withDescription("Add a new cluster") .create(); addClusterOption.setArgs(1); addClusterOption.setRequired(false); addClusterOption.setArgName("clusterName"); Option activateClusterOption = OptionBuilder.withLongOpt(activateCluster) .withDescription("Enable/disable a cluster in distributed controller mode").create(); activateClusterOption.setArgs(3); activateClusterOption.setRequired(false); activateClusterOption.setArgName("clusterName grandCluster true/false"); Option deleteClusterOption = OptionBuilder.withLongOpt(dropCluster).withDescription("Delete a cluster") .create(); deleteClusterOption.setArgs(1); deleteClusterOption.setRequired(false); deleteClusterOption.setArgName("clusterName"); Option addInstanceOption = OptionBuilder.withLongOpt(addInstance) .withDescription("Add a new Instance to a cluster").create(); addInstanceOption.setArgs(2); addInstanceOption.setRequired(false); addInstanceOption.setArgName("clusterName InstanceAddress(host:port)"); Option addResourceOption = OptionBuilder.withLongOpt(addResource) .withDescription("Add a resource to a cluster").create(); addResourceOption.setArgs(4); addResourceOption.setRequired(false); addResourceOption.setArgName("clusterName resourceName partitionNum stateModelRef <-mode modeValue>"); Option expandResourceOption = OptionBuilder.withLongOpt(expandResource) .withDescription("Expand resource to additional nodes").create(); expandResourceOption.setArgs(2); expandResourceOption.setRequired(false); expandResourceOption.setArgName("clusterName resourceName"); Option expandClusterOption = OptionBuilder.withLongOpt(expandCluster) .withDescription("Expand a cluster and all the resources").create(); expandClusterOption.setArgs(1); expandClusterOption.setRequired(false); expandClusterOption.setArgName("clusterName"); Option resourceModeOption = OptionBuilder.withLongOpt(mode) .withDescription("Specify resource mode, used with addResourceGroup command").create(); resourceModeOption.setArgs(1); resourceModeOption.setRequired(false); resourceModeOption.setArgName("IdealState mode"); Option resourceBucketSizeOption = OptionBuilder.withLongOpt(bucketSize) .withDescription("Specify size of a bucket, used with addResourceGroup command").create(); resourceBucketSizeOption.setArgs(1); resourceBucketSizeOption.setRequired(false); resourceBucketSizeOption.setArgName("Size of a bucket for a resource"); Option resourceKeyOption = OptionBuilder.withLongOpt(resourceKeyPrefix) .withDescription("Specify resource key prefix, used with rebalance command").create(); resourceKeyOption.setArgs(1); resourceKeyOption.setRequired(false); resourceKeyOption.setArgName("Resource key prefix"); Option addStateModelDefOption = OptionBuilder.withLongOpt(addStateModelDef) .withDescription("Add a State model to a cluster").create(); addStateModelDefOption.setArgs(2); addStateModelDefOption.setRequired(false); addStateModelDefOption.setArgName("clusterName <filename>"); Option addIdealStateOption = OptionBuilder.withLongOpt(addIdealState) .withDescription("Add a State model to a cluster").create(); addIdealStateOption.setArgs(3); addIdealStateOption.setRequired(false); addIdealStateOption.setArgName("clusterName resourceName <filename>"); Option dropInstanceOption = OptionBuilder.withLongOpt(dropInstance) .withDescription("Drop an existing Instance from a cluster").create(); dropInstanceOption.setArgs(2); dropInstanceOption.setRequired(false); dropInstanceOption.setArgName("clusterName InstanceAddress(host:port)"); Option swapInstanceOption = OptionBuilder.withLongOpt(swapInstance) .withDescription("Swap an old instance from a cluster with a new instance").create(); swapInstanceOption.setArgs(3); swapInstanceOption.setRequired(false); swapInstanceOption.setArgName("clusterName oldInstance newInstance"); Option dropResourceOption = OptionBuilder.withLongOpt(dropResource) .withDescription("Drop an existing resource from a cluster").create(); dropResourceOption.setArgs(2); dropResourceOption.setRequired(false); dropResourceOption.setArgName("clusterName resourceName"); Option rebalanceOption = OptionBuilder.withLongOpt(rebalance) .withDescription("Rebalance a resource in a cluster").create(); rebalanceOption.setArgs(3); rebalanceOption.setRequired(false); rebalanceOption.setArgName("clusterName resourceName replicas"); Option instanceInfoOption = OptionBuilder.withLongOpt(listInstanceInfo) .withDescription("Query info of a Instance in a cluster").create(); instanceInfoOption.setArgs(2); instanceInfoOption.setRequired(false); instanceInfoOption.setArgName("clusterName InstanceName"); Option clusterInfoOption = OptionBuilder.withLongOpt(listClusterInfo) .withDescription("Query info of a cluster").create(); clusterInfoOption.setArgs(1); clusterInfoOption.setRequired(false); clusterInfoOption.setArgName("clusterName"); Option resourceInfoOption = OptionBuilder.withLongOpt(listResourceInfo) .withDescription("Query info of a resource").create(); resourceInfoOption.setArgs(2); resourceInfoOption.setRequired(false); resourceInfoOption.setArgName("clusterName resourceName"); Option addResourcePropertyOption = OptionBuilder.withLongOpt(addResourceProperty) .withDescription("Add a resource property").create(); addResourcePropertyOption.setArgs(4); addResourcePropertyOption.setRequired(false); addResourcePropertyOption.setArgName("clusterName resourceName propertyName propertyValue"); Option removeResourcePropertyOption = OptionBuilder.withLongOpt(removeResourceProperty) .withDescription("Remove a resource property").create(); removeResourcePropertyOption.setArgs(3); removeResourcePropertyOption.setRequired(false); removeResourcePropertyOption.setArgName("clusterName resourceName propertyName"); Option partitionInfoOption = OptionBuilder.withLongOpt(listPartitionInfo) .withDescription("Query info of a partition").create(); partitionInfoOption.setArgs(3); partitionInfoOption.setRequired(false); partitionInfoOption.setArgName("clusterName resourceName partitionName"); Option enableInstanceOption = OptionBuilder.withLongOpt(enableInstance) .withDescription("Enable/disable a Instance").create(); enableInstanceOption.setArgs(3); enableInstanceOption.setRequired(false); enableInstanceOption.setArgName("clusterName InstanceName true/false"); Option enablePartitionOption = OptionBuilder.hasArgs().withLongOpt(enablePartition) .withDescription("Enable/disable partitions").create(); enablePartitionOption.setRequired(false); enablePartitionOption.setArgName("true/false clusterName instanceName resourceName partitionName1..."); Option enableClusterOption = OptionBuilder.withLongOpt(enableCluster) .withDescription("pause/resume the controller of a cluster").create(); enableClusterOption.setArgs(2); enableClusterOption.setRequired(false); enableClusterOption.setArgName("clusterName true/false"); Option resetPartitionOption = OptionBuilder.withLongOpt(resetPartition) .withDescription("Reset a partition in error state").create(); resetPartitionOption.setArgs(4); resetPartitionOption.setRequired(false); resetPartitionOption.setArgName("clusterName instanceName resourceName partitionName"); Option resetInstanceOption = OptionBuilder.withLongOpt(resetInstance) .withDescription("Reset all partitions in error state for an instance").create(); resetInstanceOption.setArgs(2); resetInstanceOption.setRequired(false); resetInstanceOption.setArgName("clusterName instanceName"); Option resetResourceOption = OptionBuilder.withLongOpt(resetResource) .withDescription("Reset all partitions in error state for a resource").create(); resetResourceOption.setArgs(2); resetResourceOption.setRequired(false); resetResourceOption.setArgName("clusterName resourceName"); Option listStateModelsOption = OptionBuilder.withLongOpt(listStateModels) .withDescription("Query info of state models in a cluster").create(); listStateModelsOption.setArgs(1); listStateModelsOption.setRequired(false); listStateModelsOption.setArgName("clusterName"); Option listStateModelOption = OptionBuilder.withLongOpt(listStateModel) .withDescription("Query info of a state model in a cluster").create(); listStateModelOption.setArgs(2); listStateModelOption.setRequired(false); listStateModelOption.setArgName("clusterName stateModelName"); Option addStatOption = OptionBuilder.withLongOpt(addStat).withDescription("Add a persistent stat").create(); addStatOption.setArgs(2); addStatOption.setRequired(false); addStatOption.setArgName("clusterName statName"); Option addAlertOption = OptionBuilder.withLongOpt(addAlert).withDescription("Add an alert").create(); addAlertOption.setArgs(2); addAlertOption.setRequired(false); addAlertOption.setArgName("clusterName alertName"); Option dropStatOption = OptionBuilder.withLongOpt(dropStat).withDescription("Drop a persistent stat") .create(); dropStatOption.setArgs(2); dropStatOption.setRequired(false); dropStatOption.setArgName("clusterName statName"); Option dropAlertOption = OptionBuilder.withLongOpt(dropAlert).withDescription("Drop an alert").create(); dropAlertOption.setArgs(2); dropAlertOption.setRequired(false); dropAlertOption.setArgName("clusterName alertName"); // set/get configs option Option setConfOption = OptionBuilder.withLongOpt(setConfig).withDescription("Set a config").create(); setConfOption.setArgs(2); setConfOption.setRequired(false); setConfOption .setArgName("ConfigScope(e.g. CLUSTER=cluster,RESOURCE=rc,...) KeyValueMap(e.g. k1=v1,k2=v2,...)"); Option getConfOption = OptionBuilder.withLongOpt(getConfig).withDescription("Get a config").create(); getConfOption.setArgs(2); getConfOption.setRequired(false); getConfOption.setArgName("ConfigScope(e.g. CLUSTER=cluster,RESOURCE=rc,...) KeySet(e.g. k1,k2,...)"); OptionGroup group = new OptionGroup(); group.setRequired(true); group.addOption(rebalanceOption); group.addOption(addResourceOption); group.addOption(resourceModeOption); group.addOption(resourceBucketSizeOption); group.addOption(expandResourceOption); group.addOption(expandClusterOption); group.addOption(resourceKeyOption); group.addOption(addClusterOption); group.addOption(activateClusterOption); group.addOption(deleteClusterOption); group.addOption(addInstanceOption); group.addOption(listInstancesOption); group.addOption(listResourceOption); group.addOption(listClustersOption); group.addOption(addIdealStateOption); group.addOption(rebalanceOption); group.addOption(dropInstanceOption); group.addOption(swapInstanceOption); group.addOption(dropResourceOption); group.addOption(instanceInfoOption); group.addOption(clusterInfoOption); group.addOption(resourceInfoOption); group.addOption(partitionInfoOption); group.addOption(enableInstanceOption); group.addOption(enablePartitionOption); group.addOption(enableClusterOption); group.addOption(resetPartitionOption); group.addOption(resetInstanceOption); group.addOption(resetResourceOption); group.addOption(addStateModelDefOption); group.addOption(listStateModelsOption); group.addOption(listStateModelOption); group.addOption(addStatOption); group.addOption(addAlertOption); group.addOption(dropStatOption); group.addOption(dropAlertOption); group.addOption(setConfOption); group.addOption(getConfOption); group.addOption(addResourcePropertyOption); group.addOption(removeResourcePropertyOption); Options options = new Options(); options.addOption(helpOption); options.addOption(zkServerOption); options.addOptionGroup(group); return options; }
From source file:com.cloudera.sqoop.tool.BaseSqoopTool.java
/** * @return RelatedOptions used by job management tools. *//*from w w w . j a va 2s . c o m*/ protected RelatedOptions getJobOptions() { RelatedOptions relatedOpts = new RelatedOptions("Job management arguments"); relatedOpts.addOption(OptionBuilder.withArgName("jdbc-uri").hasArg() .withDescription("Specify JDBC connect string for the metastore").withLongOpt(STORAGE_METASTORE_ARG) .create()); // Create an option-group surrounding the operations a user // can perform on jobs. OptionGroup group = new OptionGroup(); group.addOption(OptionBuilder.withArgName("job-id").hasArg().withDescription("Create a new saved job") .withLongOpt(JOB_CMD_CREATE_ARG).create()); group.addOption(OptionBuilder.withArgName("job-id").hasArg().withDescription("Delete a saved job") .withLongOpt(JOB_CMD_DELETE_ARG).create()); group.addOption(OptionBuilder.withArgName("job-id").hasArg() .withDescription("Show the parameters for a saved job").withLongOpt(JOB_CMD_SHOW_ARG).create()); Option execOption = OptionBuilder.withArgName("job-id").hasArg().withDescription("Run a saved job") .withLongOpt(JOB_CMD_EXEC_ARG).create(); group.addOption(execOption); group.addOption(OptionBuilder.withDescription("List saved jobs").withLongOpt(JOB_CMD_LIST_ARG).create()); relatedOpts.addOptionGroup(group); // Since the "common" options aren't used in the job tool, // add these settings here. relatedOpts.addOption(OptionBuilder.withDescription("Print more information while working") .withLongOpt(VERBOSE_ARG).create()); relatedOpts.addOption( OptionBuilder.withDescription("Print usage instructions").withLongOpt(HELP_ARG).create()); return relatedOpts; }
From source file:bdsup2sub.cli.CommandLineOptions.java
private void createAndAddOptions() { Option help = OptionBuilder.withLongOpt("help").withDescription("Show usage information and exit.") .hasArg(false).create(HELP); options.addOption(help);/*from w w w. ja v a2 s .c o m*/ Option version = OptionBuilder.withLongOpt("version").withDescription("Show version information and exit.") .hasArg(false).create(VERSION); options.addOption(version); Option output = OptionBuilder.withLongOpt("output").withDescription("Specify output file.").hasArg() .create(OUTPUT_FILE); options.addOption(output); Option verbose = OptionBuilder.withLongOpt("verbose").withDescription("Verbose console output mode.") .hasArg(false).create(VERBOSE); options.addOption(verbose); Option loadSettings = OptionBuilder.withLongOpt("load-settings") .withDescription("Load settings stored in configuration file even if running in command-line mode.") .hasArg(false).create(LOAD_SETTINGS); options.addOption(loadSettings); Option resolution = OptionBuilder.withArgName("resolution").withLongOpt("resolution").withDescription( "Set resolution to: keep, ntsc=480, pal=576, 720p=720, 1080p=1080, 1440x1080\nDefault: keep") .hasArg().create(RESOLUTION); options.addOption(resolution); OptionGroup framerateGroup = new OptionGroup(); Option targetFrameRate = OptionBuilder.withArgName("fps").withLongOpt("fps-target").withDescription( "Synchronize target frame rate to <fps>.\nPredefined values: 24p=23.976, pal or 25p=25, ntsc or 30p=29.967, keep (preserves the source fps for BD&XML, else default)\nDefault: automatic (dumb!).") .hasArg().create(TARGET_FRAMERATE); framerateGroup.addOption(targetFrameRate); Option convertFrameRate = OptionBuilder.withArgName("src>, <trg").withLongOpt("convert-fps") .withDescription( "Convert frame rate from <src> to <trg>\nSupported values: 24p=23.976, 25p=25, 30p=29.970\nauto,<trg> detects source frame rate.") .withValueSeparator(',').hasArgs(2).create(CONVERT_FRAMERATE); framerateGroup.addOption(convertFrameRate); options.addOptionGroup(framerateGroup); Option delay = OptionBuilder.withArgName("delay").withLongOpt("delay") .withDescription("Set delay in ms\nDefault: 0.0").hasArg().create(DELAY); options.addOption(delay); Option filter = OptionBuilder.withArgName("filter").withLongOpt("filter").withDescription( "Set the filter to use for scaling.\nSupported values: bilinear, triangle, bicubic, bell, b-spline, hermite, lanczos3, mitchell\nDefault: bilinear") .hasArg().create(SCALING_FILTER); options.addOption(filter); Option paletteMode = OptionBuilder.withArgName("mode").withLongOpt("palette-mode") .withDescription("Set palette mode.\nSupported values: keep, create, dither\nDefault: create") .hasArg().create(PALETTE_MODE); options.addOption(paletteMode); Option minDisplayTime = OptionBuilder.withArgName("time").withLongOpt("minimum-time") .withDescription("Set minimum display time in ms.\nDefault: 500").hasArg().create(MIN_DISPLAY_TIME); options.addOption(minDisplayTime); Option maxTimeDiff = OptionBuilder.withArgName("time").withLongOpt("merge-time") .withDescription("Set maximum time difference for merging subtitles in ms.\nDefault: 200").hasArg() .create(MAX_TIME_DIFF); options.addOption(maxTimeDiff); OptionGroup moveGroup = new OptionGroup(); Option moveIn = OptionBuilder.withArgName("ratio, offset").withLongOpt("move-in") .withDescription("Move captions inside screen ratio <ratio>, +/- offset <offset>") .withValueSeparator(',').hasArgs(2).create(MOVE_IN); moveGroup.addOption(moveIn); Option moveOut = OptionBuilder.withArgName("ratio, offset").withLongOpt("move-out") .withDescription("Move captions outside screen ratio <ratio>, +/- offset <offset>") .withValueSeparator(',').hasArgs(2).create(MOVE_OUT); moveGroup.addOption(moveOut); options.addOptionGroup(moveGroup); Option moveX = OptionBuilder.withArgName("pos[, offset]").withLongOpt("move-x").withDescription( "Move captions horizontally from specified position. <pos> may be left, right, center\n+/- optional offset <offset> (only if moving left or right)") .withValueSeparator(',').hasOptionalArgs(2).create(MOVE_X); options.addOption(moveX); Option cropLines = OptionBuilder.withArgName("n").withLongOpt("crop-y") .withDescription("Crop the upper/lower n lines.\nDefault: 0").hasArg().create(CROP_LINES); options.addOption(cropLines); Option alphaCropThreshold = OptionBuilder.withArgName("n").withLongOpt("alpha-crop") .withDescription("Set the alpha cropping threshold.\nDefault: 10").hasArg() .create(ALPHA_CROP_THRESHOLD); options.addOption(alphaCropThreshold); Option scale = OptionBuilder.withArgName("x, y").withLongOpt("scale") .withDescription("Scale captions horizontally and vertically.\nDefault: 1.0,1.0") .withValueSeparator(',').hasArgs(2).create(SCALE); options.addOption(scale); Option exportPalette = OptionBuilder.withLongOpt("export-palette") .withDescription("Export target palette in PGCEdit format.").hasArg(false).create(EXPORT_PALETTE); options.addOption(exportPalette); Option exportForcedSubtitlesOnly = OptionBuilder.withLongOpt("forced-only") .withDescription("Export only forced subtitles (when converting from BD-SUP).").hasArg(false) .create(EXPORT_FORCED_SUBTITLES_ONLY); options.addOption(exportForcedSubtitlesOnly); Option setForcedFlag = OptionBuilder.withArgName("state").withLongOpt("force-all") .withDescription("Set or clear the forced flag for all subtitles.\nSupported values: set, clear") .hasArg().create(FORCED_FLAG); options.addOption(setForcedFlag); Option swapCrCb = OptionBuilder.withLongOpt("swap") .withDescription("Swap Cr/Cb components when loading a BD/HD-DVD sup file.").hasArg(false) .create(SWAP_CR_CB); options.addOption(swapCrCb); Option fixInvisibleFrames = OptionBuilder.withLongOpt("fix-invisible") .withDescription("Fix zero alpha frame palette for SUB/IDX and SUP/IFO.").hasArg(false) .create(FIX_INVISIBLE_FRAMES); options.addOption(fixInvisibleFrames); Option alphaThreshold = OptionBuilder.withArgName("n").withLongOpt("alpha-thr") .withDescription("Set alpha threshold 0..255 for SUB/IDX conversion.\nDefault: 80").hasArg() .create(ALPHA_THRESHOLD); options.addOption(alphaThreshold); Option luminanceLowMedThreshold = OptionBuilder.withArgName("n").withLongOpt("lum-low-med-thr") .withDescription("Set luminance lo/med threshold 0..255 for SUB/IDX conversion.\nDefault: auto") .hasArg().create(LUM_LOW_MED_THRESHOLD); options.addOption(luminanceLowMedThreshold); Option luminanceMedHighThreshold = OptionBuilder.withArgName("n").withLongOpt("lum-med-hi-thr") .withDescription("Set luminance med/hi threshold 0..255 for SUB/IDX conversion.\nDefault: auto") .hasArg().create(LUM_MED_HIGH_THRESHOLD); options.addOption(luminanceMedHighThreshold); Option languageCode = OptionBuilder.withArgName("language").withLongOpt("language") .withDescription("Set language for SUB/IDX export.\nDefault: en").hasArg().create(LANGUAGE_CODE); options.addOption(languageCode); Option paletteFile = OptionBuilder.withArgName("file").withLongOpt("palette-file") .withDescription("Load palette file for SUB/IDX conversion. Overrides default palette.").hasArg() .create(PALETTE_FILE); options.addOption(paletteFile); }
From source file:com.archivas.clienttools.arcmover.cli.ArcProfileMgr.java
@SuppressWarnings({ "static-access" }) public Options getOptions() { if (cliOptions == null) { Options options = new Options(); OptionGroup operations = new OptionGroup(); // *** Adding a new option needs to be added to the cliOrder list operations.addOption(OptionBuilder.withDescription("Displays this help text (the default behavior).") .withLongOpt("help").create("h")); operations.addOption(OptionBuilder.hasOptionalArg().withArgName("profile_name").withDescription( "Lists information about the specified namespace profile. If <profile_name> is omitted, lists information about all namespace profiles.") .withLongOpt("list").create("l")); operations.addOption(OptionBuilder.hasArg().withArgName("profile_name") .withDescription("Deletes the specified namespace profile.").withLongOpt("delete").create("d")); operations.addOption(OptionBuilder.hasArg().withArgName("profile_name") .withDescription("Creates a namespace profile with the specified name.").withLongOpt("create") .create("c")); options.addOptionGroup(operations); // List the valid profile types dynamically String profileTypesToString = "Type of namespace for which you are creating the namespace profile: "; for (ProfileType type : ProfileType.values()) { if (type != ProfileType.FILESYSTEM) { // Filesystem is already createdcd profileTypesToString += (type.toString() + " | "); }//from w w w.j av a 2 s. c om } profileTypesToString = profileTypesToString.substring(0, profileTypesToString.length() - 3); options.addOption(OptionBuilder.withArgName("profile_type").hasArg() .withDescription(profileTypesToString).withLongOpt("type").create()); options.addOption(OptionBuilder.withArgName("tenant_name").hasArg().withDescription( "Name of the tenant that owns the namespace for which you are creating the namespace profile.") .withLongOpt("tenant").create()); options.addOption(OptionBuilder.withArgName("namespace_name").hasArg() .withDescription("Name of the namespace for which you are creating the namespace profile.") .withLongOpt("namespace").create()); options.addOption(OptionBuilder.withArgName("username").hasArg() .withDescription("Username of the data access account to use for namespace access.") .withLongOpt("username").create()); options.addOption(OptionBuilder.withArgName("password").hasArg() .withDescription("Password of the data access account to use for namespace access.") .withLongOpt("password").create()); options.addOption(OptionBuilder.withArgName("hostname").hasArg() .withDescription("The fully qualified domain name of the HCP system.").withLongOpt("hostname") .create()); options.addOption( OptionBuilder.withDescription("Tells HCP-DM to use SSL when communicating with the HCP system.") .withLongOpt("ssl").create()); options.addOption(OptionBuilder.withDescription( "Tells HCP-DM to check whether custom metadata XML is well-formed prior to communicating with the HCP system.") .withLongOpt("check-cm").create()); options.addOption(OptionBuilder .withDescription("Log into namespace anonymously. Only valid with HCP 5.0 or later profile.") .withLongOpt("anon").create()); options.addOption(OptionBuilder.withDescription( "Does not test if the namespace configuration provided can access HCP while creating the profile.") .withLongOpt("notest").create()); options.addOption(OptionBuilder.withArgName("address1[,address2]...").hasArg().withDescription( "Comma-separated list of one or more IP addresses to use to connect to the HCP system. If omitted, HCP-DM uses the hostname.") .withLongOpt("ips").create()); if (ALLOW_PORT) { options.addOption(OptionBuilder.withArgName("port").hasArg() .withDescription("Port to connect to HCP on").withLongOpt("port").create()); } cliOptions = options; } return cliOptions; }