diff options
author | Endi S. Dewata <edewata@redhat.com> | 2013-08-06 02:29:50 -0400 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2013-08-23 23:17:21 -0400 |
commit | ccb8d7148fc4f50fa9d949edb4f47ad6742af2bc (patch) | |
tree | 376f44c0eaa0a39c4787fb8bf09aa9ddfd85eeac /base/java-tools/src/com/netscape/cmstools/user | |
parent | 752166224154243f93fad5ea10dd4ebd87e1c369 (diff) | |
download | pki-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/user')
13 files changed, 83 insertions, 96 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserAddCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserAddCLI.java index 3db8fe533..33a6786e7 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserAddCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserAddCLI.java @@ -30,15 +30,15 @@ import com.netscape.cmstools.cli.MainCLI; */ public class UserAddCLI extends CLI { - public UserCLI parent; + public UserCLI userCLI; - public UserAddCLI(UserCLI parent) { - super("add", "Add user"); - this.parent = parent; + public UserAddCLI(UserCLI userCLI) { + super("add", "Add user", userCLI); + this.userCLI = userCLI; } public void printHelp() { - formatter.printHelp(parent.name + "-" + name + " <User ID> [OPTIONS...]", options); + formatter.printHelp(getFullName() + " <User ID> [OPTIONS...]", options); } public void execute(String[] args) throws Exception { @@ -97,7 +97,7 @@ public class UserAddCLI extends CLI { userData.setType(cmd.getOptionValue("type")); userData.setState(cmd.getOptionValue("state")); - userData = parent.client.addUser(userData); + userData = userCLI.userClient.addUser(userData); MainCLI.printMessage("Added user \"" + userId + "\""); diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserAddCertCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserAddCertCLI.java index 7bec2ff19..e3271c022 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserAddCertCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserAddCertCLI.java @@ -33,15 +33,15 @@ import com.netscape.cmstools.cli.MainCLI; */ public class UserAddCertCLI extends CLI { - public UserCLI parent; + public UserCLI userCLI; - public UserAddCertCLI(UserCLI parent) { - super("add-cert", "Add user cert"); - this.parent = parent; + public UserAddCertCLI(UserCLI userCLI) { + super("add-cert", "Add user cert", userCLI); + this.userCLI = userCLI; } public void printHelp() { - formatter.printHelp(parent.name + "-" + name + " <User ID> [OPTIONS...]", options); + formatter.printHelp(getFullName() + " <User ID> [OPTIONS...]", options); } public void execute(String[] args) throws Exception { @@ -88,7 +88,7 @@ public class UserAddCertCLI extends CLI { System.out.println(userCertData); } - userCertData = parent.client.addUserCert(userId, userCertData); + userCertData = userCLI.userClient.addUserCert(userId, userCertData); MainCLI.printMessage("Added certificate \"" + userCertData.getID() + "\""); diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserAddMembershipCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserAddMembershipCLI.java index 224f2266d..ab8e61fe1 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserAddMembershipCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserAddMembershipCLI.java @@ -27,15 +27,15 @@ import com.netscape.cmstools.cli.MainCLI; */ public class UserAddMembershipCLI extends CLI { - public UserCLI parent; + public UserCLI userCLI; - public UserAddMembershipCLI(UserCLI parent) { - super("add-membership", "Add user membership"); - this.parent = parent; + public UserAddMembershipCLI(UserCLI userCLI) { + super("add-membership", "Add user membership", userCLI); + this.userCLI = userCLI; } public void printHelp() { - formatter.printHelp(parent.name + "-" + name + " <User ID> <Group ID>", options); + formatter.printHelp(getFullName() + " <User ID> <Group ID>", options); } public void execute(String[] args) throws Exception { @@ -48,7 +48,7 @@ public class UserAddMembershipCLI extends CLI { String userID = args[0]; String groupID = args[1]; - UserMembershipData userMembershipData = parent.client.addUserMembership(userID, groupID); + UserMembershipData userMembershipData = userCLI.userClient.addUserMembership(userID, groupID); MainCLI.printMessage("Added membership in \""+groupID+"\""); diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserCLI.java index b111f1558..4f6d11ac3 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserCLI.java @@ -36,12 +36,10 @@ import com.netscape.cmstools.cli.MainCLI; */ public class UserCLI extends CLI { - public MainCLI parent; - public UserClient client; + public UserClient userClient; - public UserCLI(MainCLI parent) { - super("user", "User management commands"); - this.parent = parent; + public UserCLI(CLI parent) { + super("user", "User management commands", parent); addModule(new UserFindCLI(this)); addModule(new UserShowCLI(this)); @@ -59,30 +57,19 @@ public class UserCLI extends CLI { addModule(new UserRemoveMembershipCLI(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 UserClient(parent.client); + client = parent.getClient(); + userClient = new UserClient(client); if (args.length == 0) { printHelp(); diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java index 187d4596d..4b081920e 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java @@ -33,15 +33,15 @@ import com.netscape.cmstools.cli.MainCLI; */ public class UserFindCLI extends CLI { - public UserCLI parent; + public UserCLI userCLI; - public UserFindCLI(UserCLI parent) { - super("find", "Find users"); - this.parent = parent; + public UserFindCLI(UserCLI userCLI) { + super("find", "Find users", userCLI); + this.userCLI = userCLI; } public void printHelp() { - formatter.printHelp(parent.name + "-" + name + " [FILTER] [OPTIONS...]", options); + formatter.printHelp(getFullName() + " [FILTER] [OPTIONS...]", options); } public void execute(String[] args) throws Exception { @@ -74,7 +74,7 @@ public class UserFindCLI extends CLI { s = cmd.getOptionValue("size"); Integer size = s == null ? null : Integer.valueOf(s); - UserCollection response = parent.client.findUsers(filter, start, size); + UserCollection response = userCLI.userClient.findUsers(filter, start, size); Collection<UserData> entries = response.getUsers(); diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserFindCertCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserFindCertCLI.java index 08f687933..15bc4f753 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserFindCertCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserFindCertCLI.java @@ -33,15 +33,15 @@ import com.netscape.cmstools.cli.MainCLI; */ public class UserFindCertCLI extends CLI { - public UserCLI parent; + public UserCLI userCLI; - public UserFindCertCLI(UserCLI parent) { - super("find-cert", "Find user certs"); - this.parent = parent; + public UserFindCertCLI(UserCLI userCLI) { + super("find-cert", "Find user certs", userCLI); + this.userCLI = userCLI; } public void printHelp() { - formatter.printHelp(parent.name + "-" + name + " <User ID> [OPTIONS...]", options); + formatter.printHelp(getFullName() + " <User ID> [OPTIONS...]", options); } public void execute(String[] args) throws Exception { @@ -80,7 +80,7 @@ public class UserFindCertCLI extends CLI { s = cmd.getOptionValue("size"); Integer size = s == null ? null : Integer.valueOf(s); - UserCertCollection response = parent.client.findUserCerts(userID, start, size); + UserCertCollection response = userCLI.userClient.findUserCerts(userID, start, size); Collection<UserCertData> entries = response.getCerts(); diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserFindMembershipCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserFindMembershipCLI.java index 494c3c323..0c41635dd 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserFindMembershipCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserFindMembershipCLI.java @@ -33,15 +33,15 @@ import com.netscape.cmstools.cli.MainCLI; */ public class UserFindMembershipCLI extends CLI { - public UserCLI parent; + public UserCLI userCLI; - public UserFindMembershipCLI(UserCLI parent) { - super("find-membership", "Find user memberships"); - this.parent = parent; + public UserFindMembershipCLI(UserCLI userCLI) { + super("find-membership", "Find user memberships", userCLI); + this.userCLI = userCLI; } public void printHelp() { - formatter.printHelp(parent.name + "-" + name + " <User ID> [OPTIONS...]", options); + formatter.printHelp(getFullName() + " <User ID> [OPTIONS...]", options); } public void execute(String[] args) throws Exception { @@ -80,7 +80,7 @@ public class UserFindMembershipCLI extends CLI { s = cmd.getOptionValue("size"); Integer size = s == null ? null : Integer.valueOf(s); - UserMembershipCollection response = parent.client.findUserMemberships(userID, start, size); + UserMembershipCollection response = userCLI.userClient.findUserMemberships(userID, start, size); Collection<UserMembershipData> entries = response.getMemberships(); diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserModifyCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserModifyCLI.java index 706224ef9..a09e0fcdf 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserModifyCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserModifyCLI.java @@ -30,15 +30,15 @@ import com.netscape.cmstools.cli.MainCLI; */ public class UserModifyCLI extends CLI { - public UserCLI parent; + public UserCLI userCLI; - public UserModifyCLI(UserCLI parent) { - super("mod", "Modify user"); - this.parent = parent; + public UserModifyCLI(UserCLI userCLI) { + super("mod", "Modify user", userCLI); + this.userCLI = userCLI; } public void printHelp() { - formatter.printHelp(parent.name + "-" + name + " <User ID> [OPTIONS...]", options); + formatter.printHelp(getFullName() + " <User ID> [OPTIONS...]", options); } public void execute(String[] args) throws Exception { @@ -98,7 +98,7 @@ public class UserModifyCLI extends CLI { // userData.setType(cmd.getOptionValue("type")); userData.setState(cmd.getOptionValue("state")); - userData = parent.client.modifyUser(userId, userData); + userData = userCLI.userClient.modifyUser(userId, userData); MainCLI.printMessage("Modified user \"" + userId + "\""); diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCLI.java index e7a9ad5d1..b26b4ae8a 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCLI.java @@ -26,15 +26,15 @@ import com.netscape.cmstools.cli.MainCLI; */ public class UserRemoveCLI extends CLI { - public UserCLI parent; + public UserCLI userCLI; - public UserRemoveCLI(UserCLI parent) { - super("del", "Remove user"); - this.parent = parent; + public UserRemoveCLI(UserCLI userCLI) { + super("del", "Remove user", userCLI); + this.userCLI = userCLI; } public void printHelp() { - formatter.printHelp(parent.name + "-" + name + " <User ID>", options); + formatter.printHelp(getFullName() + " <User ID>", options); } public void execute(String[] args) throws Exception { @@ -46,7 +46,7 @@ public class UserRemoveCLI extends CLI { String userID = args[0]; - parent.client.removeUser(userID); + userCLI.userClient.removeUser(userID); MainCLI.printMessage("Deleted user \"" + userID + "\""); } diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCertCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCertCLI.java index 264458b7f..5758c4ccd 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCertCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCertCLI.java @@ -29,15 +29,15 @@ import com.netscape.cmstools.cli.MainCLI; */ public class UserRemoveCertCLI extends CLI { - public UserCLI parent; + public UserCLI userCLI; - public UserRemoveCertCLI(UserCLI parent) { - super("remove-cert", "Remove user cert"); - this.parent = parent; + public UserRemoveCertCLI(UserCLI userCLI) { + super("remove-cert", "Remove user cert", userCLI); + this.userCLI = userCLI; } public void printHelp() { - formatter.printHelp(parent.name + "-" + name + " <User ID> <Cert ID>", options); + formatter.printHelp(getFullName() + " <User ID> <Cert ID>", options); } public void execute(String[] args) throws Exception { @@ -54,7 +54,7 @@ public class UserRemoveCertCLI extends CLI { System.out.println("Removing cert "+certID+" from user "+userID+"."); } - parent.client.removeUserCert(userID, URLEncoder.encode(certID, "UTF-8")); + userCLI.userClient.removeUserCert(userID, URLEncoder.encode(certID, "UTF-8")); MainCLI.printMessage("Deleted certificate \"" + certID + "\""); } diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserRemoveMembershipCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserRemoveMembershipCLI.java index 26a5a6eec..62091efb0 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserRemoveMembershipCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserRemoveMembershipCLI.java @@ -26,15 +26,15 @@ import com.netscape.cmstools.cli.MainCLI; */ public class UserRemoveMembershipCLI extends CLI { - public UserCLI parent; + public UserCLI userCLI; - public UserRemoveMembershipCLI(UserCLI parent) { - super("remove-membership", "Remove user membership"); - this.parent = parent; + public UserRemoveMembershipCLI(UserCLI userCLI) { + super("remove-membership", "Remove user membership", userCLI); + this.userCLI = userCLI; } public void printHelp() { - formatter.printHelp(parent.name + "-" + name + " <User ID> <Group ID>", options); + formatter.printHelp(getFullName() + " <User ID> <Group ID>", options); } public void execute(String[] args) throws Exception { @@ -47,7 +47,7 @@ public class UserRemoveMembershipCLI extends CLI { String userID = args[0]; String groupID = args[1]; - parent.client.removeUserMembership(userID, groupID); + userCLI.userClient.removeUserMembership(userID, groupID); MainCLI.printMessage("Deleted membership in group \""+groupID+"\""); } diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserShowCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserShowCLI.java index a04cd6da2..ce0623e3b 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserShowCLI.java @@ -27,15 +27,15 @@ import com.netscape.cmstools.cli.MainCLI; */ public class UserShowCLI extends CLI { - public UserCLI parent; + public UserCLI userCLI; - public UserShowCLI(UserCLI parent) { - super("show", "Show user"); - this.parent = parent; + public UserShowCLI(UserCLI userCLI) { + super("show", "Show user", userCLI); + this.userCLI = userCLI; } public void printHelp() { - formatter.printHelp(parent.name + "-" + name + " <User ID>", options); + formatter.printHelp(getFullName() + " <User ID>", options); } public void execute(String[] args) throws Exception { @@ -47,7 +47,7 @@ public class UserShowCLI extends CLI { String userId = args[0]; - UserData userData = parent.client.getUser(userId); + UserData userData = userCLI.userClient.getUser(userId); MainCLI.printMessage("User \"" + userId + "\""); diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserShowCertCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserShowCertCLI.java index f30c72327..87e535f6a 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserShowCertCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserShowCertCLI.java @@ -34,15 +34,15 @@ import com.netscape.cmstools.cli.MainCLI; */ public class UserShowCertCLI extends CLI { - public UserCLI parent; + public UserCLI userCLI; - public UserShowCertCLI(UserCLI parent) { - super("show-cert", "Show user cert"); - this.parent = parent; + public UserShowCertCLI(UserCLI userCLI) { + super("show-cert", "Show user cert", userCLI); + this.userCLI = userCLI; } public void printHelp() { - formatter.printHelp(parent.name + "-" + name + " <User ID> <Cert ID> [OPTIONS...]", options); + formatter.printHelp(getFullName() + " <User ID> <Cert ID> [OPTIONS...]", options); } public void execute(String[] args) throws Exception { @@ -79,7 +79,7 @@ public class UserShowCertCLI extends CLI { String certID = cmdArgs[1]; String file = cmd.getOptionValue("output"); - UserCertData userCertData = parent.client.getUserCert(userID, URLEncoder.encode(certID, "UTF-8")); + UserCertData userCertData = userCLI.userClient.getUserCert(userID, URLEncoder.encode(certID, "UTF-8")); String encoded = userCertData.getEncoded(); if (encoded != null && file != null) { |