summaryrefslogtreecommitdiffstats
path: root/base/java-tools/src/com/netscape/cmstools/key/KeyRetrieveCLI.java
diff options
context:
space:
mode:
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.java30
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);
}