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/java-tools/src/com | |
| 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/java-tools/src/com')
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 + "\""); |
