diff options
| author | Endi S. Dewata <edewata@redhat.com> | 2017-03-24 01:17:55 +0100 |
|---|---|---|
| committer | Endi S. Dewata <edewata@redhat.com> | 2017-03-24 16:39:53 +0100 |
| commit | 01fe5a885ffcfcff9018df8d68d5fc8dfe29d3f1 (patch) | |
| tree | 2a45be156b98ca4c27ef7b3fd12f0156ae6e64bf /base | |
| parent | 7338c328b25405fac4377981192f6ef2ddd72fa9 (diff) | |
| download | pki-01fe5a885ffcfcff9018df8d68d5fc8dfe29d3f1.tar.gz pki-01fe5a885ffcfcff9018df8d68d5fc8dfe29d3f1.tar.xz pki-01fe5a885ffcfcff9018df8d68d5fc8dfe29d3f1.zip | |
Refactored UserCLI.
The UserCLI and its submodules have been modified to use lazy
initialization to get the PKIClient object.
Diffstat (limited to 'base')
15 files changed, 57 insertions, 38 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 4cccd7adf..b244ab385 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserAddCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserAddCLI.java @@ -23,6 +23,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.user.UserClient; import com.netscape.certsrv.user.UserData; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -98,7 +99,8 @@ public class UserAddCLI extends CLI { userData.setType(cmd.getOptionValue("type")); userData.setState(cmd.getOptionValue("state")); - userData = userCLI.userClient.addUser(userData); + UserClient userClient = userCLI.getUserClient(); + userData = userClient.addUser(userData); MainCLI.printMessage("Added user \"" + userID + "\""); 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 5382c4711..57a132c46 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserCLI.java @@ -21,6 +21,7 @@ package com.netscape.cmstools.user; import org.apache.commons.lang.StringUtils; import org.jboss.resteasy.plugins.providers.atom.Link; +import com.netscape.certsrv.client.PKIClient; import com.netscape.certsrv.user.UserClient; import com.netscape.certsrv.user.UserData; import com.netscape.certsrv.user.UserResource; @@ -62,22 +63,20 @@ public class UserCLI extends CLI { return "pki-user"; } - public void execute(String[] args) throws Exception { + public UserClient getUserClient() throws Exception { - client = parent.getClient(); - userClient = (UserClient)parent.getClient("user"); + if (userClient != null) return userClient; - // if this is a top-level command - if (userClient == null) { - // determine the subsystem - String subsystem = client.getSubsystem(); - if (subsystem == null) subsystem = "ca"; + PKIClient client = getClient(); - // create new user client - userClient = new UserClient(client, subsystem); - } + // determine the subsystem + String subsystem = client.getSubsystem(); + if (subsystem == null) subsystem = "ca"; + + // create new user client + userClient = new UserClient(client, subsystem); - super.execute(args); + return userClient; } public static void printUser(UserData userData) { diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserCertAddCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserCertAddCLI.java index 3b233cdb2..79f02937b 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserCertAddCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserCertAddCLI.java @@ -30,6 +30,7 @@ import com.netscape.certsrv.cert.CertClient; import com.netscape.certsrv.cert.CertData; import com.netscape.certsrv.dbs.certdb.CertId; import com.netscape.certsrv.user.UserCertData; +import com.netscape.certsrv.user.UserClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -117,7 +118,8 @@ public class UserCertAddCLI extends CLI { System.out.println(userCertData); } - userCertData = userCertCLI.userClient.addUserCert(userID, userCertData); + UserClient userClient = userCertCLI.getUserClient(); + userCertData = userClient.addUserCert(userID, userCertData); MainCLI.printMessage("Added certificate \"" + userCertData.getID() + "\""); diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserCertCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserCertCLI.java index d8ea91720..e6d81e8e7 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserCertCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserCertCLI.java @@ -29,11 +29,13 @@ import com.netscape.cmstools.cli.CLI; */ public class UserCertCLI extends CLI { - public UserClient userClient; + UserCLI parent; public UserCertCLI(UserCLI parent) { super("cert", "User certificate management commands", parent); + this.parent = parent; + addModule(new UserCertFindCLI(this)); addModule(new UserCertShowCLI(this)); addModule(new UserCertAddCLI(this)); @@ -45,12 +47,8 @@ public class UserCertCLI extends CLI { return "pki-user-cert"; } - public void execute(String[] args) throws Exception { - - client = parent.getClient(); - userClient = ((UserCLI)parent).userClient; - - super.execute(args); + public UserClient getUserClient() throws Exception { + return parent.getUserClient(); } public static void printCert( diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserCertFindCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserCertFindCLI.java index 4f6980fd8..bbcb00f8f 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserCertFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserCertFindCLI.java @@ -26,6 +26,7 @@ import org.apache.commons.cli.Option; import com.netscape.certsrv.user.UserCertCollection; import com.netscape.certsrv.user.UserCertData; +import com.netscape.certsrv.user.UserClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -80,7 +81,8 @@ public class UserCertFindCLI extends CLI { s = cmd.getOptionValue("size"); Integer size = s == null ? null : Integer.valueOf(s); - UserCertCollection response = userCertCLI.userClient.findUserCerts(userID, start, size); + UserClient userClient = userCertCLI.getUserClient(); + UserCertCollection response = userClient.findUserCerts(userID, start, size); MainCLI.printMessage(response.getTotal() + " entries matched"); if (response.getTotal() == 0) return; diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserCertRemoveCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserCertRemoveCLI.java index e1f15cac5..935092a70 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserCertRemoveCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserCertRemoveCLI.java @@ -23,6 +23,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.user.UserClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -65,7 +66,8 @@ public class UserCertRemoveCLI extends CLI { System.out.println("Removing cert "+certID+" from user "+userID+"."); } - userCertCLI.userClient.removeUserCert(userID, URLEncoder.encode(certID, "UTF-8")); + UserClient userClient = userCertCLI.getUserClient(); + userClient.removeUserCert(userID, URLEncoder.encode(certID, "UTF-8")); MainCLI.printMessage("Deleted certificate \"" + certID + "\""); } diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserCertShowCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserCertShowCLI.java index 1267dbc80..8c1f53ddd 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserCertShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserCertShowCLI.java @@ -27,6 +27,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import com.netscape.certsrv.user.UserCertData; +import com.netscape.certsrv.user.UserClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -79,7 +80,8 @@ public class UserCertShowCLI extends CLI { String certID = cmdArgs[1]; String file = cmd.getOptionValue("output"); - UserCertData userCertData = userCertCLI.userClient.getUserCert(userID, URLEncoder.encode(certID, "UTF-8")); + UserClient userClient = userCertCLI.getUserClient(); + UserCertData userCertData = userClient.getUserCert(userID, URLEncoder.encode(certID, "UTF-8")); String encoded = userCertData.getEncoded(); if (encoded != null && file != null) { 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 8f9b8ba7f..283779dbc 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java @@ -24,6 +24,7 @@ import java.util.Collection; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.user.UserClient; import com.netscape.certsrv.user.UserCollection; import com.netscape.certsrv.user.UserData; import com.netscape.cmstools.cli.CLI; @@ -75,7 +76,8 @@ public class UserFindCLI extends CLI { s = cmd.getOptionValue("size"); Integer size = s == null ? null : Integer.valueOf(s); - UserCollection response = userCLI.userClient.findUsers(filter, start, size); + UserClient userClient = userCLI.getUserClient(); + UserCollection response = userClient.findUsers(filter, start, size); MainCLI.printMessage(response.getTotal() + " entries matched"); if (response.getTotal() == 0) return; diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserMembershipAddCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserMembershipAddCLI.java index 966e8ed40..4cb0848ab 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserMembershipAddCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserMembershipAddCLI.java @@ -22,6 +22,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.user.UserClient; import com.netscape.certsrv.user.UserMembershipData; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -60,7 +61,8 @@ public class UserMembershipAddCLI extends CLI { String userID = args[0]; String groupID = args[1]; - UserMembershipData userMembershipData = userMembershipCLI.userClient.addUserMembership(userID, groupID); + UserClient userClient = userMembershipCLI.getUserClient(); + UserMembershipData userMembershipData = userClient.addUserMembership(userID, groupID); MainCLI.printMessage("Added membership in \""+groupID+"\""); diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserMembershipCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserMembershipCLI.java index fb418c075..4267421ad 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserMembershipCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserMembershipCLI.java @@ -29,22 +29,20 @@ import com.netscape.cmstools.cli.CLI; */ public class UserMembershipCLI extends CLI { - public UserClient userClient; + UserCLI parent; public UserMembershipCLI(UserCLI parent) { super("membership", "User membership management commands", parent); + this.parent = parent; + addModule(new UserMembershipFindCLI(this)); addModule(new UserMembershipAddCLI(this)); addModule(new UserMembershipRemoveCLI(this)); } - public void execute(String[] args) throws Exception { - - client = parent.getClient(); - userClient = ((UserCLI)parent).userClient; - - super.execute(args); + public UserClient getUserClient() throws Exception { + return parent.getUserClient(); } public static void printUserMembership(UserMembershipData userMembershipData) { diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserMembershipFindCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserMembershipFindCLI.java index f51fc49b5..7a19429aa 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserMembershipFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserMembershipFindCLI.java @@ -24,6 +24,7 @@ import java.util.Collection; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.user.UserClient; import com.netscape.certsrv.user.UserMembershipCollection; import com.netscape.certsrv.user.UserMembershipData; import com.netscape.cmstools.cli.CLI; @@ -81,7 +82,8 @@ public class UserMembershipFindCLI extends CLI { s = cmd.getOptionValue("size"); Integer size = s == null ? null : Integer.valueOf(s); - UserMembershipCollection response = userMembershipCLI.userClient.findUserMemberships(userID, filter, start, size); + UserClient userClient = userMembershipCLI.getUserClient(); + UserMembershipCollection response = userClient.findUserMemberships(userID, filter, start, size); MainCLI.printMessage(response.getTotal() + " entries matched"); if (response.getTotal() == 0) return; diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserMembershipRemoveCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserMembershipRemoveCLI.java index 1573cc8ab..6fe71e266 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserMembershipRemoveCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserMembershipRemoveCLI.java @@ -22,6 +22,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.user.UserClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -59,7 +60,8 @@ public class UserMembershipRemoveCLI extends CLI { String userID = args[0]; String groupID = args[1]; - userMembershipCLI.userClient.removeUserMembership(userID, groupID); + UserClient userClient = userMembershipCLI.getUserClient(); + userClient.removeUserMembership(userID, groupID); MainCLI.printMessage("Deleted membership in group \""+groupID+"\""); } 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 e632672d7..5ef3398e1 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserModifyCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserModifyCLI.java @@ -23,6 +23,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.user.UserClient; import com.netscape.certsrv.user.UserData; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -99,7 +100,8 @@ public class UserModifyCLI extends CLI { // userData.setType(cmd.getOptionValue("type")); userData.setState(cmd.getOptionValue("state")); - userData = userCLI.userClient.modifyUser(userId, userData); + UserClient userClient = userCLI.getUserClient(); + userData = 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 4ad8bf1b3..dbc9d630d 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCLI.java @@ -22,6 +22,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.user.UserClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -58,7 +59,8 @@ public class UserRemoveCLI extends CLI { String userID = args[0]; - userCLI.userClient.removeUser(userID); + UserClient userClient = userCLI.getUserClient(); + userClient.removeUser(userID); MainCLI.printMessage("Deleted user \"" + userID + "\""); } 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 e46013940..244187abf 100644 --- a/base/java-tools/src/com/netscape/cmstools/user/UserShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/user/UserShowCLI.java @@ -22,6 +22,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.user.UserClient; import com.netscape.certsrv.user.UserData; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -59,7 +60,8 @@ public class UserShowCLI extends CLI { String userId = args[0]; - UserData userData = userCLI.userClient.getUser(userId); + UserClient userClient = userCLI.getUserClient(); + UserData userData = userClient.getUser(userId); MainCLI.printMessage("User \"" + userId + "\""); |
