diff options
Diffstat (limited to 'base/java-tools/src/com/netscape/cmstools/key/KeyRetrieveCLI.java')
-rw-r--r-- | base/java-tools/src/com/netscape/cmstools/key/KeyRetrieveCLI.java | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/key/KeyRetrieveCLI.java b/base/java-tools/src/com/netscape/cmstools/key/KeyRetrieveCLI.java index 095595f78..98c243a82 100644 --- a/base/java-tools/src/com/netscape/cmstools/key/KeyRetrieveCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/key/KeyRetrieveCLI.java @@ -3,6 +3,7 @@ package com.netscape.cmstools.key; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; +import java.util.Arrays; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; @@ -27,14 +28,15 @@ public class KeyRetrieveCLI extends CLI { public KeyRetrieveCLI(KeyCLI keyCLI) { super("retrieve", "Retrieve key", keyCLI); this.keyCLI = keyCLI; + + createOptions(); } public void printHelp() { - formatter.printHelp(getFullName() + " [OPTIONS]", options); + formatter.printHelp(getFullName() + " [OPTIONS...]", options); } - public void execute(String[] args) { - + public void createOptions() { Option option = new Option(null, "keyID", true, "Key Identifier for the secret to be recovered."); option.setArgName("Key Identifier"); options.addOption(option); @@ -50,25 +52,37 @@ public class KeyRetrieveCLI extends CLI { option = new Option(null, "output", true, "Location to store the retrieved key information"); option.setArgName("File path to store key information"); options.addOption(option); + } + + public void execute(String[] args) { + // 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 (ParseException 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); } if(cmd.getOptions().length==0){ - System.err.println("Error: Insufficient parameters provided."); + System.err.println("Error: Incorrect number of parameters provided."); printHelp(); System.exit(-1); } |