Example usage for org.apache.commons.cli OptionGroup OptionGroup

List of usage examples for org.apache.commons.cli OptionGroup OptionGroup

Introduction

In this page you can find the example usage for org.apache.commons.cli OptionGroup OptionGroup.

Prototype

OptionGroup

Source Link

Usage

From source file:org.dcm4che.tool.common.CLIUtils.java

@SuppressWarnings("static-access")
public static void addTransferSyntaxOptions(Options opts) {
    OptionGroup group = new OptionGroup();
    group.addOption(//  w  w  w  . j a  v a  2 s  .c o m
            OptionBuilder.withLongOpt("explicit-vr").withDescription(rb.getString("explicit-vr")).create());
    group.addOption(
            OptionBuilder.withLongOpt("big-endian").withDescription(rb.getString("big-endian")).create());
    group.addOption(
            OptionBuilder.withLongOpt("implicit-vr").withDescription(rb.getString("implicit-vr")).create());
    opts.addOptionGroup(group);
}

From source file:org.dcm4che.tool.dcm2dcm.Dcm2Dcm.java

@SuppressWarnings("static-access")
private static CommandLine parseComandLine(String[] args) throws ParseException {
    Options opts = new Options();
    CLIUtils.addCommonOptions(opts);//from  www .ja  va2s .  co  m
    CLIUtils.addEncodingOptions(opts);
    OptionGroup tsGroup = new OptionGroup();
    tsGroup.addOption(OptionBuilder.withLongOpt("transfer-syntax").hasArg().withArgName("uid")
            .withDescription(rb.getString("transfer-syntax")).create("t"));
    tsGroup.addOption(OptionBuilder.withLongOpt("jpeg").withDescription(rb.getString("jpeg")).create());
    tsGroup.addOption(OptionBuilder.withLongOpt("jpll").withDescription(rb.getString("jpll")).create());
    tsGroup.addOption(OptionBuilder.withLongOpt("jpls").withDescription(rb.getString("jpls")).create());
    tsGroup.addOption(OptionBuilder.withLongOpt("j2kr").withDescription(rb.getString("j2kr")).create());
    tsGroup.addOption(OptionBuilder.withLongOpt("j2ki").withDescription(rb.getString("j2ki")).create());
    opts.addOptionGroup(tsGroup);
    OptionGroup fmiGroup = new OptionGroup();
    fmiGroup.addOption(OptionBuilder.withLongOpt("no-fmi").withDescription(rb.getString("no-fmi")).create("F"));
    fmiGroup.addOption(
            OptionBuilder.withLongOpt("retain-fmi").withDescription(rb.getString("retain-fmi")).create("f"));
    opts.addOptionGroup(fmiGroup);
    opts.addOption(OptionBuilder.hasArg().withArgName("max-error").withType(PatternOptionBuilder.NUMBER_VALUE)
            .withDescription(rb.getString("verify")).withLongOpt("verify").create());
    opts.addOption(OptionBuilder.hasArg().withArgName("size").withType(PatternOptionBuilder.NUMBER_VALUE)
            .withDescription(rb.getString("verify-block")).withLongOpt("verify-block").create());
    opts.addOption(OptionBuilder.hasArg().withArgName("quality").withType(PatternOptionBuilder.NUMBER_VALUE)
            .withDescription(rb.getString("quality")).create("q"));
    opts.addOption(
            OptionBuilder.hasArg().withArgName("encoding-rate").withType(PatternOptionBuilder.NUMBER_VALUE)
                    .withDescription(rb.getString("encoding-rate")).create("Q"));
    opts.addOption(OptionBuilder.hasArgs().withArgName("name=value").withValueSeparator()
            .withDescription(rb.getString("compression-param")).create("C"));
    CommandLine cl = CLIUtils.parseComandLine(args, opts, rb, Dcm2Dcm.class);
    return cl;
}

From source file:org.dcm4che.tool.dcm2xml.Dcm2Xml.java

@SuppressWarnings("static-access")
private static void addBulkdataOptions(Options opts) {
    OptionGroup group = new OptionGroup();
    group.addOption(//from   www  .  j a  v a  2  s .  c om
            OptionBuilder.withLongOpt("no-bulkdata").withDescription(rb.getString("no-bulkdata")).create("B"));
    group.addOption(OptionBuilder.withLongOpt("with-bulkdata").withDescription(rb.getString("with-bulkdata"))
            .create("b"));
    opts.addOptionGroup(group);
    opts.addOption(OptionBuilder.withLongOpt("blk-file-dir").hasArg().withArgName("directory")
            .withDescription(rb.getString("blk-file-dir")).create("d"));
    opts.addOption(OptionBuilder.withLongOpt("blk-file-prefix").hasArg().withArgName("prefix")
            .withDescription(rb.getString("blk-file-prefix")).create());
    opts.addOption(OptionBuilder.withLongOpt("blk-file-suffix").hasArg().withArgName("suffix")
            .withDescription(rb.getString("blk-file-dir")).create());
    opts.addOption("c", "cat-blk-files", false, rb.getString("cat-blk-files"));
    opts.addOption(OptionBuilder.withLongOpt("blk-spec").hasArg().withArgName("xml-file")
            .withDescription(rb.getString("blk-spec")).create("X"));
}

From source file:org.dcm4che.tool.dcmdir.DcmDir.java

@SuppressWarnings("static-access")
private static CommandLine parseComandLine(String[] args) throws ParseException {
    Options opts = new Options();
    CLIUtils.addCommonOptions(opts);/*from w  w w . ja va  2  s  . c  o  m*/
    CLIUtils.addFilesetInfoOptions(opts);
    OptionGroup cmdGroup = new OptionGroup();
    addCommandOptions(cmdGroup);
    opts.addOptionGroup(cmdGroup);
    opts.addOption(OptionBuilder.withLongOpt("width").hasArg().withArgName("col")
            .withDescription(rb.getString("width")).create("w"));
    opts.addOption(null, "in-use", false, rb.getString("in-use"));
    opts.addOption(null, "orig-seq-len", false, rb.getString("orig-seq-len"));
    CLIUtils.addEncodingOptions(opts);
    CommandLine cl = CLIUtils.parseComandLine(args, opts, rb, DcmDir.class);
    if (cmdGroup.getSelected() == null)
        throw new ParseException(rb.getString("missing"));
    return cl;
}

From source file:org.dcm4che.tool.ihe.modality.Modality.java

@SuppressWarnings("static-access")
private static void addOptions(Options opts) {
    opts.addOption(OptionBuilder.hasArg().withArgName("code-value").withDescription(rb.getString("kos-title"))
            .withLongOpt("kos-title").create());
    opts.addOption(// ww w .ja va2 s  .  c o  m
            OptionBuilder.hasArg().withArgName("file").withDescription(rb.getString("o-file")).create("o"));
    opts.addOption(OptionBuilder.hasArg().withArgName("file").withDescription(rb.getString("code-config"))
            .withLongOpt("code-config").create());
    OptionGroup mpps = new OptionGroup();
    mpps.addOption(OptionBuilder.withDescription(rb.getString("mpps-late")).withLongOpt("mpps-late").create());
    mpps.addOption(OptionBuilder.withDescription(rb.getString("mpps")).withLongOpt("mpps").create());
    opts.addOptionGroup(mpps);
    opts.addOption(OptionBuilder.withDescription(rb.getString("stgcmt")).withLongOpt("stgcmt").create());
    opts.addOption(null, "dc", false, rb.getString("dc"));
    opts.addOption(OptionBuilder.hasArg().withArgName("code-value").withDescription(rb.getString("dc-reason"))
            .withLongOpt("dc-reason").create());
    opts.addOption(OptionBuilder.hasArgs().withArgName("[seq/]attr=value").withValueSeparator('=')
            .withDescription(rb.getString("set")).create("s"));
}

From source file:org.dcm4che.tool.mkkos.MkKOS.java

@SuppressWarnings("static-access")
public static void addOptions(Options opts) {
    opts.addOption(OptionBuilder.hasArg().withArgName("code").withDescription(rb.getString("title"))
            .withLongOpt("title").create());
    opts.addOption(OptionBuilder.hasArg().withArgName("code").withDescription(rb.getString("modifier"))
            .withLongOpt("modifier").create());
    opts.addOption(OptionBuilder.hasArg().withArgName("file|url").withDescription(rb.getString("code-config"))
            .withLongOpt("code-config").create());
    opts.addOption(OptionBuilder.hasArg().withArgName("text").withDescription(rb.getString("desc"))
            .withLongOpt("desc").create());
    opts.addOption(OptionBuilder.hasArg().withArgName("no").withDescription(rb.getString("series-no"))
            .withLongOpt("series-no").create());
    opts.addOption(OptionBuilder.hasArg().withArgName("no").withDescription(rb.getString("inst-no"))
            .withLongOpt("inst-no").create());
    opts.addOption(//from   w w  w . j  a  v  a2s.  c  o m
            OptionBuilder.hasArg().withArgName("file").withDescription(rb.getString("o-file")).create("o"));
    OptionGroup group = new OptionGroup();
    group.addOption(OptionBuilder.withLongOpt("no-fmi").withDescription(rb.getString("no-fmi")).create("F"));
    group.addOption(OptionBuilder.withLongOpt("transfer-syntax").hasArg().withArgName("uid")
            .withDescription(rb.getString("transfer-syntax")).create("t"));
    opts.addOptionGroup(group);
    opts.addOption(OptionBuilder.hasArgs().withArgName("[seq/]attr=value").withValueSeparator('=')
            .withDescription(rb.getString("set")).create("s"));
    opts.addOption(OptionBuilder.hasArg().withArgName("suffix").withDescription(rb.getString("uid-suffix"))
            .withLongOpt("uid-suffix").create(null));
    CLIUtils.addEncodingOptions(opts);
}

From source file:org.dcm4che.tool.xml2dcm.Xml2Dcm.java

@SuppressWarnings("static-access")
private static void addBulkdataOptions(Options opts) {
    OptionGroup blkGroup = new OptionGroup();
    blkGroup.addOption(//from  ww  w. j av  a2s . co  m
            OptionBuilder.withLongOpt("no-bulkdata").withDescription(rb.getString("no-bulkdata")).create("B"));
    blkGroup.addOption(OptionBuilder.withLongOpt("alloc-bulkdata")
            .withDescription(rb.getString("alloc-bulkdata")).create("b"));
    opts.addOptionGroup(blkGroup);
    opts.addOption(OptionBuilder.withLongOpt("blk-file-dir").hasArg().withArgName("directory")
            .withDescription(rb.getString("blk-file-dir")).create("d"));
    opts.addOption(OptionBuilder.withLongOpt("blk-file-prefix").hasArg().withArgName("prefix")
            .withDescription(rb.getString("blk-file-prefix")).create());
    opts.addOption(OptionBuilder.withLongOpt("blk-file-suffix").hasArg().withArgName("suffix")
            .withDescription(rb.getString("blk-file-suffix")).create());
    opts.addOption("c", "cat-blk-files", false, rb.getString("cat-blk-files"));
    opts.addOption(null, "keep-blk-files", false, rb.getString("keep-blk-files"));
    opts.addOption(OptionBuilder.withLongOpt("blk-spec").hasArg().withArgName("xml-file")
            .withDescription(rb.getString("blk-spec")).create("X"));
}

From source file:org.dcm4che.tool.xml2dcm.Xml2Dcm.java

@SuppressWarnings("static-access")
private static void addFileEncodingOptions(Options opts) {
    opts.addOption(OptionBuilder.withLongOpt("transfer-syntax").hasArg().withArgName("uid")
            .withDescription(rb.getString("transfer-syntax")).create("t"));
    OptionGroup fmiGroup = new OptionGroup();
    fmiGroup.addOption(OptionBuilder.withLongOpt("no-fmi").withDescription(rb.getString("no-fmi")).create("F"));
    fmiGroup.addOption(OptionBuilder.withLongOpt("fmi").withDescription(rb.getString("fmi")).create("f"));
    opts.addOptionGroup(fmiGroup);//ww  w.  j  a v a2  s .  c  o m
    CLIUtils.addEncodingOptions(opts);
}

From source file:org.dcm4che2.tool.dcmdir.DcmDir.java

private static CommandLine parse(String[] args) {
    Options opts = new Options();
    OptionGroup cmdOpt = new OptionGroup();
    OptionBuilder.withArgName("dicomdir");
    OptionBuilder.hasArg();/* ww w  .  ja v  a 2 s .c  o m*/
    OptionBuilder.withDescription("create new directory file <dicomdir> for DICOM file-set "
            + "specified by file.. or directory.. arguments");
    cmdOpt.addOption(OptionBuilder.create("c"));
    OptionBuilder.withArgName("dicomdir");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("read directory file <dicomdir> and dump content to stdout");
    cmdOpt.addOption(OptionBuilder.create("t"));
    OptionBuilder.withArgName("dicomdir");
    OptionBuilder.hasArg();
    OptionBuilder
            .withDescription("add references to specified files to existing directory file " + "<dicomdir>");
    cmdOpt.addOption(OptionBuilder.create("a"));
    OptionBuilder.withArgName("dicomdir");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription(
            "delete references to specified files from existing directory " + "file <dicomdir>");
    cmdOpt.addOption(OptionBuilder.create("d"));
    OptionBuilder.withArgName("dicomdir");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("purge records without file references from directory file " + "<dicomdir>.");
    cmdOpt.addOption(OptionBuilder.create("p"));
    OptionBuilder.withArgName("dicomdir");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("compact existing directory file <dicomdir> by removing unused entries");
    cmdOpt.addOption(OptionBuilder.create("z"));
    opts.addOptionGroup(cmdOpt);
    OptionBuilder.withArgName("txtfile");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("specify File-set Descriptor File");
    opts.addOption(OptionBuilder.create("desc"));
    OptionBuilder.withArgName("code");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription(
            "Character Set used in File-set Descriptor File" + "(\"ISO_IR 100\" = ISO Latin 1).");
    opts.addOption(OptionBuilder.create("desccs"));
    OptionBuilder.withArgName("id");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("specify File-set ID");
    opts.addOption(OptionBuilder.create("id"));
    OptionBuilder.withArgName("uid");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("specify File-set UID");
    opts.addOption(OptionBuilder.create("uid"));
    OptionBuilder.withArgName("max");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("maximal number of characters per line, by default: 80");
    opts.addOption(OptionBuilder.create("w"));
    OptionBuilder.withArgName("max");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("limit value prompt to <maxlen> characters, by default: 64");
    opts.addOption(OptionBuilder.create("W"));
    opts.addOption("inactive", false, "dump also inactive records.");
    opts.addOption("S", false,
            "encode Sequences with undefined length," + "encode with explicit length by default.");
    opts.addOption("I", false,
            "encode Sequence Items with undefined length," + "encode with explicit length 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("dcmdir: " + e.getMessage());
        throw new RuntimeException("unreachable");
    }
    if (cl.hasOption('V')) {
        Package p = DcmDir.class.getPackage();
        System.out.println("dcmdir v" + p.getImplementationVersion());
        System.exit(0);
    }
    if (cl.hasOption('h') || !(cl.hasOption("a") || cl.hasOption("c") || cl.hasOption("d") || cl.hasOption("p")
            || cl.hasOption("t") || cl.hasOption("z"))) {
        HelpFormatter formatter = new HelpFormatter();
        formatter.printHelp(USAGE, DESCRIPTION, opts, EXAMPLE);
        System.exit(0);
    }
    return cl;
}

From source file:org.dcm4che2.tool.dcmecho.DcmEcho.java

private static CommandLine parse(String[] args) {
    Options opts = new Options();

    OptionBuilder.withArgName("name");
    OptionBuilder.hasArg();//from  w  ww  .  ja v a2 s  . c  om
    OptionBuilder.withDescription("set device name, use DCMECHO by default");
    opts.addOption(OptionBuilder.create("device"));

    OptionBuilder.withArgName("aet[@host]");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("set AET and local address 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"));

    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_1.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("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("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("ms");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("timeout in ms for receiving DIMSE-RQ, 10s by default");
    opts.addOption(OptionBuilder.create("idleTO"));

    OptionBuilder.withArgName("num");
    OptionBuilder.hasArg();
    OptionBuilder.withDescription("repeat C-ECHO RQ several times");
    opts.addOption(OptionBuilder.create("repeat"));

    OptionBuilder.withArgName("ms");
    OptionBuilder.hasArg();
    OptionBuilder
            .withDescription("delay in ms between repeated C-FIND RQ, immediately after C-FIND RSP by default");
    opts.addOption(OptionBuilder.create("repeatdelay"));

    opts.addOption("reuseassoc", false, "Reuse association for repeated C-ECHO");
    opts.addOption("closeassoc", false, "Close association after each C-ECHO");
    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("dcmecho: " + e.getMessage());
        throw new RuntimeException("unreachable");
    }
    if (cl.hasOption('V')) {
        Package p = DcmEcho.class.getPackage();
        System.out.println("dcmecho v" + p.getImplementationVersion());
        System.exit(0);
    }
    if (cl.hasOption('h') || cl.getArgList().size() != 1) {
        HelpFormatter formatter = new HelpFormatter();
        formatter.printHelp(USAGE, DESCRIPTION, opts, EXAMPLE);
        System.exit(0);
    }
    return cl;
}