diff options
author | Abhishek Koneru <akoneru@redhat.com> | 2012-07-24 15:35:34 -0400 |
---|---|---|
committer | Endi Sukma Dewata <edewata@redhat.com> | 2012-07-30 09:41:01 -0500 |
commit | 70681bc83ccc25639da1b87940661b2649044629 (patch) | |
tree | dc24bfc3ff95f93e71b2a2e09dfa99e5c1654e3b /base/common/src/com/netscape/cms/client/cert/CertRequestApproveCLI.java | |
parent | 14243746edd14be2564b625c4a940c4723c168f1 (diff) | |
download | pki-70681bc83ccc25639da1b87940661b2649044629.tar.gz pki-70681bc83ccc25639da1b87940661b2649044629.tar.xz pki-70681bc83ccc25639da1b87940661b2649044629.zip |
Cert CLI - cert-request-review and cert-request-approve implementations
Diffstat (limited to 'base/common/src/com/netscape/cms/client/cert/CertRequestApproveCLI.java')
-rw-r--r-- | base/common/src/com/netscape/cms/client/cert/CertRequestApproveCLI.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/base/common/src/com/netscape/cms/client/cert/CertRequestApproveCLI.java b/base/common/src/com/netscape/cms/client/cert/CertRequestApproveCLI.java new file mode 100644 index 000000000..3d729424f --- /dev/null +++ b/base/common/src/com/netscape/cms/client/cert/CertRequestApproveCLI.java @@ -0,0 +1,69 @@ +package com.netscape.cms.client.cert; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Unmarshaller; + +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.ParseException; + +import com.netscape.cms.client.cli.CLI; +import com.netscape.cms.client.cli.MainCLI; +import com.netscape.cms.servlet.base.CMSException; +import com.netscape.cms.servlet.request.model.AgentEnrollmentRequestData; + +public class CertRequestApproveCLI extends CLI { + CertCLI parent; + + public CertRequestApproveCLI(CertCLI parent) { + super("request-approve", "Approve certificate request"); + this.parent = parent; + } + + @Override + public void execute(String[] args) { + CommandLine cmd = null; + + try { + cmd = parser.parse(options, args); + } catch (ParseException e) { + System.err.println("Error: " + e.getMessage()); + printHelp(); + System.exit(-1); + } + + String[] cLineArgs = cmd.getArgs(); + + if (cLineArgs.length < 1) { + System.err.println("Error: No file name specified."); + printHelp(); + System.exit(-1); + } + AgentEnrollmentRequestData reviewInfo = null; + try { + JAXBContext context = JAXBContext.newInstance(AgentEnrollmentRequestData.class); + Unmarshaller unmarshaller = context.createUnmarshaller(); + FileInputStream fis = new FileInputStream(cLineArgs[0].trim()); + reviewInfo = (AgentEnrollmentRequestData) unmarshaller.unmarshal(fis); + parent.client.approveRequest(reviewInfo.getRequestId(), reviewInfo); + } catch (CMSException e) { + System.err.println(e.getMessage()); + System.exit(-1); + } catch (JAXBException e) { + System.err.println("Error: " + e.getMessage()); + System.exit(-1); + } catch (FileNotFoundException e) { + System.err.println("Error: " + e.getMessage()); + System.exit(-1); + } + MainCLI.printMessage("Approved certificate request " + reviewInfo.getRequestId().toString()); + } + + @Override + public void printHelp() { + formatter.printHelp(parent.name + "-" + name + " <file name>", options); + } +} |