summaryrefslogtreecommitdiffstats
path: root/base/java-tools/src/com/netscape/cmstools/key/KeyRequestReviewCLI.java
diff options
context:
space:
mode:
authorAbhishek Koneru <akoneru@redhat.com>2014-04-01 10:53:24 -0400
committerAbhishek Koneru <akoneru@redhat.com>2014-04-16 17:24:42 -0400
commit8be0ac12ab0c1ff77c2b93a363352fe99aea5343 (patch)
tree3e27be430a4aaaa81ed058e00d5f7d32d6f988db /base/java-tools/src/com/netscape/cmstools/key/KeyRequestReviewCLI.java
parentb602c041429e88c46362bc6e7cabe25c00a796ae (diff)
downloadpki-8be0ac12ab0c1ff77c2b93a363352fe99aea5343.tar.gz
pki-8be0ac12ab0c1ff77c2b93a363352fe99aea5343.tar.xz
pki-8be0ac12ab0c1ff77c2b93a363352fe99aea5343.zip
Added new CLI commands for Key resource.
key-archive, key-retrieve, key-recover, key-generate, key-request-review, key-template-show, key-template-find
Diffstat (limited to 'base/java-tools/src/com/netscape/cmstools/key/KeyRequestReviewCLI.java')
-rw-r--r--base/java-tools/src/com/netscape/cmstools/key/KeyRequestReviewCLI.java71
1 files changed, 71 insertions, 0 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/key/KeyRequestReviewCLI.java b/base/java-tools/src/com/netscape/cmstools/key/KeyRequestReviewCLI.java
new file mode 100644
index 000000000..9f60fff8b
--- /dev/null
+++ b/base/java-tools/src/com/netscape/cmstools/key/KeyRequestReviewCLI.java
@@ -0,0 +1,71 @@
+package com.netscape.cmstools.key;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.ParseException;
+
+import com.netscape.certsrv.key.KeyRequestInfo;
+import com.netscape.certsrv.request.RequestId;
+import com.netscape.cmstools.cli.CLI;
+import com.netscape.cmstools.cli.MainCLI;
+
+public class KeyRequestReviewCLI extends CLI {
+ public KeyCLI keyCLI;
+
+ public KeyRequestReviewCLI(KeyCLI keyCLI) {
+ super("request-review", "Review key request", keyCLI);
+ this.keyCLI = keyCLI;
+ }
+
+ public void printHelp() {
+ formatter.printHelp(getFullName() + " <Request ID> [OPTIONS]", options);
+ }
+
+ public void execute(String[] args) {
+ Option option = new Option(null, "action", true,
+ "Action to be performed on the request.\n Available actions - [approve|reject|cancel].");
+ option.setArgName("Action to perform");
+ option.setRequired(true);
+ options.addOption(option);
+
+ CommandLine cmd = null;
+ try {
+ cmd = parser.parse(options, args);
+
+ } catch (ParseException e) {
+ System.err.println("Error: " + e.getMessage());
+ printHelp();
+ System.exit(1);
+ }
+
+ String[] cmdArgs = cmd.getArgs();
+ if (cmdArgs.length != 1) {
+ System.err.println("Error: Invalid arguements provided.");
+ printHelp();
+ System.exit(1);
+ }
+ RequestId reqId = new RequestId(cmdArgs[0]);
+
+ String action = cmd.getOptionValue("action");
+ switch (action.toLowerCase()) {
+ case "approve":
+ keyCLI.keyClient.approveRequest(reqId);
+ break;
+ case "reject":
+ keyCLI.keyClient.rejectRequest(reqId);
+ break;
+ case "cancel":
+ keyCLI.keyClient.cancelRequest(reqId);
+ break;
+ default:
+ System.err.println("Error: Invalid action.");
+ printHelp();
+ System.exit(1);
+ }
+
+ KeyRequestInfo keyRequestInfo = keyCLI.keyClient.getRequestInfo(reqId);
+
+ MainCLI.printMessage("Result");
+ KeyCLI.printKeyRequestInfo(keyRequestInfo);
+ }
+}