summaryrefslogtreecommitdiffstats
path: root/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.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/ProfileModifyCLI.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/ProfileModifyCLI.java')
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java61
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);
+ }
+ }
+}