Example usage for org.apache.commons.cli Option getOpt

List of usage examples for org.apache.commons.cli Option getOpt

Introduction

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

Prototype

public String getOpt() 

Source Link

Document

Retrieve the name of this Option.

Usage

From source file:org.apache.sentry.binding.hive.authz.SentryConfigTool.java

/**
 * parse arguments/*from  ww w .  jav a2  s.  c o  m*/
 * 
 * <pre>
 *   -d,--debug                  Enable debug output
 *   -e,--query <arg>            Query privilege verification, requires -u
 *   -h,--help                   Print usage
 *   -i,--policyIni <arg>        Policy file path
 *   -j,--jdbcURL <arg>          JDBC URL
 *   -l,--listPrivs,--listPerms  List privilges for given user, requires -u
 *   -p,--password <arg>         Password
 *   -s,--sentry-site <arg>      sentry-site file path
 *   -u,--user <arg>             user name
 *   -v,--validate               Validate policy file
 *   -I,--import                 Import policy file
 *   -E,--export                 Export policy file
 *   -o,--overwrite              Overwrite the exist role data when do the import
 * </pre>
 * 
 * @param args
 */
private void parseArgs(String[] args) {
    boolean enableDebug = false;

    Options sentryOptions = new Options();

    Option helpOpt = new Option("h", "help", false, "Print usage");
    helpOpt.setRequired(false);

    Option validateOpt = new Option("v", "validate", false, "Validate policy file");
    validateOpt.setRequired(false);

    Option queryOpt = new Option("e", "query", true, "Query privilege verification, requires -u");
    queryOpt.setRequired(false);

    Option listPermsOpt = new Option("l", "listPerms", false, "list permissions for given user, requires -u");
    listPermsOpt.setRequired(false);
    Option listPrivsOpt = new Option("listPrivs", false, "list privileges for given user, requires -u");
    listPrivsOpt.setRequired(false);

    Option importOpt = new Option("I", "import", true, "Import policy file");
    importOpt.setRequired(false);

    Option exportOpt = new Option("E", "export", true, "Export policy file");
    exportOpt.setRequired(false);
    // required args
    OptionGroup sentryOptGroup = new OptionGroup();
    sentryOptGroup.addOption(helpOpt);
    sentryOptGroup.addOption(validateOpt);
    sentryOptGroup.addOption(queryOpt);
    sentryOptGroup.addOption(listPermsOpt);
    sentryOptGroup.addOption(listPrivsOpt);
    sentryOptGroup.addOption(importOpt);
    sentryOptGroup.addOption(exportOpt);
    sentryOptGroup.setRequired(true);
    sentryOptions.addOptionGroup(sentryOptGroup);

    // optional args
    Option jdbcArg = new Option("j", "jdbcURL", true, "JDBC URL");
    jdbcArg.setRequired(false);
    sentryOptions.addOption(jdbcArg);

    Option sentrySitePath = new Option("s", "sentry-site", true, "sentry-site file path");
    sentrySitePath.setRequired(false);
    sentryOptions.addOption(sentrySitePath);

    Option globalPolicyPath = new Option("i", "policyIni", true, "Policy file path");
    globalPolicyPath.setRequired(false);
    sentryOptions.addOption(globalPolicyPath);

    Option userOpt = new Option("u", "user", true, "user name");
    userOpt.setRequired(false);
    sentryOptions.addOption(userOpt);

    Option passWordOpt = new Option("p", "password", true, "Password");
    userOpt.setRequired(false);
    sentryOptions.addOption(passWordOpt);

    Option debugOpt = new Option("d", "debug", false, "enable debug output");
    debugOpt.setRequired(false);
    sentryOptions.addOption(debugOpt);

    Option overwriteOpt = new Option("o", "overwrite", false, "enable import overwrite");
    overwriteOpt.setRequired(false);
    sentryOptions.addOption(overwriteOpt);

    try {
        Parser parser = new GnuParser();
        CommandLine cmd = parser.parse(sentryOptions, args);

        for (Option opt : cmd.getOptions()) {
            if (opt.getOpt().equals("s")) {
                setSentrySiteFile(opt.getValue());
            } else if (opt.getOpt().equals("i")) {
                setPolicyFile(opt.getValue());
            } else if (opt.getOpt().equals("e")) {
                setQuery(opt.getValue());
            } else if (opt.getOpt().equals("j")) {
                setJdbcURL(opt.getValue());
            } else if (opt.getOpt().equals("u")) {
                setUser(opt.getValue());
            } else if (opt.getOpt().equals("p")) {
                setPassWord(opt.getValue());
            } else if (opt.getOpt().equals("l") || opt.getOpt().equals("listPrivs")) {
                setListPrivs(true);
            } else if (opt.getOpt().equals("v")) {
                setValidate(true);
            } else if (opt.getOpt().equals("I")) {
                setImportPolicyFilePath(opt.getValue());
            } else if (opt.getOpt().equals("E")) {
                setExportPolicyFilePath(opt.getValue());
            } else if (opt.getOpt().equals("h")) {
                usage(sentryOptions);
            } else if (opt.getOpt().equals("d")) {
                enableDebug = true;
            } else if (opt.getOpt().equals("o")) {
                setImportOverwriteRole(true);
            }
        }

        if (isListPrivs() && (getUser() == null)) {
            throw new ParseException("Can't use -l without -u ");
        }
        if ((getQuery() != null) && (getUser() == null)) {
            throw new ParseException("Must use -u with -e ");
        }
    } catch (ParseException e1) {
        usage(sentryOptions);
    }

    if (!enableDebug) {
        // turn off log
        LogManager.getRootLogger().setLevel(Level.OFF);
    }
}

From source file:org.apache.sentry.cli.tools.PermissionsMigrationToolCommon.java

/**
 *  parse arguments/*w  w w .j  av a2s  . c  om*/
 * <pre>
 *   -s,--source                   Sentry source version
 *   -c,--sentry_conf <filepath>   sentry config file path
 *   -p --policy_file <filepath>   sentry (source) policy file path
 *   -o --output      <filepath>   sentry (target) policy file path
 *   -d --dry_run                  provides the output the migration for inspection without
 *                                 making any configuration changes.
 *   -h,--help                     print usage
 * </pre>
 * @param args
 */
protected boolean parseArgs(String[] args) {
    Options options = new Options();

    Option sourceVersionOpt = new Option("s", "source", true, "Source Sentry version");
    sourceVersionOpt.setRequired(true);
    options.addOption(sourceVersionOpt);

    Option sentryConfPathOpt = new Option("c", "sentry_conf", true,
            "sentry-site.xml file path (only required in case of Sentry service)");
    sentryConfPathOpt.setRequired(false);
    options.addOption(sentryConfPathOpt);

    Option sentryPolicyFileOpt = new Option("p", "policy_file", true,
            "sentry (source) policy file path (only in case of file based Sentry configuration)");
    sentryPolicyFileOpt.setRequired(false);
    options.addOption(sentryPolicyFileOpt);

    Option sentryOutputFileOpt = new Option("o", "output", true,
            "sentry (target) policy file path (only in case of file based Sentry configuration)");
    sentryOutputFileOpt.setRequired(false);
    options.addOption(sentryOutputFileOpt);

    Option dryRunOpt = new Option("d", "dry_run", false,
            "provides the output the migration for inspection without making actual configuration changes");
    dryRunOpt.setRequired(false);
    options.addOption(dryRunOpt);

    // help option
    Option helpOpt = new Option("h", "help", false, "Shell usage");
    helpOpt.setRequired(false);
    options.addOption(helpOpt);

    // this Option is parsed first for help option
    Options helpOptions = new Options();
    helpOptions.addOption(helpOpt);

    try {
        Parser parser = new GnuParser();

        // parse help option first
        CommandLine cmd = parser.parse(helpOptions, args, true);
        for (Option opt : cmd.getOptions()) {
            if (opt.getOpt().equals("h")) {
                // get the help option, print the usage and exit
                usage(options);
                return false;
            }
        }

        // without help option
        cmd = parser.parse(options, args);

        String sourceVersionStr = null;

        for (Option opt : cmd.getOptions()) {
            if (opt.getOpt().equals("s")) {
                sourceVersionStr = opt.getValue();
            } else if (opt.getOpt().equals("c")) {
                confPath = Optional.of(opt.getValue());
            } else if (opt.getOpt().equals("p")) {
                policyFile = Optional.of(opt.getValue());
            } else if (opt.getOpt().equals("o")) {
                outputFile = Optional.of(opt.getValue());
            } else if (opt.getOpt().equals("d")) {
                dryRun = true;
            }
        }

        sourceVersion = Version.parse(sourceVersionStr);

        if (!(confPath.isPresent() || policyFile.isPresent())) {
            System.out.println("Please select either file-based Sentry configuration (-p and -o flags)"
                    + " or Sentry service (-c flag) for migration.");
            usage(options);
            return false;
        }

        if (confPath.isPresent() && (policyFile.isPresent() || outputFile.isPresent())) {
            System.out.println("In order to migrate service based Sentry configuration,"
                    + " do not specify either -p or -o parameters");
            usage(options);
            return false;
        }

        if (!confPath.isPresent() && (policyFile.isPresent() ^ outputFile.isPresent())) {
            System.out.println("In order to migrate file based Sentry configuration,"
                    + " please make sure to specify both -p and -o parameters.");
            usage(options);
            return false;
        }

    } catch (ParseException | java.text.ParseException pe) {
        System.out.println(pe.getMessage());
        usage(options);
        return false;
    }
    return true;
}

From source file:org.apache.sentry.cli.tools.SentryConfigToolCommon.java

/**
  *  parse arguments/*  ww  w .  j  a v  a  2 s . c o m*/
  * <pre>
  *   -conf,--sentry_conf <filepath>     sentry config file path
  *   -p,--policy_ini     <arg>          policy file path
  *   -v,--validate                      validate policy file
  *   -c,--checkcompat                   check compatibility with service
  *   -i,--import                        import policy file
  *   -h,--help                          print usage
  * </pre>
  * @param args
  */
protected boolean parseArgs(String[] args) {
    Options options = new Options();

    Option globalPolicyPath = new Option("p", "policy_ini", true, "Policy file path");
    globalPolicyPath.setRequired(true);
    options.addOption(globalPolicyPath);

    Option validateOpt = new Option("v", "validate", false, "Validate policy file");
    validateOpt.setRequired(false);
    options.addOption(validateOpt);

    Option checkCompatOpt = new Option("c", "checkcompat", false, "Check compatibility with Sentry Service");
    checkCompatOpt.setRequired(false);
    options.addOption(checkCompatOpt);

    Option importOpt = new Option("i", "import", false, "Import policy file");
    importOpt.setRequired(false);
    options.addOption(importOpt);

    // file path of sentry-site
    Option sentrySitePathOpt = new Option("conf", "sentry_conf", true, "sentry-site file path");
    sentrySitePathOpt.setRequired(true);
    options.addOption(sentrySitePathOpt);

    // help option
    Option helpOpt = new Option("h", "help", false, "Shell usage");
    helpOpt.setRequired(false);
    options.addOption(helpOpt);

    // this Options is parsed first for help option
    Options helpOptions = new Options();
    helpOptions.addOption(helpOpt);

    try {
        Parser parser = new GnuParser();

        // parse help option first
        CommandLine cmd = parser.parse(helpOptions, args, true);
        for (Option opt : cmd.getOptions()) {
            if (opt.getOpt().equals("h")) {
                // get the help option, print the usage and exit
                usage(options);
                return false;
            }
        }

        // without help option
        cmd = parser.parse(options, args);

        for (Option opt : cmd.getOptions()) {
            if (opt.getOpt().equals("p")) {
                policyFile = opt.getValue();
            } else if (opt.getOpt().equals("v")) {
                validate = true;
            } else if (opt.getOpt().equals("i")) {
                importPolicy = true;
            } else if (opt.getOpt().equals("c")) {
                checkCompat = true;
            } else if (opt.getOpt().equals("conf")) {
                confPath = opt.getValue();
            }
        }

        if (!validate && !importPolicy) {
            throw new IllegalArgumentException(
                    "No action specified; at least one of action or import must be specified");
        }
    } catch (ParseException pe) {
        System.out.println(pe.getMessage());
        usage(options);
        return false;
    }
    return true;
}

From source file:org.apache.sentry.cli.tools.SentryConfigToolIndexer.java

/**
 * Parses and processes the arguments from the given command line object.
 * @param cmd/*from   w w w .  ja  va2s . c  om*/
 */
public void parseOptions(CommandLine cmd) {
    boolean isToolActive = false;
    for (Option opt : cmd.getOptions()) {
        if (opt.getOpt().equals("mgr")) {
            isToolActive = true;
        }
    }
    if (!isToolActive) {
        return;
    }
    for (Option opt : cmd.getOptions()) {
        if (opt.getOpt().equals("f")) {
            policyFile = opt.getValue();
        } else if (opt.getOpt().equals("v")) {
            validate = true;
        } else if (opt.getOpt().equals("i")) {
            importPolicy = true;
        } else if (opt.getOpt().equals("c")) {
            checkCompat = true;
        } else if (opt.getOpt().equals("conf")) {
            confPath = opt.getValue();
        } else if (opt.getOpt().equals("s")) {
            serviceName = opt.getValue();
        }
    }
    if (policyFile == null) {
        throw new IllegalArgumentException("Missing required option: f");
    }
    if (!validate && !importPolicy) {
        throw new IllegalArgumentException(
                "No action specified; at least one of action or import must be specified");
    }
}

From source file:org.apache.sentry.cli.tools.SentryShellCommon.java

/**
 * parse arguments/*w w  w.  j ava2s  . c o m*/
 *
 * <pre>
 *   -conf,--sentry_conf             <filepath>                 sentry config file path
 *   -cr,--create_role            -r <rolename>                 create role
 *   -dr,--drop_role              -r <rolename>                 drop role
 *   -arg,--add_role_group        -r <rolename>  -g <groupname> add role to group
 *   -drg,--delete_role_group     -r <rolename>  -g <groupname> delete role from group
 *   -gpr,--grant_privilege_role  -r <rolename>  -p <privilege> grant privilege to role
 *   -rpr,--revoke_privilege_role -r <rolename>  -p <privilege> revoke privilege from role
 *   -lr,--list_role              -g <groupname>                list roles for group
 *   -lp,--list_privilege         -r <rolename>                 list privilege for role
 *   -lg,--list_group                                           list all groups associated with all roles
 *   -t,--type                    <typename>                    the shell for hive model or generic model
 * </pre>
 *
 * @param args
 */
protected boolean parseArgs(String[] args) {
    Options simpleShellOptions = new Options();

    setupOptions(simpleShellOptions);

    // help option
    Option helpOpt = new Option("h", "help", false, OPTION_DESC_HELP);
    helpOpt.setRequired(false);
    simpleShellOptions.addOption(helpOpt);

    // this Options is parsed first for help option
    Options helpOptions = new Options();
    helpOptions.addOption(helpOpt);

    try {
        Parser parser = new GnuParser();

        // parse help option first
        CommandLine cmd = parser.parse(helpOptions, args, true);
        for (Option opt : cmd.getOptions()) {
            if (opt.getOpt().equals("h")) {
                // get the help option, print the usage and exit
                usage(simpleShellOptions);
                return false;
            }
        }

        // without help option
        cmd = parser.parse(simpleShellOptions, args);

        parseOptions(cmd);
    } catch (ParseException pe) {
        System.out.println(pe.getMessage());
        usage(simpleShellOptions);
        return false;
    }
    return true;
}

From source file:org.apache.sentry.cli.tools.SentryShellCommon.java

protected void parseOptions(CommandLine cmd) throws ParseException {
    for (Option opt : cmd.getOptions()) {
        if (opt.getOpt().equals("p")) {
            privilegeStr = opt.getValue();
        } else if (opt.getOpt().equals("g")) {
            groupName = opt.getValue();//from  ww  w .j a v  a 2  s  .c  om
        } else if (opt.getOpt().equals("r")) {
            roleName = opt.getValue();
        } else if (opt.getOpt().equals("s")) {
            serviceName = opt.getValue();
        } else if (opt.getOpt().equals("cr")) {
            isCreateRole = true;
            roleNameRequired = true;
        } else if (opt.getOpt().equals("dr")) {
            isDropRole = true;
            roleNameRequired = true;
        } else if (opt.getOpt().equals("arg")) {
            isAddRoleGroup = true;
            roleNameRequired = true;
            groupNameRequired = true;
        } else if (opt.getOpt().equals("drg")) {
            isDeleteRoleGroup = true;
            roleNameRequired = true;
            groupNameRequired = true;
        } else if (opt.getOpt().equals("gpr")) {
            isGrantPrivilegeRole = true;
            roleNameRequired = true;
            privilegeStrRequired = true;
        } else if (opt.getOpt().equals("rpr")) {
            isRevokePrivilegeRole = true;
            roleNameRequired = true;
            privilegeStrRequired = true;
        } else if (opt.getOpt().equals("lr")) {
            isListRole = true;
        } else if (opt.getOpt().equals("lp")) {
            isListPrivilege = true;
            roleNameRequired = true;
        } else if (opt.getOpt().equals("lg")) {
            isListGroup = true;
        } else if (opt.getOpt().equals("conf")) {
            confPath = opt.getValue();
        } else if (opt.getOpt().equals("t")) {
            type = TYPE.valueOf(opt.getValue());
        }
    }
    checkRequiredParameter(roleNameRequired, roleName, OPTION_DESC_ROLE_NAME);
    checkRequiredParameter(groupNameRequired, groupName, OPTION_DESC_GROUP_NAME);
    checkRequiredParameter(privilegeStrRequired, privilegeStr, OPTION_DESC_PRIVILEGE);
}

From source file:org.apache.sentry.cli.tools.SentryShellIndexer.java

@Override
protected void parseOptions(CommandLine cmd) throws ParseException {
    super.parseOptions(cmd);
    configTool.parseOptions(cmd);/*from   ww w  .ja v a 2  s.  c  om*/
    for (Option opt : cmd.getOptions()) {
        if (opt.getOpt().equals("mgr")) {
            isMigration = true;
        }
    }
}

From source file:org.apache.sentry.provider.db.tools.SentryShellCommon.java

/**
 * parse arguments/*  w w  w  .jav  a2s. co  m*/
 *
 * <pre>
 *   -conf,--sentry_conf             <filepath>                 sentry config file path
 *   -cr,--create_role            -r <rolename>                 create role
 *   -dr,--drop_role              -r <rolename>                 drop role
 *   -arg,--add_role_group        -r <rolename>  -g <groupname> add role to group
 *   -drg,--delete_role_group     -r <rolename>  -g <groupname> delete role from group
 *   -gpr,--grant_privilege_role  -r <rolename>  -p <privilege> grant privilege to role
 *   -rpr,--revoke_privilege_role -r <rolename>  -p <privilege> revoke privilege from role
 *   -lr,--list_role              -g <groupname>                list roles for group
 *   -lp,--list_privilege         -r <rolename>                 list privilege for role
 *   -t,--type                    <typeame>                     the shell for hive model or generic model
 * </pre>
 *
 * @param args
 */
protected boolean parseArgs(String[] args) {
    Options simpleShellOptions = new Options();

    Option crOpt = new Option("cr", "create_role", false, "Create role");
    crOpt.setRequired(false);

    Option drOpt = new Option("dr", "drop_role", false, "Drop role");
    drOpt.setRequired(false);

    Option argOpt = new Option("arg", "add_role_group", false, "Add role to group");
    argOpt.setRequired(false);

    Option drgOpt = new Option("drg", "delete_role_group", false, "Delete role from group");
    drgOpt.setRequired(false);

    Option gprOpt = new Option("gpr", "grant_privilege_role", false, "Grant privilege to role");
    gprOpt.setRequired(false);

    Option rprOpt = new Option("rpr", "revoke_privilege_role", false, "Revoke privilege from role");
    rprOpt.setRequired(false);

    Option lrOpt = new Option("lr", "list_role", false, "List role");
    lrOpt.setRequired(false);

    Option lpOpt = new Option("lp", "list_privilege", false, "List privilege");
    lpOpt.setRequired(false);

    // required args group
    OptionGroup simpleShellOptGroup = new OptionGroup();
    simpleShellOptGroup.addOption(crOpt);
    simpleShellOptGroup.addOption(drOpt);
    simpleShellOptGroup.addOption(argOpt);
    simpleShellOptGroup.addOption(drgOpt);
    simpleShellOptGroup.addOption(gprOpt);
    simpleShellOptGroup.addOption(rprOpt);
    simpleShellOptGroup.addOption(lrOpt);
    simpleShellOptGroup.addOption(lpOpt);
    simpleShellOptGroup.setRequired(true);
    simpleShellOptions.addOptionGroup(simpleShellOptGroup);

    // optional args
    Option pOpt = new Option("p", "privilege", true, OPTION_DESC_PRIVILEGE);
    pOpt.setRequired(false);
    simpleShellOptions.addOption(pOpt);

    Option gOpt = new Option("g", "groupname", true, OPTION_DESC_GROUP_NAME);
    gOpt.setRequired(false);
    simpleShellOptions.addOption(gOpt);

    Option rOpt = new Option("r", "rolename", true, OPTION_DESC_ROLE_NAME);
    rOpt.setRequired(false);
    simpleShellOptions.addOption(rOpt);

    // this argument should be parsed in the bin/sentryShell
    Option tOpt = new Option("t", "type", true, "[hive|solr|sqoop|.....]");
    tOpt.setRequired(false);
    simpleShellOptions.addOption(tOpt);

    // file path of sentry-site
    Option sentrySitePathOpt = new Option("conf", "sentry_conf", true, OPTION_DESC_CONF);
    sentrySitePathOpt.setRequired(true);
    simpleShellOptions.addOption(sentrySitePathOpt);

    // help option
    Option helpOpt = new Option("h", "help", false, OPTION_DESC_HELP);
    helpOpt.setRequired(false);
    simpleShellOptions.addOption(helpOpt);

    // this Options is parsed first for help option
    Options helpOptions = new Options();
    helpOptions.addOption(helpOpt);

    try {
        Parser parser = new GnuParser();

        // parse help option first
        CommandLine cmd = parser.parse(helpOptions, args, true);
        for (Option opt : cmd.getOptions()) {
            if (opt.getOpt().equals("h")) {
                // get the help option, print the usage and exit
                usage(simpleShellOptions);
                return false;
            }
        }

        // without help option
        cmd = parser.parse(simpleShellOptions, args);

        for (Option opt : cmd.getOptions()) {
            if (opt.getOpt().equals("p")) {
                privilegeStr = opt.getValue();
            } else if (opt.getOpt().equals("g")) {
                groupName = opt.getValue();
            } else if (opt.getOpt().equals("r")) {
                roleName = opt.getValue();
            } else if (opt.getOpt().equals("cr")) {
                isCreateRole = true;
                roleNameRequired = true;
            } else if (opt.getOpt().equals("dr")) {
                isDropRole = true;
                roleNameRequired = true;
            } else if (opt.getOpt().equals("arg")) {
                isAddRoleGroup = true;
                roleNameRequired = true;
                groupNameRequired = true;
            } else if (opt.getOpt().equals("drg")) {
                isDeleteRoleGroup = true;
                roleNameRequired = true;
                groupNameRequired = true;
            } else if (opt.getOpt().equals("gpr")) {
                isGrantPrivilegeRole = true;
                roleNameRequired = true;
                privilegeStrRequired = true;
            } else if (opt.getOpt().equals("rpr")) {
                isRevokePrivilegeRole = true;
                roleNameRequired = true;
                privilegeStrRequired = true;
            } else if (opt.getOpt().equals("lr")) {
                isListRole = true;
            } else if (opt.getOpt().equals("lp")) {
                isListPrivilege = true;
                roleNameRequired = true;
            } else if (opt.getOpt().equals("conf")) {
                confPath = opt.getValue();
            }
        }
        checkRequiredParameter(roleNameRequired, roleName, OPTION_DESC_ROLE_NAME);
        checkRequiredParameter(groupNameRequired, groupName, OPTION_DESC_GROUP_NAME);
        checkRequiredParameter(privilegeStrRequired, privilegeStr, OPTION_DESC_PRIVILEGE);
    } catch (ParseException pe) {
        System.out.println(pe.getMessage());
        usage(simpleShellOptions);
        return false;
    }
    return true;
}

From source file:org.apache.shiro.tools.hasher.Hasher.java

private static String createMutexMessage(Option... options) {
    StringBuilder sb = new StringBuilder();
    sb.append("The ");

    for (int i = 0; i < options.length; i++) {
        if (i > 0) {
            sb.append(", ");
        }/*from  ww w .  j av a 2  s . com*/
        Option o = options[0];
        sb.append("-").append(o.getOpt()).append("/--").append(o.getLongOpt());
    }
    sb.append(" and generated salt options are mutually exclusive.  Only one of them may be used at a time");
    return sb.toString();
}

From source file:org.apache.shiro.tools.hasher.Hasher.java

private static int getRequiredPositiveInt(CommandLine line, Option option) {
    String iterVal = line.getOptionValue(option.getOpt());
    try {/*from   w w w  . ja  va  2s  .  c om*/
        return Integer.parseInt(iterVal);
    } catch (NumberFormatException e) {
        String msg = "'" + option.getLongOpt() + "' value must be a positive integer.";
        throw new IllegalArgumentException(msg, e);
    }
}