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/ProfileModifyCLI.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/ProfileModifyCLI.java')
-rw-r--r-- | base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java new file mode 100644 index 000000000..5259a7fe7 --- /dev/null +++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java @@ -0,0 +1,61 @@ +package com.netscape.cmstools.profile; + +import java.io.FileNotFoundException; + +import javax.xml.bind.JAXBException; + +import org.apache.commons.cli.CommandLine; +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 ProfileModifyCLI extends CLI { + + public ProfileCLI parent; + + public ProfileModifyCLI(ProfileCLI parent) { + super("mod", "Modify profiles"); + this.parent = parent; + } + + public void printHelp() { + formatter.printHelp(parent.name + "-" + name + " <file>", options); + } + + 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 filename specified."); + printHelp(); + System.exit(-1); + } + String filename = cLineArgs[0]; + if (filename == null || filename.trim().length() == 0) { + System.err.println("Error: Missing input file name."); + printHelp(); + System.exit(-1); + } + + try { + ProfileData data = ProfileCLI.readProfileFromFile(filename); + parent.client.modifyProfile(data); + MainCLI.printMessage("Modified profile " + data.getId()); + } catch (FileNotFoundException | JAXBException e) { + System.err.println("Error: " + e.getMessage()); + System.exit(-1); + } + } +} |