Java源码示例:gnu.getopt.LongOpt

示例1
/**
 * Looks up for the conf property in the arguments passed to the executable
 *
 * @param opts command line arguments passed to the executable
 * @param confChar the short option corresponding to the conf property
 * @return
 */
protected String lookupConfProperty(String[] opts, char confChar) {
    LongOpt[] longOptions = new LongOpt[1];
    longOptions[0] = new LongOpt("conf", LongOpt.REQUIRED_ARGUMENT, null, confChar);
    Getopt g = new Getopt("Executable", opts, confChar + ":", longOptions, false);
    g.setOpterr(false);
    String propertyFilePath = null;
    int option = 0;
    while ((option = g.getopt()) != -1) {
        if (option == confChar) {
            propertyFilePath = g.getOptarg();
            break;
        }
    }

    if (propertyFilePath == null) {
        // PM-1018 if no --conf provided fall back to pegasus.properties
        // in the current working directory from where command is called
        propertyFilePath = "." + File.separatorChar + Executable.DEFAULT_PROPERTIES_FILE;
    }

    return propertyFilePath;
}
 
示例2
public LongOpt[] generateValidOptions() {
    LongOpt[] longopts = new LongOpt[16];
    longopts[0] = new LongOpt("add", LongOpt.NO_ARGUMENT, null, 'a');
    longopts[1] = new LongOpt("delete", LongOpt.NO_ARGUMENT, null, 'd');
    longopts[2] = new LongOpt("query", LongOpt.NO_ARGUMENT, null, 'q');
    longopts[3] = new LongOpt("lfn", LongOpt.REQUIRED_ARGUMENT, null, 'l');
    longopts[4] = new LongOpt("pfn", LongOpt.REQUIRED_ARGUMENT, null, 'p');
    longopts[5] = new LongOpt("profile", LongOpt.REQUIRED_ARGUMENT, null, 'e');
    longopts[6] = new LongOpt("type", LongOpt.REQUIRED_ARGUMENT, null, 't');
    longopts[7] = new LongOpt("file", LongOpt.REQUIRED_ARGUMENT, null, 'f');
    longopts[8] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h');
    longopts[9] = new LongOpt("version", LongOpt.NO_ARGUMENT, null, 'V');
    longopts[10] = new LongOpt("verbose", LongOpt.NO_ARGUMENT, null, 'v');
    longopts[11] = new LongOpt("resource", LongOpt.REQUIRED_ARGUMENT, null, 'r');
    longopts[12] = new LongOpt("system", LongOpt.REQUIRED_ARGUMENT, null, 's');
    longopts[13] = new LongOpt("xml", LongOpt.NO_ARGUMENT, null, 'x');
    longopts[14] = new LongOpt("oldformat", LongOpt.NO_ARGUMENT, null, 'o');
    longopts[15] = new LongOpt("conf", LongOpt.REQUIRED_ARGUMENT, null, 'c');
    return longopts;
}
 
示例3
/**
 * Generates the list of valid options for the tc-converter client
 *
 * @return LongOpt[] list of valid options
 */
public LongOpt[] generateValidOptions() {
    LongOpt[] longopts = new LongOpt[10];
    longopts[0] = new LongOpt("input", LongOpt.REQUIRED_ARGUMENT, null, 'i');
    longopts[1] = new LongOpt("iformat", LongOpt.REQUIRED_ARGUMENT, null, 'I');
    longopts[2] = new LongOpt("output", LongOpt.REQUIRED_ARGUMENT, null, 'o');
    longopts[3] = new LongOpt("oformat", LongOpt.REQUIRED_ARGUMENT, null, 'O');
    longopts[4] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h');
    longopts[5] = new LongOpt("version", LongOpt.NO_ARGUMENT, null, 'V');
    longopts[6] = new LongOpt("verbose", LongOpt.NO_ARGUMENT, null, 'v');
    longopts[7] = new LongOpt("quiet", LongOpt.NO_ARGUMENT, null, 'q');
    longopts[8] = new LongOpt("conf", LongOpt.REQUIRED_ARGUMENT, null, 'c');
    longopts[9] = new LongOpt("expand", LongOpt.NO_ARGUMENT, null, 'e');

    return longopts;
}
 
示例4
/**
 * Creates a set of GNU long options.
 *
 * @return an initialized array with the options
 */
protected LongOpt[] generateValidOptions() {
    LongOpt[] lo = new LongOpt[11];

    lo[0] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h');
    lo[1] = new LongOpt("version", LongOpt.NO_ARGUMENT, null, 'V');
    lo[2] = new LongOpt("file", LongOpt.REQUIRED_ARGUMENT, null, 'f');
    lo[3] = new LongOpt("pref", LongOpt.REQUIRED_ARGUMENT, null, 'p');
    lo[4] = new LongOpt("insert", LongOpt.REQUIRED_ARGUMENT, null, 'i');
    lo[5] = new LongOpt("delete", LongOpt.REQUIRED_ARGUMENT, null, 'd');
    lo[6] = new LongOpt("lookup", LongOpt.REQUIRED_ARGUMENT, null, 'l');
    lo[7] = new LongOpt("verbose", LongOpt.NO_ARGUMENT, null, 'v');
    lo[8] = new LongOpt("conf", LongOpt.REQUIRED_ARGUMENT, null, 'c');
    lo[9] = new LongOpt("meta", LongOpt.REQUIRED_ARGUMENT, null, 'm');
    lo[10] = new LongOpt("prefix", LongOpt.REQUIRED_ARGUMENT, null, 'P');
    return lo;
}
 
示例5
/**
 * Looks up for the conf property in the command line arguments passed to the RCClient
 *
 * @param opts command line arguments
 * @param confChar short char corresponding to the conf property
 * @return path to the property file
 */
private String lookupConfProperty(String[] opts, char confChar) {
    LongOpt[] longOptions = new LongOpt[1];
    longOptions[0] = new LongOpt("conf", LongOpt.REQUIRED_ARGUMENT, null, confChar);
    // Create a clone before passing it to the GetOpts
    // Getopts changes the ordering of the array.
    String[] optsClone = new String[opts.length];
    for (int i = 0; i < opts.length; i++) {
        optsClone[i] = opts[i];
    }

    Getopt g = new Getopt("RCClient", optsClone, confChar + ":", longOptions, false);
    g.setOpterr(false);
    String propertyFilePath = null;
    int option = 0;
    while ((option = g.getopt()) != -1) {
        if (option == confChar) {
            propertyFilePath = g.getOptarg();
            break;
        }
    }
    return propertyFilePath;
}
 
示例6
/**
 * Add a long argumentless option with the specified listener.
 */    
public void addLong(ListenerIF listener, String name, char c) {
  // No argument
  largs.add(new LongOpt(name, LongOpt.NO_ARGUMENT, null, c));
  // Register listener
  listeners.put(new Integer(c), listener);    
}
 
示例7
/**
 * Add a long option with argument with the specified listener.
 */    
public void addLong(ListenerIF listener, String name, char c, boolean req_arg) {
  if (req_arg)
    // Required argument
    largs.add(new LongOpt(name, LongOpt.REQUIRED_ARGUMENT, null, c));
  else
    // Optional argument
    largs.add(new LongOpt(name, LongOpt.OPTIONAL_ARGUMENT, null, c));
  // Register listener
  listeners.put(new Integer(c), listener);    
}
 
示例8
/**
 * Parse the command line arguments and notify option listeners.
 */    
public void parse() throws OptionsException {
  Getopt g = new Getopt(application, argv, sargs.toString(), largs.toArray(new LongOpt[] {}));
  g.setOpterr(false); // We'll do our own error handling
  
  int c;
  while ((c = g.getopt()) != -1) {
    switch (c) {
    case '?':
      // Get invalid option
      int ix = g.getOptind();
      String option = argv[(ix == 0 ? 0 : ix-1)];
      throw new OptionsException(option, g.getOptarg());
    default:
      ListenerIF listener = listeners.get(new Integer(c));
      if (listener != null)
        listener.processOption((char)c, g.getOptarg());
      else
        System.err.println ("Warning: option '" + (char)c + "' ignored");
      break;
    }
  }
  
  // Get non-option arguments
  for (int i = g.getOptind(); i < argv.length ; i++) {
    arguments.add(argv[i]);
  }
}
 
示例9
/**
 * Parses the command line arguments using GetOpt and returns a <code>PlannerOptions</code>
 * contains all the options passed by the user at the command line.
 *
 * @param args the arguments passed by the user at command line.
 */
public void parseCommandLineArguments(String[] args) {
    LongOpt[] longOptions = generateValidOptions();

    Getopt g = new Getopt("properties-converter", args, "i:o:c:h", longOptions, false);
    g.setOpterr(false);

    int option = 0;

    while ((option = g.getopt()) != -1) {
        // System.out.println("Option tag " + (char)option);
        switch (option) {
            case 'i': // input
                this.mInputFile = g.getOptarg();
                break;

            case 'h': // help
                printLongVersion();
                System.exit(0);
                return;

            case 'o': // output directory
                this.mOutputDir = g.getOptarg();
                break;
            case 'c':
                // do nothing
                break;

            default: // same as help
                printShortVersion();
                throw new RuntimeException(
                        "Incorrect option or option usage " + (char) g.getOptopt());
        }
    }
}
 
示例10
/**
 * Tt generates the LongOpt which contain the valid options that the command will accept.
 *
 * @return array of <code>LongOpt</code> objects , corresponding to the valid options
 */
public LongOpt[] generateValidOptions() {
    LongOpt[] longopts = new LongOpt[4];

    longopts[0] = new LongOpt("input", LongOpt.REQUIRED_ARGUMENT, null, 'i');
    longopts[1] = new LongOpt("output", LongOpt.REQUIRED_ARGUMENT, null, 'o');
    longopts[2] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h');
    longopts[3] = new LongOpt("conf", LongOpt.REQUIRED_ARGUMENT, null, 'c');
    return longopts;
}
 
示例11
public LongOpt[] generateValidOptions() {
    LongOpt[] longopts = new LongOpt[9];
    longopts[0] = new LongOpt("input", LongOpt.REQUIRED_ARGUMENT, null, 'i');
    longopts[1] = new LongOpt("output", LongOpt.REQUIRED_ARGUMENT, null, 'o');
    longopts[2] = new LongOpt("oformat", LongOpt.REQUIRED_ARGUMENT, null, 'O');
    longopts[3] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h');
    longopts[4] = new LongOpt("version", LongOpt.NO_ARGUMENT, null, 'V');
    longopts[5] = new LongOpt("verbose", LongOpt.NO_ARGUMENT, null, 'v');
    longopts[6] = new LongOpt("quiet", LongOpt.NO_ARGUMENT, null, 'q');
    longopts[7] = new LongOpt("conf", LongOpt.REQUIRED_ARGUMENT, null, 'c');
    longopts[8] = new LongOpt("expand", LongOpt.NO_ARGUMENT, null, 'e');
    return longopts;
}
 
示例12
/**
 * Tt generates the LongOpt which contain the valid options that the command will accept.
 *
 * @return array of <code>LongOpt</code> objects , corresponding to the valid options
 */
public LongOpt[] generateValidOptions() {
    LongOpt[] longopts = new LongOpt[30];

    longopts[0] = new LongOpt("dir", LongOpt.REQUIRED_ARGUMENT, null, '8');
    longopts[1] = new LongOpt("dax", LongOpt.REQUIRED_ARGUMENT, null, 'd');
    longopts[2] = new LongOpt("sites", LongOpt.REQUIRED_ARGUMENT, null, 's');
    longopts[3] = new LongOpt("verbose", LongOpt.NO_ARGUMENT, null, 'v');
    longopts[4] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h');
    longopts[5] = new LongOpt("force", LongOpt.NO_ARGUMENT, null, 'f');
    longopts[6] = new LongOpt("submit", LongOpt.NO_ARGUMENT, null, 'S');
    longopts[7] = new LongOpt("version", LongOpt.NO_ARGUMENT, null, 'V');
    longopts[8] = new LongOpt("randomdir", LongOpt.OPTIONAL_ARGUMENT, null, 'r');
    longopts[9] = new LongOpt("conf", LongOpt.REQUIRED_ARGUMENT, null, '6');
    longopts[10] = new LongOpt("cache", LongOpt.REQUIRED_ARGUMENT, null, 'c');
    // collapsing for mpi
    longopts[11] = new LongOpt("cluster", LongOpt.REQUIRED_ARGUMENT, null, 'C');
    // more deferred planning stuff
    longopts[12] = new LongOpt("basename", LongOpt.REQUIRED_ARGUMENT, null, 'b');
    longopts[13] = new LongOpt("nocleanup", LongOpt.NO_ARGUMENT, null, 'n');
    longopts[14] = new LongOpt("deferred", LongOpt.NO_ARGUMENT, null, 'z');
    longopts[15] = new LongOpt("relative-dir", LongOpt.REQUIRED_ARGUMENT, null, '2');
    longopts[16] = new LongOpt("job-prefix", LongOpt.REQUIRED_ARGUMENT, null, 'j');
    longopts[17] = new LongOpt("rescue", LongOpt.REQUIRED_ARGUMENT, null, '3');
    longopts[18] = new LongOpt("forward", LongOpt.REQUIRED_ARGUMENT, null, 'F');
    longopts[19] = new LongOpt("X", LongOpt.REQUIRED_ARGUMENT, null, 'X');
    longopts[20] = new LongOpt("relative-submit-dir", LongOpt.REQUIRED_ARGUMENT, null, '4');
    longopts[21] = new LongOpt("quiet", LongOpt.NO_ARGUMENT, null, 'q');
    longopts[22] = new LongOpt("inherited-rc-files", LongOpt.REQUIRED_ARGUMENT, null, '5');
    longopts[23] = new LongOpt("force-replan", LongOpt.NO_ARGUMENT, null, '7');
    longopts[24] = new LongOpt("staging-site", LongOpt.REQUIRED_ARGUMENT, null, '9');
    longopts[25] = new LongOpt("input-dir", LongOpt.REQUIRED_ARGUMENT, null, 'I');
    longopts[26] = new LongOpt("output-dir", LongOpt.REQUIRED_ARGUMENT, null, 'O');
    longopts[27] = new LongOpt("output-sites", LongOpt.REQUIRED_ARGUMENT, null, 'o');
    longopts[28] = new LongOpt("output-map", LongOpt.REQUIRED_ARGUMENT, null, 'm');
    longopts[29] = new LongOpt("cleanup", LongOpt.REQUIRED_ARGUMENT, null, '1');
    return longopts;
}
 
示例13
/**
 * Generates the list of valid options for the tc-converter client
 *
 * @return LongOpt[] list of valid options
 */
public LongOpt[] generateValidOptions() {
    LongOpt[] longopts = new LongOpt[10];
    longopts[0] = new LongOpt("input", LongOpt.REQUIRED_ARGUMENT, null, 'i');
    longopts[1] = new LongOpt("iformat", LongOpt.REQUIRED_ARGUMENT, null, 'I');
    longopts[2] = new LongOpt("output", LongOpt.REQUIRED_ARGUMENT, null, 'o');
    longopts[3] = new LongOpt("oformat", LongOpt.REQUIRED_ARGUMENT, null, 'O');
    longopts[4] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h');
    longopts[5] = new LongOpt("version", LongOpt.NO_ARGUMENT, null, 'V');
    longopts[6] = new LongOpt("verbose", LongOpt.NO_ARGUMENT, null, 'v');
    longopts[7] = new LongOpt("quiet", LongOpt.NO_ARGUMENT, null, 'q');
    longopts[8] = new LongOpt("conf", LongOpt.REQUIRED_ARGUMENT, null, 'c');
    longopts[9] = new LongOpt("expand", LongOpt.NO_ARGUMENT, null, 'e');
    return longopts;
}
 
示例14
public static boolean getConfigFromArgv(String argv[])
{

    int c;
    String arg;

    LongOpt [] longopts = new LongOpt[9];
    longopts[0] = new LongOpt(SERVER_MODE, LongOpt.NO_ARGUMENT, null, 'S');
    longopts[1] = new LongOpt(METHOD, LongOpt.REQUIRED_ARGUMENT, null, 'm');
    longopts[2] = new LongOpt(PASSWORD, LongOpt.REQUIRED_ARGUMENT, null, 'k');
    longopts[3] = new LongOpt(SERVER_PORT, LongOpt.REQUIRED_ARGUMENT, null, 'p');
    longopts[4] = new LongOpt(SERVER_ADDR, LongOpt.REQUIRED_ARGUMENT, null, 's');
    longopts[5] = new LongOpt(LOCAL_PORT, LongOpt.REQUIRED_ARGUMENT, null, 'l');
    longopts[6] = new LongOpt(CONFIG, LongOpt.REQUIRED_ARGUMENT, null, 'c');
    longopts[7] = new LongOpt(TIMEOUT, LongOpt.REQUIRED_ARGUMENT, null, 't');
    longopts[8] = new LongOpt(HELP, LongOpt.NO_ARGUMENT, null, 'h');

    Getopt g = new Getopt("shadowsocks", argv, "Sm:k:p:s:l:c:t:h", longopts);

    while ((c = g.getopt()) != -1)
    {
        switch(c)
        {
            case 'm':
                arg = g.getOptarg();
                log.debug("CMD:Crypto method: " + arg);
                GlobalConfig.get().setMethod(arg);
                break;
            case 'k':
                arg = g.getOptarg();
                log.debug("CMD:Password: " + arg);
                GlobalConfig.get().setPassowrd(arg);
                break;
            case 'p':
                arg = g.getOptarg();
                int port = Integer.parseInt(arg);
                log.debug("CMD:Server port: " + port);
                GlobalConfig.get().setPort(port);
                break;
            case 'S':
                log.debug("CMD:Server mode.");
                GlobalConfig.get().setServerMode(true);
                break;
            case 's':
                arg = g.getOptarg();
                log.debug("CMD:Server address: " + arg);
                GlobalConfig.get().setServer(arg);
                break;
            case 'l':
                arg = g.getOptarg();
                int lport = Integer.parseInt(arg);
                log.debug("CMD:Local port: " + lport);
                GlobalConfig.get().setLocalPort(lport);
                break;
            case 'c':
                arg = g.getOptarg();
                log.debug("CMD:Config file: " + arg);
                GlobalConfig.get().setConfigFile(arg);
                break;
            case 't':
                arg = g.getOptarg();
                int timeout = Integer.parseInt(arg);
                log.debug("CMD:timeout: " + timeout);
                GlobalConfig.get().setTimeout(timeout);
                break;
            case 'h':
            case '?':
            default:
                help();
                return false;
        }
    }
    return true;
}
 
示例15
/**
 * Call the correct commands depending on options.
 *
 * @param opts Command options
 */
public void executeCommand() throws IOException {
    LongOpt[] longOptions = generateValidOptions();

    Getopt g =
            new Getopt(
                    "SCClient", getCommandLineOptions(), "elhvqVi:o:O:c:", longOptions, false);

    int option = 0;
    while ((option = g.getopt()) != -1) {
        switch (option) {
            case 'e': // expand
                mDoVariableExpansion = true;
                break;

            case 'i': // input
                StringTokenizer str = new StringTokenizer(g.getOptarg(), ",");
                mInputFiles = new ArrayList<String>(str.countTokens());
                while (str.hasMoreTokens()) {
                    mInputFiles.add(str.nextToken());
                }
                break;

            case 'o': // output
                mOutputFile = g.getOptarg();
                break;

            case 'O': // oformat
                mOutputFormat = g.getOptarg();
                break;

            case 'h': // help
                printLongVersion();
                System.exit(0);
                break;

            case 'V': // version
                System.out.println(getGVDSVersion());
                System.exit(0);
                break;

            case 'v': // Verbose mode
                incrementLogging();
                break;

            case 'q': // Quiet mode
                decrementLogging();
                break;

            case 'c': // conf
                // do nothing
                break;

            default:
                mLogger.log(
                        "Unrecognized option or Invalid argument to option : "
                                + (char) g.getOptopt(),
                        LogManager.FATAL_MESSAGE_LEVEL);
                printShortVersion();
                System.exit(1);
        }
    }
    if (getLoggingLevel() >= 0) {
        // set the logging level only if -v was specified
        // else bank upon the the default logging level
        mLogger.setLevel(getLoggingLevel());
    } else {
        // set log level to FATAL only
        mLogger.setLevel(LogManager.FATAL_MESSAGE_LEVEL);
    }
    if (mInputFiles == null
            || mInputFiles.isEmpty()
            || mOutputFile == null
            || mOutputFile.isEmpty()) {
        mLogger.log(
                "Please provide the input and the output file", LogManager.ERROR_MESSAGE_LEVEL);
        this.printShortVersion();
        System.exit(1);
    }
    String result = null;
    try {
        result = this.parseInputFiles(mInputFiles, mInputFormat, mOutputFormat);
    } catch (IllegalArgumentException e) {
        if (e.getMessage().contains("No enum constant")) {
            mLogger.log(
                    "Consider using the -e option. Conversion fails if you use variables for specifying enum values in the input site catalog.",
                    e,
                    LogManager.ERROR_MESSAGE_LEVEL);
        } else {
            throw e;
        }
    }
    if (result != null) {
        // write out the result to the output file
        this.toFile(mOutputFile, result);
    }
}
 
示例16
/**
 * Call the correct commands depending on options.
 *
 * @param opts Command options
 */
public void executeCommand() throws IOException {
    String[] opts = getCommandLineOptions();
    if (opts.length == 0) {
        mLogger.log("Please provide the required options.", LogManager.ERROR_MESSAGE_LEVEL);
        this.printShortVersion();
        System.exit(1);
    }

    LongOpt[] longOptions = generateValidOptions();

    Getopt g = new Getopt("TCConverter", opts, "ehVvqI:i:O:o:c:", longOptions, false);

    int option = 0;
    int noOfOptions = 0;
    while ((option = g.getopt()) != -1) {
        switch (option) {
            case 'e': // expand
                mDoVariableExpansion = true;
                break;

            case 'i': // input
                StringTokenizer str = new StringTokenizer(g.getOptarg(), ",");
                mInputFiles = new ArrayList(str.countTokens());
                while (str.hasMoreTokens()) {
                    mInputFiles.add(str.nextToken());
                }
                break;

            case 'I': // iformat
                mInputFormat = g.getOptarg();
                break;

            case 'o': // output
                mOutputFile = g.getOptarg();
                break;

            case 'O': // oformat
                mOutputFormat = g.getOptarg();
                break;

            case 'h': // help
                printLongVersion();
                System.exit(0);
                break;

            case 'V': // version
                System.out.println(getGVDSVersion());
                System.exit(0);
                break;

            case 'v': // Verbose mode
                incrementLogging();
                break;

            case 'q': // Quiet mode
                decrementLogging();
                break;

            case 'c':
                // do nothing
                break;

            default:
                mLogger.log(
                        "Unrecognized option or Invalid argument to option : "
                                + (char) g.getOptopt(),
                        LogManager.FATAL_MESSAGE_LEVEL);
                printShortVersion();
                System.exit(1);
        }
    }
    if (getLoggingLevel() >= 0) {
        // set the logging level only if -v was specified
        // else bank upon the the default logging level
        mLogger.setLevel(getLoggingLevel());
    } else {
        // set log level to FATAL only
        mLogger.setLevel(LogManager.FATAL_MESSAGE_LEVEL);
    }

    convertReplicaCatalogs();
}
 
示例17
/**
 * Call the correct commands depending on options.
 *
 * @param opts Command options
 */
public void executeCommand() throws IOException {
    String[] opts = getCommandLineOptions();
    if (opts.length == 0) {
        mLogger.log("Please provide the required options.", LogManager.ERROR_MESSAGE_LEVEL);
        this.printShortVersion();
        System.exit(1);
    }

    LongOpt[] longOptions = generateValidOptions();

    Getopt g = new Getopt("TCConverter", opts, "ehVvqI:i:O:o:c:", longOptions, false);

    int option = 0;
    int noOfOptions = 0;
    while ((option = g.getopt()) != -1) {
        switch (option) {
            case 'e': // expand
                mDoVariableExpansion = true;
                break;

            case 'i': // input
                StringTokenizer str = new StringTokenizer(g.getOptarg(), ",");
                mInputFiles = new ArrayList(str.countTokens());
                while (str.hasMoreTokens()) {
                    mInputFiles.add(str.nextToken());
                }
                break;

            case 'I': // iformat
                mInputFormat = g.getOptarg();
                break;

            case 'o': // output
                mOutputFile = g.getOptarg();
                break;

            case 'O': // oformat
                mOutputFormat = g.getOptarg();
                break;

            case 'h': // help
                printLongVersion();
                System.exit(0);
                break;

            case 'V': // version
                System.out.println(getGVDSVersion());
                System.exit(0);
                break;

            case 'v': // Verbose mode
                incrementLogging();
                break;

            case 'q': // Quiet mode
                decrementLogging();
                break;

            case 'c':
                // do nothing
                break;

            default:
                mLogger.log(
                        "Unrecognized option or Invalid argument to option : "
                                + (char) g.getOptopt(),
                        LogManager.FATAL_MESSAGE_LEVEL);
                printShortVersion();
                System.exit(1);
        }
    }
    if (getLoggingLevel() >= 0) {
        // set the logging level only if -v was specified
        // else bank upon the the default logging level
        mLogger.setLevel(getLoggingLevel());
    } else {
        // set log level to FATAL only
        mLogger.setLevel(LogManager.FATAL_MESSAGE_LEVEL);
    }

    convertTC();
}
 
示例18
public static HashMap<String, String> getOptions(String program, String[] args) {
	// Parse Arguments for SeedFile and TemplateID(optional)
	if (args.length == 0) {
		displayUsage(program);
		return null;
	}

	String sopts = "hc:l:o:O:d:i:r:L:D:P:E:V:T:s:t:";

	LongOpt[] lopts = { new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h'),
			new LongOpt("conf", LongOpt.REQUIRED_ARGUMENT, null, 'c'),
			new LongOpt("logdir", LongOpt.REQUIRED_ARGUMENT, null, 'l'),
			new LongOpt("outputdir", LongOpt.REQUIRED_ARGUMENT, null, 'o'),
			new LongOpt("ontdir", LongOpt.REQUIRED_ARGUMENT, null, 'O'),
			new LongOpt("requestid", LongOpt.REQUIRED_ARGUMENT, null, 'r'),
			new LongOpt("libname", LongOpt.REQUIRED_ARGUMENT, null, 'L'),
			new LongOpt("getData", LongOpt.REQUIRED_ARGUMENT, null, 'D'),
			new LongOpt("getParameters", LongOpt.REQUIRED_ARGUMENT, null, 'P'),
			new LongOpt("elaborate", LongOpt.REQUIRED_ARGUMENT, null, 'E'),
			new LongOpt("validate", LongOpt.REQUIRED_ARGUMENT, null, 'V'),
			new LongOpt("trim", LongOpt.REQUIRED_ARGUMENT, null, 'T'),
			new LongOpt("seed", LongOpt.REQUIRED_ARGUMENT, null, 's'),
			new LongOpt("template", LongOpt.REQUIRED_ARGUMENT, null, 't') };

	int code;
	HashMap<String, String> options = new HashMap<String, String>();

	Getopt g = new Getopt(program, args, sopts, lopts);
	while ((code = g.getopt()) != -1) {
		switch (code) {
		case '?':
			displayUsage(program);
			return null;
		case 'h':
			displayUsage(program);
			return null;
		case 'T':
			String trimnum = g.getOptarg();
			boolean ok = true;
			try {
				if (Integer.parseInt(trimnum) == 0)
					ok = false;
			} catch (NumberFormatException e) {
				ok = false;
			}
			if (!ok) {
				System.err.println("-T or --trim takes a non-zero number argument");
				displayUsage(program);
				return null;
			}
			options.put("trim", trimnum);
			break;
		case 'r':
			options.put("requestid", g.getOptarg());
			break;
		case 'L':
			options.put("libname", g.getOptarg());
			break;
		case 'c':
			options.put("conf", g.getOptarg());
			break;
		case 's':
			options.put("seed", g.getOptarg());
			break;
		case 't':
			options.put("template", g.getOptarg());
			break;
		case 'l':
			options.put("logdir", g.getOptarg());
			break;
		case 'o':
			options.put("outputdir", g.getOptarg());
			break;
		case 'O':
			options.put("ontdir", g.getOptarg());
			break;
		case 'D':
			options.put("getData", g.getOptarg());
			break;
		case 'P':
			options.put("getParameters", g.getOptarg());
			break;
		case 'V':
			options.put("validate", g.getOptarg());
			break;
		case 'E':
			options.put("elaborate", g.getOptarg());
			break;
		default:
			displayUsage(program);
			return null;
		}
	}
	return options;
}
 
示例19
/**
 * Generates an array of valid <code>LongOpt</code> objects which contain all the valid options
 * to the Executable.
 */
public abstract LongOpt[] generateValidOptions();