summaryrefslogtreecommitdiffstats
path: root/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java
diff options
context:
space:
mode:
authorAde Lee <alee@redhat.com>2013-05-14 15:57:52 -0400
committerAde Lee <alee@redhat.com>2013-07-22 11:03:02 -0400
commit9eb2c354b9e3a1d93f89ea951bb713cc684646ed (patch)
tree82587ac4e9982a63daf85d759a8f8eb11baae80b /base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java
parentdbf97dfa2f163094b5ce0af299ec4bd902ed3488 (diff)
downloadpki-9eb2c354b9e3a1d93f89ea951bb713cc684646ed.tar.gz
pki-9eb2c354b9e3a1d93f89ea951bb713cc684646ed.tar.xz
pki-9eb2c354b9e3a1d93f89ea951bb713cc684646ed.zip
Add interfaces for managing profiles
This adds the initial framework for viewing and managing profiles. Also adds CLI code for viewing/adding/deleting and editing profiles.
Diffstat (limited to 'base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java')
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java71
1 files changed, 71 insertions, 0 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java
new file mode 100644
index 000000000..de83c1eb9
--- /dev/null
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java
@@ -0,0 +1,71 @@
+package com.netscape.cmstools.profile;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.ParseException;
+
+import com.netscape.certsrv.profile.ProfileData;
+import com.netscape.cmstools.cli.CLI;
+import com.netscape.cmstools.cli.MainCLI;
+
+public class ProfileShowCLI extends CLI {
+
+ public ProfileCLI parent;
+
+ public ProfileShowCLI(ProfileCLI parent) {
+ super("show", "Show profiles");
+ this.parent = parent;
+ }
+
+ public void printHelp() {
+ formatter.printHelp(parent.name + "-" + name + " <profile_id>", options);
+ }
+
+ public void execute(String[] args) throws Exception {
+ CommandLine cmd = null;
+
+ Option option = new Option(null, "output", true, "Output filename");
+ option.setArgName("filename");
+ options.addOption(option);
+
+ 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: Missing profile ID.");
+ printHelp();
+ System.exit(-1);
+ }
+
+ String profileId = cLineArgs[0];
+
+ String filename = null;
+ if (cmd.hasOption("output")) {
+ filename = cmd.getOptionValue("output");
+ } else {
+ System.err.println("Error: Missing output file name.");
+ printHelp();
+ System.exit(-1);
+ }
+
+ if (filename == null || filename.trim().length() == 0) {
+ System.err.println("Error: Missing output file name.");
+ printHelp();
+ System.exit(-1);
+ }
+
+ ProfileData profileData = parent.client.retrieveProfile(profileId);
+
+ MainCLI.printMessage("Profile \"" + profileId + "\"");
+
+ ProfileCLI.printProfile(profileData);
+ ProfileCLI.saveProfileToFile(filename, profileData);
+ }
+
+}