diff options
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.java | 71 |
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); + } +} |