diff options
author | Ade Lee <alee@redhat.com> | 2013-05-14 15:57:52 -0400 |
---|---|---|
committer | Ade Lee <alee@redhat.com> | 2013-07-22 11:03:02 -0400 |
commit | 9eb2c354b9e3a1d93f89ea951bb713cc684646ed (patch) | |
tree | 82587ac4e9982a63daf85d759a8f8eb11baae80b /base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java | |
parent | dbf97dfa2f163094b5ce0af299ec4bd902ed3488 (diff) | |
download | pki-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.java | 71 |
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); + } + +} |