diff options
Diffstat (limited to 'base/java-tools/src/com/netscape/cmstools/client/ClientCertFindCLI.java')
-rw-r--r-- | base/java-tools/src/com/netscape/cmstools/client/ClientCertFindCLI.java | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/client/ClientCertFindCLI.java b/base/java-tools/src/com/netscape/cmstools/client/ClientCertFindCLI.java index 12dde44c5..6d0bb6215 100644 --- a/base/java-tools/src/com/netscape/cmstools/client/ClientCertFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/client/ClientCertFindCLI.java @@ -18,6 +18,8 @@ package com.netscape.cmstools.client; +import java.util.Arrays; + import org.apache.commons.cli.CommandLine; import org.mozilla.jss.crypto.X509Certificate; @@ -34,30 +36,43 @@ public class ClientCertFindCLI extends CLI { public ClientCertFindCLI(ClientCLI clientCLI) { super("cert-find", "Find certificates in client security database", clientCLI); this.clientCLI = clientCLI; + + createOptions(); } public void printHelp() { - formatter.printHelp(getFullName() + " [OPTIONS]", options); + formatter.printHelp(getFullName() + " [OPTIONS...]", options); } - public void execute(String[] args) throws Exception { - + public void createOptions() { options.addOption(null, "ca", false, "Find CA certificates only"); + } + + public void execute(String[] args) throws Exception { + // Always check for "--help" prior to parsing + if (Arrays.asList(args).contains("--help")) { + // Display usage + printHelp(); + System.exit(0); + } CommandLine cmd = null; + try { cmd = parser.parse(options, args); } catch (Exception e) { System.err.println("Error: " + e.getMessage()); printHelp(); - System.exit(1); + System.exit(-1); } - if (cmd.hasOption("help")) { - // Display usage + String[] cmdArgs = cmd.getArgs(); + + if (cmdArgs.length != 0) { + System.err.println("Error: Too many arguments specified."); printHelp(); - System.exit(0); + System.exit(-1); } client = parent.getClient(); |