List of usage examples for org.apache.commons.cli OptionBuilder hasArg
public static OptionBuilder hasArg()
From source file:org.dcm4che.tool.xml2dcm.Xml2Dcm.java
@SuppressWarnings("static-access") private static void addIOFileNameOptions(Options opts) { opts.addOption(/*from w ww .jav a 2 s . co m*/ OptionBuilder.hasArg().withArgName("xml-file").withDescription(rb.getString("x-file")).create("x")); opts.addOption(OptionBuilder.hasArg().withArgName("dicom-file").withDescription(rb.getString("i-file")) .create("i")); opts.addOption(OptionBuilder.hasArg().withArgName("dicom-file").withDescription(rb.getString("o-file")) .create("o")); }
From source file:org.dcm4che2.tool.chess3d.Chess3D.java
private static CommandLine parse(String[] args) { Options opts = new Options(); Option oThickness = new Option("t", "thickness", true, "Slice Thickness, 1 by default"); oThickness.setArgName("thickness"); opts.addOption(oThickness);/* www.j a v a2s . co m*/ Option oLocation = new Option("l", "location", true, "Slice Location of first image, 0.0\\0.0\\0.0 by default"); oLocation.setArgName("location"); opts.addOption(oLocation); Option ox = new Option("x", "rectWidth", true, "Width of one chess rectangle (x-coord). 100 by default"); ox.setArgName("x"); opts.addOption(ox); Option oy = new Option("y", "rectDepth", true, "Heigth of one chess rectangle (y-coord). 100 by default"); oy.setArgName("y"); opts.addOption(oy); Option oX = new Option("X", "xRect", true, "Number of chess fields in x-coord, 10 by default"); oX.setArgName("X"); opts.addOption(oX); Option oY = new Option("Y", "yRect", true, "Number of chess fields in y-coord, 10 by default"); oY.setArgName("Y"); opts.addOption(oY); Option oZ = new Option("Z", "zRect", true, "Number of chess fields in z-coord, 5 by default"); oZ.setArgName("Z"); opts.addOption(oZ); Option oW = new Option("w", "white", true, "White field value (0-255), 225 by default"); oW.setArgName("w"); opts.addOption(oW); Option oB = new Option("b", "black", true, "Black field value (0-255), 0 by default"); oB.setArgName("b"); opts.addOption(oB); Option oWin = new Option("win", "window", true, "Window level. Format: <center>\\<width>. 128\\256 by default"); oWin.setArgName("win"); opts.addOption(oWin); OptionBuilder.withArgName("dir"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "Destination directory, parent of xml file or current working directory by default"); opts.addOption(OptionBuilder.create("d")); opts.addOption("S", "studyUID", false, "Create new Study Instance UID. Only effective if xmlFile is specified and studyIUID is set"); opts.addOption("s", "seriesUID", false, "create new Series Instance UID. Only effective if xmlFile is specified and seriesIUID is set"); OptionBuilder.withArgName("prefix"); OptionBuilder.hasArg(); OptionBuilder.withDescription("Generate UIDs with given prefix, 1.2.40.0.13.1.<host-ip> by default."); opts.addOption(OptionBuilder.create("uid")); 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("chess3d: " + e.getMessage()); throw new RuntimeException("unreachable"); } if (cl.hasOption('V')) { Package p = Chess3D.class.getPackage(); System.out.println("chess3d 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; }
From source file:org.dcm4che2.tool.dcm2dcm.Dcm2Dcm.java
private static CommandLine parse(String[] args) { Options opts = new Options(); opts.addOption(null, "no-fmi", false, "Encode result without File Meta Information. At default, " + " File Meta Information is included."); opts.addOption("e", "explicit", false, "Encode result with Explicit VR Little Endian Transfer Syntax. " + "At default, Implicit VR Little Endian is used."); opts.addOption("b", "big-endian", false, "Encode result with Explicit VR Big Endian Transfer Syntax. " + "At default, Implicit VR Little Endian is used."); opts.addOption("z", "deflated", false, "Encode result with Deflated Explicit VR Little Endian Syntax. " + "At default, Implicit VR Little Endian is used."); OptionBuilder.withArgName("[seq/]attr=value"); OptionBuilder.hasArgs(2);/*from w ww . jav a 2 s . com*/ OptionBuilder.withValueSeparator('='); OptionBuilder.withDescription( "specify value to set in the output stream. Currently only works when transcoding images."); opts.addOption(OptionBuilder.create("s")); opts.addOption("t", "syntax", true, "Encode result with the specified transfer syntax - recodes" + " the image typically."); OptionBuilder.withArgName("KB"); OptionBuilder.hasArg(); OptionBuilder.withDescription("transcoder buffer size in KB, 1KB by default"); OptionBuilder.withLongOpt("buffer"); opts.addOption(OptionBuilder.create(null)); 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 PosixParser().parse(opts, args); } catch (ParseException e) { exit("dcm2dcm: " + e.getMessage()); throw new RuntimeException("unreachable"); } if (cl.hasOption('V')) { Package p = Dcm2Dcm.class.getPackage(); System.out.println("dcm2dcm 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:org.dcm4che2.tool.dcm2jpg.Dcm2Jpg.java
private static CommandLine parse(String[] args) { Options opts = new Options(); OptionBuilder.withArgName("frame"); OptionBuilder.hasArg(); OptionBuilder.withDescription("frame to convert, 1 (= first frame) by default"); opts.addOption(OptionBuilder.create("f")); OptionBuilder.withArgName("imagequality"); OptionBuilder.hasArg();/*from ww w . j a v a 2s. co m*/ OptionBuilder.withDescription("JPEG Image Quality (0-100)"); opts.addOption(OptionBuilder.create("q")); OptionBuilder.withArgName("ImageWriterClass"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "ImageWriter to be used [Default: JPEGImageEncoder instead of imageIO]. Use * to choose the first ImageIO Writer found for given image format"); opts.addOption(OptionBuilder.create("imagewriter")); opts.addOption("S", "showFormats", false, "Show all supported format names by registered ImageWriters."); opts.addOption("s", "showimagewriter", false, "Show all available Image Writer for specified format name."); OptionBuilder.withArgName("formatName"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "Image Format Name. [default JPEG] This option will imply default values for ImageWriterClass='*' and jpgext='.<formatname>'"); opts.addOption(OptionBuilder.create("F")); OptionBuilder.withArgName("compressionType"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "Compression Type. [default: '*' (exception: jpeg for format JPEG)] Only applicable if an ImageWriterClass is used! Use * to choose the first compression type."); opts.addOption(OptionBuilder.create("T")); OptionBuilder.withArgName("prfile"); OptionBuilder.hasArg(); OptionBuilder.withDescription("file path of presentation state to apply"); opts.addOption(OptionBuilder.create("p")); OptionBuilder.withArgName("center"); OptionBuilder.hasArg(); OptionBuilder.withDescription("Window Center"); opts.addOption(OptionBuilder.create("c")); OptionBuilder.withArgName("width"); OptionBuilder.hasArg(); OptionBuilder.withDescription("Window Width"); opts.addOption(OptionBuilder.create("w")); opts.addOption("sigmoid", false, "apply sigmoid VOI LUT function with given Window Center/Width"); opts.addOption("noauto", false, "disable auto-windowing for images w/o VOI attributes"); OptionBuilder.withArgName("file"); OptionBuilder.hasArg(); OptionBuilder.withDescription("file path of P-Value to gray value map"); opts.addOption(OptionBuilder.create("pv2gray")); OptionBuilder.withArgName(".xxx"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "jpeg file extension used with destination directory argument," + " default: '.jpg'."); opts.addOption(OptionBuilder.create("jpgext")); 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("dcm2jpg: " + e.getMessage()); throw new RuntimeException("unreachable"); } if (cl.hasOption('V')) { Package p = Dcm2Jpg.class.getPackage(); System.out.println("dcm2jpg v" + p.getImplementationVersion()); System.exit(0); } if (cl.hasOption('h') || !(cl.hasOption('s') || cl.hasOption('S')) && cl.getArgList().size() < 2) { HelpFormatter formatter = new HelpFormatter(); formatter.printHelp(USAGE, DESCRIPTION, opts, EXAMPLE); System.exit(0); } return cl; }
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(); 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();//from w ww. j a v a 2 s . c o m 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(); OptionBuilder.withDescription("set device name, use DCMECHO by default"); opts.addOption(OptionBuilder.create("device")); OptionBuilder.withArgName("aet[@host]"); OptionBuilder.hasArg();/*from w w w . java 2 s . co m*/ 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; }
From source file:org.dcm4che2.tool.dcmgpwl.DcmGPWL.java
private static CommandLine parse(String[] args) { Options opts = new Options(); OptionBuilder.withArgName("name"); OptionBuilder.hasArg(); OptionBuilder.withDescription("set device name, use DCMGPWL by default"); opts.addOption(OptionBuilder.create("device")); OptionBuilder.withArgName("aet[@host]"); OptionBuilder.hasArg();//w w w . j a va2 s .c o m 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")); opts.addOption("metasop", false, "offer General Purpose Worklist Management Meta SOP Class."); opts.addOption("ivrle", false, "offer only Implicit VR Little Endian Transfer Syntax."); opts.addOption("fuzzy", false, "negotiate support of fuzzy semantic person name attribute matching."); 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("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("status"); OptionBuilder.hasArg(); OptionBuilder.withDescription("match/set GP-SPS/GP-PPS to specified <status>"); opts.addOption(OptionBuilder.create("status")); OptionBuilder.withArgName("iuid:tuid"); OptionBuilder.hasArgs(2); OptionBuilder.withValueSeparator(':'); OptionBuilder.withDescription( "modify status of GP-SPS with SOP Instance UID <iuid> " + "using Transaction UID <tuid>."); opts.addOption(OptionBuilder.create("action")); OptionBuilder.withArgName("iuid"); OptionBuilder.hasArg(); OptionBuilder.withDescription("create GP-PPS with SOP Instance UID <iuid>."); opts.addOption(OptionBuilder.create("createpps")); OptionBuilder.withArgName("aet"); OptionBuilder.hasArg(); OptionBuilder.withDescription("retrieve AET used in SOP references in Output Information" + "Sequence in created or updated GP-PPS."); opts.addOption(OptionBuilder.create("retrieve")); OptionBuilder.withArgName("iuid"); OptionBuilder.hasArg(); OptionBuilder.withDescription("update GP-PPS with SOP Instance UID <iuid>."); opts.addOption(OptionBuilder.create("setpps")); OptionBuilder.withArgName("iuid:tuid"); OptionBuilder.hasArgs(2); OptionBuilder.withValueSeparator(':'); OptionBuilder.withDescription( "reference GP-SPS with SOP Instance UID <iuid> and " + "Transaction UID <tuid> in created GP-PPS."); opts.addOption(OptionBuilder.create("refsps")); OptionBuilder.withArgName("attr=value"); OptionBuilder.hasArgs(); OptionBuilder.withValueSeparator('='); OptionBuilder.withDescription("specify matching key or PPS attribute. attr can be specified " + "by name or tag value (in hex), e.g. PatientName or 00100010."); opts.addOption(OptionBuilder.create("A")); OptionBuilder.withArgName("datetime"); OptionBuilder.hasArg(); OptionBuilder.withDescription("specify matching SPS start datetime (range)"); opts.addOption(OptionBuilder.create("D")); OptionBuilder.withArgName("attr=value"); OptionBuilder.hasArgs(); OptionBuilder.withValueSeparator('='); OptionBuilder.withDescription("specify matching Referenced Request key or PPS attribute. " + "attr can be specified by name or tag value (in hex)"); opts.addOption(OptionBuilder.create("rqA")); OptionBuilder.withArgName("code:scheme:[name]"); OptionBuilder.hasArgs(3); OptionBuilder.withValueSeparator(':'); OptionBuilder.withDescription("specify matching Scheduled Workitem Code"); opts.addOption(OptionBuilder.create("workitem")); OptionBuilder.withArgName("code:scheme:[name]"); OptionBuilder.hasArgs(3); OptionBuilder.withValueSeparator(':'); OptionBuilder.withDescription("specify matching Scheduled Processing Application Code"); opts.addOption(OptionBuilder.create("application")); OptionBuilder.withArgName("code:scheme:[name]"); OptionBuilder.hasArgs(3); OptionBuilder.withValueSeparator(':'); OptionBuilder.withDescription("specify matching Scheduled Station Name Code"); opts.addOption(OptionBuilder.create("station")); OptionBuilder.withArgName("code:scheme:[name]"); OptionBuilder.hasArgs(3); OptionBuilder.withValueSeparator(':'); OptionBuilder.withDescription("specify matching Scheduled Station Class Code"); opts.addOption(OptionBuilder.create("class")); OptionBuilder.withArgName("code:scheme:[name]"); OptionBuilder.hasArgs(3); OptionBuilder.withValueSeparator(':'); OptionBuilder.withDescription("specify matching Scheduled Station Geographic Location Code"); opts.addOption(OptionBuilder.create("location")); OptionBuilder.withArgName("code:scheme:[name]"); OptionBuilder.hasArgs(3); OptionBuilder.withValueSeparator(':'); OptionBuilder.withDescription("specify matching Scheduled Human Performer Code"); opts.addOption(OptionBuilder.create("performer")); OptionBuilder.withArgName("code:scheme:name"); OptionBuilder.hasArgs(3); OptionBuilder.withValueSeparator(':'); OptionBuilder.withDescription("specify Actual Human Performer Code"); opts.addOption(OptionBuilder.create("perfcode")); OptionBuilder.withArgName("name"); OptionBuilder.hasArg(); OptionBuilder.withDescription("specify Actual Human Performer Name"); opts.addOption(OptionBuilder.create("perfname")); OptionBuilder.withArgName("name"); OptionBuilder.hasArg(); OptionBuilder.withDescription("specify Actual Human Performer Organisation"); opts.addOption(OptionBuilder.create("perforg")); OptionBuilder.withArgName("num"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "cancel query after receive of specified number of responses, " + "no cancel by default"); opts.addOption(OptionBuilder.create("C")); OptionBuilder.withArgName("dir"); OptionBuilder.hasArg(); OptionBuilder.withDescription("store query results in DICOM files in directory <dir>."); opts.addOption(OptionBuilder.create("o")); opts.addOption("lowprior", false, "LOW priority of the C-FIND operation, MEDIUM by default"); opts.addOption("highprior", false, "HIGH priority of the C-FIND 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("dcmgpwl: " + e.getMessage()); throw new RuntimeException("unreachable"); } if (cl.hasOption('V')) { Package p = DcmGPWL.class.getPackage(); System.out.println("dcmgpwl 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; }
From source file:org.dcm4che2.tool.dcmhpqr.DcmHPQR.java
private static CommandLine parse(String[] args) { Options opts = new Options(); OptionBuilder.withArgName("name"); OptionBuilder.hasArg(); OptionBuilder.withDescription("set device name, use DCMHPQR by default"); opts.addOption(OptionBuilder.create("device")); OptionBuilder.withArgName("aet[@host]"); OptionBuilder.hasArg();//from w w w . j ava 2 s. c o m 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")); opts.addOption("ivrle", false, "offer only Implicit VR Little Endian Transfer Syntax."); 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("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("[seq/]attr=value"); OptionBuilder.hasArgs(); OptionBuilder.withValueSeparator('='); OptionBuilder.withDescription( "specify matching key. attr can be " + "specified by name or tag value (in hex), e.g. PatientName " + "or 00100010. Attributes in nested Datasets can " + "be specified by preceding the name/tag value of " + "the sequence attribute, e.g. 0072000C/00080060 " + "for Modality in the Hanging Protocol Definition " + "Sequence."); opts.addOption(OptionBuilder.create("q")); OptionBuilder.withArgName("Modality"); OptionBuilder.hasArg(); OptionBuilder .withDescription("specify matching Modality. Shortcut " + "for -q0072000C/00080060=<modality>."); opts.addOption(OptionBuilder.create("mod")); OptionBuilder.withArgName("Laterality"); OptionBuilder.hasArg(); OptionBuilder.withDescription("specify matching Laterality. Shortcut for -q0072000C/00200060=<lat>."); opts.addOption(OptionBuilder.create("lat")); OptionBuilder.withArgName("AnatomicRegion"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "specify matching Anatomic Region Sequence Code Value and Coding Scheme Designator. " + "Code Value and Coding Scheme Designer are separated by ':'. For example, T1234:DCM4CHE."); opts.addOption(OptionBuilder.create("ar")); OptionBuilder.withArgName("ProcedureCode"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "specify matching Procedure Code Sequence Code Value and Coding Scheme Designator. " + "Code Value and Coding Scheme Designer are separated by ':'. For example, T1234:DCM4CHE."); opts.addOption(OptionBuilder.create("pc")); OptionBuilder.withArgName("ReasonCode"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "specify matching Reason for Requested Procedure Sequence Code Value and Coding Scheme Designator. " + "Code Value and Coding Scheme Designer are separated by ':'. For example, T1234:DCM4CHE."); opts.addOption(OptionBuilder.create("rfrp")); OptionBuilder.withArgName("HPUserIDCode"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "specify matching HP User ID Code Sequence Code Value and Coding Scheme Designator. " + "Code Value and Coding Scheme Designer are separated by ':'. For example, T1234:DCM4CHE."); opts.addOption(OptionBuilder.create("user")); OptionBuilder.withArgName("attr"); OptionBuilder.hasArgs(); OptionBuilder.withDescription( "specify additional return key. attr can be specified by name or tag value (in hex)."); opts.addOption(OptionBuilder.create("r")); OptionBuilder.withArgName("num"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "cancel query after receive of specified number of responses, no cancel by default"); opts.addOption(OptionBuilder.create("C")); OptionBuilder.withArgName("aet"); OptionBuilder.hasArg(); OptionBuilder.withDescription("retrieve matching objects to specified move destination."); opts.addOption(OptionBuilder.create("dest")); opts.addOption("lowprior", false, "LOW priority of the C-FIND/C-MOVE operation, MEDIUM by default"); opts.addOption("highprior", false, "HIGH priority of the C-FIND/C-MOVE 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("dcmhp: " + e.getMessage()); throw new RuntimeException("unreachable"); } if (cl.hasOption('V')) { Package p = DcmHPQR.class.getPackage(); System.out.println("dcmhpqr 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; }
From source file:org.dcm4che2.tool.dcmmwl.DcmMWL.java
private static CommandLine parse(String[] args) { Options opts = new Options(); OptionBuilder.withArgName("name"); OptionBuilder.hasArg(); OptionBuilder.withDescription("set device name, use DCMMWL by default"); opts.addOption(OptionBuilder.create("device")); OptionBuilder.withArgName("aet[@host]"); OptionBuilder.hasArg();/*www .j a va 2 s. c om*/ 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")); opts.addOption("ivrle", false, "offer only Implicit VR Little Endian Transfer Syntax."); opts.addOption("fuzzy", false, "negotiate support of fuzzy semantic person name attribute matching."); 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("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("[seq/]attr=value"); OptionBuilder.hasArgs(); OptionBuilder.withValueSeparator('='); OptionBuilder.withDescription( "specify matching key. attr can be " + "specified by name or tag value (in hex), e.g. PatientName " + "or 00100010. Attributes in nested Datasets can " + "be specified by preceding the name/tag value of " + "the sequence attribute, e.g. 00400100/00400009 " + "for Scheduled Procedure Step ID in the Scheduled " + "Procedure Step Sequence."); opts.addOption(OptionBuilder.create("q")); OptionBuilder.withArgName("date"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "specify matching SPS start date " + "(range). Shortcut for -q00400100/00400002=<date>."); opts.addOption(OptionBuilder.create("date")); OptionBuilder.withArgName("time"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "specify matching SPS start time " + "(range). Shortcut for -q00400100/00400003=<time>."); opts.addOption(OptionBuilder.create("time")); OptionBuilder.withArgName("modality"); OptionBuilder.hasArg(); OptionBuilder .withDescription("specify matching Modality. Shortcut " + "for -q00400100/00080060=<modality>."); opts.addOption(OptionBuilder.create("mod")); OptionBuilder.withArgName("aet"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "specify matching Scheduled Station AE " + "title. Shortcut for -q00400100/00400001=<aet>."); opts.addOption(OptionBuilder.create("aet")); OptionBuilder.withArgName("attr"); OptionBuilder.hasArgs(); OptionBuilder.withDescription( "specify additional return key. attr can " + "be specified by name or tag value (in hex)."); opts.addOption(OptionBuilder.create("r")); OptionBuilder.withArgName("num"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "cancel query after receive of specified " + "number of responses, no cancel by default"); opts.addOption(OptionBuilder.create("C")); opts.addOption("lowprior", false, "LOW priority of the C-FIND operation, MEDIUM by default"); opts.addOption("highprior", false, "HIGH priority of the C-FIND 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("dcmmwl: " + e.getMessage()); throw new RuntimeException("unreachable"); } if (cl.hasOption('V')) { Package p = DcmMWL.class.getPackage(); System.out.println("dcmqr 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; }
From source file:org.dcm4che2.tool.dcmof.DcmOF.java
private static CommandLine parse(String[] args) { Options opts = new Options(); OptionBuilder.withArgName("name"); OptionBuilder.hasArg(); OptionBuilder.withDescription("set device name, use DCMOF by default"); opts.addOption(OptionBuilder.create("device")); OptionBuilder.withArgName("NULL|3DES|AES"); OptionBuilder.hasArg();//from ww w . ja v a 2s .c om 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("dir"); OptionBuilder.hasArg(); OptionBuilder.withDescription("Activate MWL SCP, providing MWL Items stored in specified directory."); opts.addOption(OptionBuilder.create("mwl")); OptionGroup mpps = new OptionGroup(); OptionBuilder.withArgName("dir"); OptionBuilder.hasArg(); OptionBuilder.withDescription("Activate MPPS SCP, storing received MPPS in specified directory."); mpps.addOption(OptionBuilder.create("mpps")); OptionBuilder.withArgName("dir"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "Activate MPPS SCP, storing XML received MPPS in specified directory in XML format."); mpps.addOption(OptionBuilder.create("mppsxml")); opts.addOptionGroup(mpps); OptionGroup ian = new OptionGroup(); OptionBuilder.withArgName("dir"); OptionBuilder.hasArg(); OptionBuilder.withDescription("Activate IAN SCP, storing received IAN in specified directory."); ian.addOption(OptionBuilder.create("ian")); OptionBuilder.withArgName("dir"); OptionBuilder.hasArg(); OptionBuilder .withDescription("Activate IAN SCP, storing received IAN in specified directory in XML format."); ian.addOption(OptionBuilder.create("ianxml")); opts.addOptionGroup(ian); OptionGroup scn = new OptionGroup(); OptionBuilder.withArgName("dir"); OptionBuilder.hasArg(); OptionBuilder.withDescription("Activate SCN SCP, storing received SCN in specified directory."); scn.addOption(OptionBuilder.create("scn")); OptionBuilder.withArgName("dir"); OptionBuilder.hasArg(); OptionBuilder .withDescription("Activate SCN SCP, storing received SCN in specified directory in XML format."); scn.addOption(OptionBuilder.create("scnxml")); opts.addOptionGroup(scn); opts.addOption("c", "compact", false, "suppress additional whitespaces in XML output"); opts.addOption("C", "comments", false, "include attribute names as comments in XML output"); OptionGroup ts = new OptionGroup(); OptionBuilder.withDescription("accept only default Transfer Syntax."); ts.addOption(OptionBuilder.create("defts")); OptionBuilder.withDescription("accept Explict VR Big Endian Transfer Syntax."); ts.addOption(OptionBuilder.create("bigendian")); opts.addOptionGroup(ts); OptionBuilder.withArgName("maxops"); OptionBuilder.hasArg(); OptionBuilder.withDescription( "maximum number of outstanding operations performed " + "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("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("timeout in ms for receiving -ASSOCIATE-RQ, 5s by default"); opts.addOption(OptionBuilder.create("requestTO")); 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("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-RQ, 60s by default"); opts.addOption(OptionBuilder.create("idleTO")); 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")); 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("dcmof: " + e.getMessage()); throw new RuntimeException("unreachable"); } if (cl.hasOption("V")) { Package p = DcmOF.class.getPackage(); System.out.println("dcmof v" + p.getImplementationVersion()); System.exit(0); } if (cl.hasOption("h") || cl.getArgList().size() == 0) { HelpFormatter formatter = new HelpFormatter(); formatter.printHelp(USAGE, DESCRIPTION, opts, EXAMPLE); System.exit(0); } return cl; }