summaryrefslogtreecommitdiffstats
path: root/base/java-tools/src/com/netscape/cmstools/profile
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2013-08-06 02:29:50 -0400
committerEndi S. Dewata <edewata@redhat.com>2013-08-23 23:17:21 -0400
commitccb8d7148fc4f50fa9d949edb4f47ad6742af2bc (patch)
tree376f44c0eaa0a39c4787fb8bf09aa9ddfd85eeac /base/java-tools/src/com/netscape/cmstools/profile
parent752166224154243f93fad5ea10dd4ebd87e1c369 (diff)
downloadpki-ccb8d7148fc4f50fa9d949edb4f47ad6742af2bc.tar.gz
pki-ccb8d7148fc4f50fa9d949edb4f47ad6742af2bc.tar.xz
pki-ccb8d7148fc4f50fa9d949edb4f47ad6742af2bc.zip
Refactored CLI framework.
Some common CLI methods and attributes have been refactored into the CLI base class. A new SubsystemCLI class was added as the base for subsystem CLI modules. The MainCLI was modified such that it will only perform authentication if the subsystem is specified in the server URI. If no subsystem is specified in the URI, the authentication will be done by the subsystem CLI module. Ticket #701
Diffstat (limited to 'base/java-tools/src/com/netscape/cmstools/profile')
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java13
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java38
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java14
8 files changed, 56 insertions, 69 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java
index 2c30fdbd7..17f7998f9 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java
@@ -12,15 +12,16 @@ import com.netscape.cmstools.cli.CLI;
import com.netscape.cmstools.cli.MainCLI;
public class ProfileAddCLI extends CLI {
- public ProfileCLI parent;
- public ProfileAddCLI(ProfileCLI parent) {
- super("add", "Add profiles");
- this.parent = parent;
+ public ProfileCLI profileCLI;
+
+ public ProfileAddCLI(ProfileCLI profileCLI) {
+ super("add", "Add profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <file>", options);
+ formatter.printHelp(getFullName() + " <file>", options);
}
public void execute(String[] args) {
@@ -50,7 +51,7 @@ public class ProfileAddCLI extends CLI {
try {
ProfileData data = ProfileCLI.readProfileFromFile(filename);
- parent.client.createProfile(data);
+ profileCLI.profileClient.createProfile(data);
MainCLI.printMessage("Added profile " + data.getId());
} catch (FileNotFoundException | JAXBException e) {
System.err.println("Error: " + e.getMessage());
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java
index ba41a3da1..59f63c7e9 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java
@@ -12,8 +12,6 @@ import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
-import org.apache.commons.lang.StringUtils;
-
import com.netscape.certsrv.profile.ProfileAttribute;
import com.netscape.certsrv.profile.ProfileClient;
import com.netscape.certsrv.profile.ProfileData;
@@ -24,12 +22,11 @@ import com.netscape.cmstools.cli.CLI;
import com.netscape.cmstools.cli.MainCLI;
public class ProfileCLI extends CLI {
- public MainCLI parent;
- public ProfileClient client;
- public ProfileCLI(MainCLI parent) {
- super("profile", "Profile management commands");
- this.parent = parent;
+ public ProfileClient profileClient;
+
+ public ProfileCLI(CLI parent) {
+ super("profile", "Profile management commands", parent);
addModule(new ProfileFindCLI(this));
addModule(new ProfileShowCLI(this));
@@ -40,30 +37,19 @@ public class ProfileCLI extends CLI {
addModule(new ProfileDisableCLI(this));
}
- public void printHelp() {
-
- System.out.println("Commands:");
-
- int leftPadding = 1;
- int rightPadding = 25;
-
- for (CLI module : modules.values()) {
- String label = name + "-" + module.getName();
-
- int padding = rightPadding - leftPadding - label.length();
- if (padding < 1)
- padding = 1;
-
- System.out.print(StringUtils.repeat(" ", leftPadding));
- System.out.print(label);
- System.out.print(StringUtils.repeat(" ", padding));
- System.out.println(module.getDescription());
+ public String getFullName() {
+ if (parent instanceof MainCLI) {
+ // do not include MainCLI's name
+ return name;
+ } else {
+ return parent.getFullName() + "-" + name;
}
}
public void execute(String[] args) throws Exception {
- client = new ProfileClient(parent.client);
+ client = parent.getClient();
+ profileClient = new ProfileClient(client);
if (args.length == 0) {
printHelp();
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java
index 0279cf36a..4fc640d75 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java
@@ -5,15 +5,15 @@ import com.netscape.cmstools.cli.MainCLI;
public class ProfileDisableCLI extends CLI {
- public ProfileCLI parent;
+ public ProfileCLI profileCLI;
- public ProfileDisableCLI(ProfileCLI parent) {
- super("disable", "Disable profiles");
- this.parent = parent;
+ public ProfileDisableCLI(ProfileCLI profileCLI) {
+ super("disable", "Disable profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <profile_id>", options);
+ formatter.printHelp(getFullName() + " <Profile ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -25,7 +25,7 @@ public class ProfileDisableCLI extends CLI {
String profileId = args[0];
- parent.client.disableProfile(profileId);
+ profileCLI.profileClient.disableProfile(profileId);
MainCLI.printMessage("Disabled profile \"" + profileId + "\"");
}
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java
index 727e49b0a..88c96c52b 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java
@@ -5,15 +5,15 @@ import com.netscape.cmstools.cli.MainCLI;
public class ProfileEnableCLI extends CLI {
- public ProfileCLI parent;
+ public ProfileCLI profileCLI;
- public ProfileEnableCLI(ProfileCLI parent) {
- super("enable", "Enable profiles");
- this.parent = parent;
+ public ProfileEnableCLI(ProfileCLI profileCLI) {
+ super("enable", "Enable profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <profile_id>", options);
+ formatter.printHelp(getFullName() + " <Profile ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -25,7 +25,7 @@ public class ProfileEnableCLI extends CLI {
String profileId = args[0];
- parent.client.enableProfile(profileId);
+ profileCLI.profileClient.enableProfile(profileId);
MainCLI.printMessage("Enabled profile \"" + profileId + "\"");
}
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java
index 9ced7c0b8..1370319f9 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java
@@ -8,20 +8,20 @@ import com.netscape.cmstools.cli.MainCLI;
public class ProfileFindCLI extends CLI {
- public ProfileCLI parent;
+ public ProfileCLI profileCLI;
- public ProfileFindCLI(ProfileCLI parent) {
- super("find", "Find profiles");
- this.parent = parent;
+ public ProfileFindCLI(ProfileCLI profileCLI) {
+ super("find", "Find profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " [FILTER] [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " [FILTER] [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
- Collection<ProfileDataInfo> infos = parent.client.listProfiles().getProfileInfos();
+ Collection<ProfileDataInfo> infos = profileCLI.profileClient.listProfiles().getProfileInfos();
boolean first = true;
for (ProfileDataInfo info: infos) {
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java
index 5259a7fe7..e1c543672 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java
@@ -13,15 +13,15 @@ import com.netscape.cmstools.cli.MainCLI;
public class ProfileModifyCLI extends CLI {
- public ProfileCLI parent;
+ public ProfileCLI profileCLI;
- public ProfileModifyCLI(ProfileCLI parent) {
- super("mod", "Modify profiles");
- this.parent = parent;
+ public ProfileModifyCLI(ProfileCLI profileCLI) {
+ super("mod", "Modify profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <file>", options);
+ formatter.printHelp(getFullName() + " <file>", options);
}
public void execute(String[] args) {
@@ -51,7 +51,7 @@ public class ProfileModifyCLI extends CLI {
try {
ProfileData data = ProfileCLI.readProfileFromFile(filename);
- parent.client.modifyProfile(data);
+ profileCLI.profileClient.modifyProfile(data);
MainCLI.printMessage("Modified profile " + data.getId());
} catch (FileNotFoundException | JAXBException e) {
System.err.println("Error: " + e.getMessage());
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java
index c2e3eae53..92c99ede8 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java
@@ -5,15 +5,15 @@ import com.netscape.cmstools.cli.MainCLI;
public class ProfileRemoveCLI extends CLI {
- public ProfileCLI parent;
+ public ProfileCLI profileCLI;
- public ProfileRemoveCLI(ProfileCLI parent) {
- super("del", "Remove profiles");
- this.parent = parent;
+ public ProfileRemoveCLI(ProfileCLI profileCLI) {
+ super("del", "Remove profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <profile_id>", options);
+ formatter.printHelp(getFullName() + " <Profile ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -25,7 +25,7 @@ public class ProfileRemoveCLI extends CLI {
String profileId = args[0];
- parent.client.deleteProfile(profileId);
+ profileCLI.profileClient.deleteProfile(profileId);
MainCLI.printMessage("Deleted profile \"" + profileId + "\"");
}
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java
index c3f8675f2..6b09d7f9d 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java
@@ -10,15 +10,15 @@ import com.netscape.cmstools.cli.MainCLI;
public class ProfileShowCLI extends CLI {
- public ProfileCLI parent;
+ public ProfileCLI profileCLI;
- public ProfileShowCLI(ProfileCLI parent) {
- super("show", "Show profiles");
- this.parent = parent;
+ public ProfileShowCLI(ProfileCLI profileCLI) {
+ super("show", "Show profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <profile_id>", options);
+ formatter.printHelp(getFullName() + " <Profile ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -56,14 +56,14 @@ public class ProfileShowCLI extends CLI {
}
}
- ProfileData profileData = parent.client.retrieveProfile(profileId);
+ ProfileData profileData = profileCLI.profileClient.retrieveProfile(profileId);
MainCLI.printMessage("Profile \"" + profileId + "\"");
if (filename != null) {
ProfileCLI.saveProfileToFile(filename, profileData);
} else {
- ProfileCLI.printProfile(profileData, parent.parent.config.getServerURI());
+ ProfileCLI.printProfile(profileData, profileCLI.getClient().getConfig().getServerURI());
}
}