diff options
| author | Ade Lee <alee@redhat.com> | 2017-03-24 12:13:53 -0400 |
|---|---|---|
| committer | Ade Lee <alee@redhat.com> | 2017-03-24 12:13:53 -0400 |
| commit | c15c8e3b455cf9014f147f6c57f9338b0395b9c7 (patch) | |
| tree | 96151ebc9a27a427adbfebf9a419df42c7a36967 /base/java-tools/src | |
| parent | 5b7ce994b8698dca62c23e653b7a1cfeebf959e4 (diff) | |
| parent | 01fe5a885ffcfcff9018df8d68d5fc8dfe29d3f1 (diff) | |
| download | pki-c15c8e3b455cf9014f147f6c57f9338b0395b9c7.tar.gz pki-c15c8e3b455cf9014f147f6c57f9338b0395b9c7.tar.xz pki-c15c8e3b455cf9014f147f6c57f9338b0395b9c7.zip | |
Merge github.com:dogtagpki/pki
Diffstat (limited to 'base/java-tools/src')
66 files changed, 306 insertions, 229 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertCLI.java index 14e4a53d6..968708440 100644 --- a/base/java-tools/src/com/netscape/cmstools/cert/CertCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cert/CertCLI.java @@ -29,6 +29,7 @@ import com.netscape.certsrv.cert.CertDataInfo; import com.netscape.certsrv.cert.CertRequestInfo; import com.netscape.certsrv.cert.CertRequestInfos; import com.netscape.certsrv.cert.CertReviewResponse; +import com.netscape.certsrv.client.PKIClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -73,22 +74,20 @@ public class CertCLI extends CLI { return "pki-cert"; } - public void execute(String[] args) throws Exception { + public CertClient getCertClient() throws Exception { - client = parent.getClient(); - certClient = (CertClient)parent.getClient("cert"); + if (certClient != null) return certClient; - // if this is a top-level command - if (certClient == null) { - // determine the subsystem - String subsystem = client.getSubsystem(); - if (subsystem == null) subsystem = "ca"; + PKIClient client = getClient(); - // create new cert client - certClient = new CertClient(client, subsystem); - } + // determine the subsystem + String subsystem = client.getSubsystem(); + if (subsystem == null) subsystem = "ca"; + + // create new cert client + certClient = new CertClient(client, subsystem); - super.execute(args); + return certClient; } public static String getAlgorithmNameFromOID(String oid) { diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java index 1a9e4de1f..8320619f2 100644 --- a/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java @@ -27,6 +27,7 @@ import java.util.Date; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.cert.CertClient; import com.netscape.certsrv.cert.CertDataInfo; import com.netscape.certsrv.cert.CertDataInfos; import com.netscape.certsrv.cert.CertSearchRequest; @@ -244,7 +245,8 @@ public class CertFindCLI extends CLI { addSearchAttribute(cmd, searchData); - CertDataInfos certs = certCLI.certClient.findCerts(searchData, start, size); + CertClient certClient = certCLI.getCertClient(); + CertDataInfos certs = certClient.findCerts(searchData, start, size); MainCLI.printMessage(certs.getTotal() + " entries found"); if (certs.getTotal() == 0) return; diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertHoldCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertHoldCLI.java index 9c30ee003..28a2da092 100644 --- a/base/java-tools/src/com/netscape/cmstools/cert/CertHoldCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cert/CertHoldCLI.java @@ -25,6 +25,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.cert.CertClient; import com.netscape.certsrv.cert.CertData; import com.netscape.certsrv.cert.CertRequestInfo; import com.netscape.certsrv.cert.CertRevokeRequest; @@ -77,7 +78,8 @@ public class CertHoldCLI extends CLI { } CertId certID = new CertId(cmdArgs[0]); - CertData certData = certCLI.certClient.reviewCert(certID); + CertClient certClient = certCLI.getCertClient(); + CertData certData = certClient.reviewCert(certID); if (!cmd.hasOption("force")) { @@ -101,7 +103,7 @@ public class CertHoldCLI extends CLI { request.setComments(cmd.getOptionValue("comments")); request.setNonce(certData.getNonce()); - CertRequestInfo certRequestInfo = certCLI.certClient.revokeCert(certID, request); + CertRequestInfo certRequestInfo = certClient.revokeCert(certID, request); if (verbose) { CertCLI.printCertRequestInfo(certRequestInfo); @@ -116,7 +118,7 @@ public class CertHoldCLI extends CLI { MainCLI.printMessage("Could not place certificate \"" + certID.toHexString() + "\" on-hold"); } else { MainCLI.printMessage("Placed certificate \"" + certID.toHexString() + "\" on-hold"); - certData = certCLI.certClient.getCert(certID); + certData = certClient.getCert(certID); CertCLI.printCertData(certData, false, false); } } else { diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertReleaseHoldCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertReleaseHoldCLI.java index a76728255..3166d4ce0 100644 --- a/base/java-tools/src/com/netscape/cmstools/cert/CertReleaseHoldCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cert/CertReleaseHoldCLI.java @@ -24,6 +24,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.cert.CertClient; import com.netscape.certsrv.cert.CertData; import com.netscape.certsrv.cert.CertRequestInfo; import com.netscape.certsrv.dbs.certdb.CertId; @@ -69,10 +70,11 @@ public class CertReleaseHoldCLI extends CLI { } CertId certID = new CertId(cmdArgs[0]); + CertClient certClient = certCLI.getCertClient(); if (!cmd.hasOption("force")) { - CertData certData = certCLI.certClient.getCert(certID); + CertData certData = certClient.getCert(certID); System.out.println("Placing certificate off-hold:"); @@ -88,7 +90,7 @@ public class CertReleaseHoldCLI extends CLI { } } - CertRequestInfo certRequestInfo = certCLI.certClient.unrevokeCert(certID); + CertRequestInfo certRequestInfo = certClient.unrevokeCert(certID); if (verbose) { CertCLI.printCertRequestInfo(certRequestInfo); @@ -103,7 +105,7 @@ public class CertReleaseHoldCLI extends CLI { MainCLI.printMessage("Could not place certificate \"" + certID.toHexString() + "\" off-hold"); } else { MainCLI.printMessage("Placed certificate \"" + certID.toHexString() + "\" off-hold"); - CertData certData = certCLI.certClient.getCert(certID); + CertData certData = certClient.getCert(certID); CertCLI.printCertData(certData, false, false); } } else { diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestFindCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestFindCLI.java index 71d669e50..460b1a8d3 100644 --- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestFindCLI.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.cert.CertClient; import com.netscape.certsrv.cert.CertRequestInfo; import com.netscape.certsrv.cert.CertRequestInfos; import com.netscape.certsrv.request.RequestId; @@ -113,7 +114,8 @@ public class CertRequestFindCLI extends CLI { String requestType = cmd.getOptionValue("type"); if (requestType != null && requestType.equals("all")) requestType = null; - CertRequestInfos response = certCLI.certClient.listRequests(requestState, requestType, start, size, maxResults, maxTime); + CertClient certClient = certCLI.getCertClient(); + CertRequestInfos response = certClient.listRequests(requestState, requestType, start, size, maxResults, maxTime); MainCLI.printMessage(response.getTotal() + " entries matched"); if (response.getTotal() == 0) return; diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileFindCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileFindCLI.java index 220ee7c18..c9be315ae 100644 --- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileFindCLI.java @@ -6,6 +6,7 @@ import java.util.Collection; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.cert.CertClient; import com.netscape.certsrv.profile.ProfileDataInfo; import com.netscape.certsrv.profile.ProfileDataInfos; import com.netscape.cmstools.cli.CLI; @@ -58,7 +59,8 @@ public class CertRequestProfileFindCLI extends CLI { s = cmd.getOptionValue("size"); Integer size = s == null ? null : Integer.valueOf(s); - ProfileDataInfos response = certCLI.certClient.listEnrollmentTemplates(start, size); + CertClient certClient = certCLI.getCertClient(); + ProfileDataInfos response = certClient.listEnrollmentTemplates(start, size); MainCLI.printMessage(response.getTotal() + " entries matched"); if (response.getTotal() == 0) return; diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileShowCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileShowCLI.java index cb3a79bfb..ba33bc1c2 100644 --- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestProfileShowCLI.java @@ -5,6 +5,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.cert.CertClient; import com.netscape.certsrv.cert.CertEnrollmentRequest; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -57,7 +58,8 @@ public class CertRequestProfileShowCLI extends CLI { } } - CertEnrollmentRequest request = certCLI.certClient.getEnrollmentTemplate(profileId); + CertClient certClient = certCLI.getCertClient(); + CertEnrollmentRequest request = certClient.getEnrollmentTemplate(profileId); MainCLI.printMessage("Enrollment Template for Profile \"" + profileId + "\""); diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestReviewCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestReviewCLI.java index bc3df309a..fcfefa847 100644 --- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestReviewCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestReviewCLI.java @@ -15,6 +15,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.lang.StringUtils; +import com.netscape.certsrv.cert.CertClient; import com.netscape.certsrv.cert.CertRequestInfo; import com.netscape.certsrv.cert.CertReviewResponse; import com.netscape.certsrv.request.RequestId; @@ -98,7 +99,8 @@ public class CertRequestReviewCLI extends CLI { } // Retrieve certificate request. - CertReviewResponse reviewInfo = certCLI.certClient.reviewRequest(requestId); + CertClient certClient = certCLI.getCertClient(); + CertReviewResponse reviewInfo = certClient.reviewRequest(requestId); if (action == null) { // Store certificate request in a file. @@ -133,38 +135,38 @@ public class CertRequestReviewCLI extends CLI { } if (action.equalsIgnoreCase("approve")) { - certCLI.certClient.approveRequest(reviewInfo.getRequestId(), reviewInfo); + certClient.approveRequest(reviewInfo.getRequestId(), reviewInfo); MainCLI.printMessage("Approved certificate request " + requestId); } else if (action.equalsIgnoreCase("reject")) { - certCLI.certClient.rejectRequest(reviewInfo.getRequestId(), reviewInfo); + certClient.rejectRequest(reviewInfo.getRequestId(), reviewInfo); MainCLI.printMessage("Rejected certificate request " + requestId); } else if (action.equalsIgnoreCase("cancel")) { - certCLI.certClient.cancelRequest(reviewInfo.getRequestId(), reviewInfo); + certClient.cancelRequest(reviewInfo.getRequestId(), reviewInfo); MainCLI.printMessage("Canceled certificate request " + requestId); } else if (action.equalsIgnoreCase("update")) { - certCLI.certClient.updateRequest(reviewInfo.getRequestId(), reviewInfo); + certClient.updateRequest(reviewInfo.getRequestId(), reviewInfo); MainCLI.printMessage("Updated certificate request " + requestId); } else if (action.equalsIgnoreCase("validate")) { - certCLI.certClient.validateRequest(reviewInfo.getRequestId(), reviewInfo); + certClient.validateRequest(reviewInfo.getRequestId(), reviewInfo); MainCLI.printMessage("Validated certificate request " + requestId); } else if (action.equalsIgnoreCase("assign")) { - certCLI.certClient.assignRequest(reviewInfo.getRequestId(), reviewInfo); + certClient.assignRequest(reviewInfo.getRequestId(), reviewInfo); MainCLI.printMessage("Assigned certificate request " + requestId); } else if (action.equalsIgnoreCase("unassign")) { - certCLI.certClient.unassignRequest(reviewInfo.getRequestId(), reviewInfo); + certClient.unassignRequest(reviewInfo.getRequestId(), reviewInfo); MainCLI.printMessage("Unassigned certificate request " + requestId); } else { throw new Exception("Invalid action: " + action); } - CertRequestInfo certRequest = certCLI.certClient.getRequest(requestId); + CertRequestInfo certRequest = certClient.getRequest(requestId); CertCLI.printCertRequestInfo(certRequest); } } diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestShowCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestShowCLI.java index 6df333eae..079cf6049 100644 --- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestShowCLI.java @@ -4,6 +4,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.cert.CertClient; import com.netscape.certsrv.cert.CertRequestInfo; import com.netscape.certsrv.request.RequestId; import com.netscape.cmstools.cli.CLI; @@ -47,7 +48,8 @@ public class CertRequestShowCLI extends CLI { throw new Exception("Invalid certificate request ID " + cmdArgs[0] + ".", e); } - CertRequestInfo certRequest = certCLI.certClient.getRequest(requestId); + CertClient certClient = certCLI.getCertClient(); + CertRequestInfo certRequest = certClient.getRequest(requestId); MainCLI.printMessage("Certificate request \"" + requestId + "\""); CertCLI.printCertRequestInfo(certRequest); diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestSubmitCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestSubmitCLI.java index e49dba240..fbccc4ce4 100644 --- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestSubmitCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestSubmitCLI.java @@ -14,6 +14,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import com.netscape.certsrv.ca.AuthorityID; +import com.netscape.certsrv.cert.CertClient; import com.netscape.certsrv.cert.CertEnrollmentRequest; import com.netscape.certsrv.cert.CertRequestInfos; import com.netscape.certsrv.dbs.certdb.CertId; @@ -133,7 +134,8 @@ public class CertRequestSubmitCLI extends CLI { System.out.println("Retrieving " + profileID + " profile."); } - request = certCLI.certClient.getEnrollmentTemplate(profileID); + CertClient certClient = certCLI.getCertClient(); + request = certClient.getEnrollmentTemplate(profileID); // set default request type for new request if (requestType == null) requestType = "pkcs10"; @@ -258,7 +260,8 @@ public class CertRequestSubmitCLI extends CLI { System.out.println(request); } - CertRequestInfos cri = certCLI.certClient.enrollRequest(request, aid, adn); + CertClient certClient = certCLI.getCertClient(); + CertRequestInfos cri = certClient.enrollRequest(request, aid, adn); MainCLI.printMessage("Submitted certificate request"); CertCLI.printCertRequestInfos(cri); } diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertRevokeCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertRevokeCLI.java index e61401b90..ecc3f801a 100644 --- a/base/java-tools/src/com/netscape/cmstools/cert/CertRevokeCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRevokeCLI.java @@ -25,6 +25,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.cert.CertClient; import com.netscape.certsrv.cert.CertData; import com.netscape.certsrv.cert.CertRequestInfo; import com.netscape.certsrv.cert.CertRevokeRequest; @@ -102,7 +103,8 @@ public class CertRevokeCLI extends CLI { throw new Exception("Invalid revocation reason: " + string); } - CertData certData = certCLI.certClient.reviewCert(certID); + CertClient certClient = certCLI.getCertClient(); + CertData certData = certClient.reviewCert(certID); if (!cmd.hasOption("force")) { @@ -135,9 +137,9 @@ public class CertRevokeCLI extends CLI { CertRequestInfo certRequestInfo; if (cmd.hasOption("ca")) { - certRequestInfo = certCLI.certClient.revokeCACert(certID, request); + certRequestInfo = certClient.revokeCACert(certID, request); } else { - certRequestInfo = certCLI.certClient.revokeCert(certID, request); + certRequestInfo = certClient.revokeCert(certID, request); } if (verbose) { @@ -160,7 +162,7 @@ public class CertRevokeCLI extends CLI { MainCLI.printMessage("Revoked certificate \"" + certID.toHexString() + "\""); } - certData = certCLI.certClient.getCert(certID); + certData = certClient.getCert(certID); CertCLI.printCertData(certData, false, false); } } else { diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertShowCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertShowCLI.java index a31b02253..cf3802705 100644 --- a/base/java-tools/src/com/netscape/cmstools/cert/CertShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cert/CertShowCLI.java @@ -25,6 +25,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.cert.CertClient; import com.netscape.certsrv.cert.CertData; import com.netscape.certsrv.dbs.certdb.CertId; import com.netscape.cmstools.cli.CLI; @@ -78,7 +79,8 @@ public class CertShowCLI extends CLI { CertId certID = new CertId(cmdArgs[0]); String file = cmd.getOptionValue("output"); - CertData certData = certCLI.certClient.getCert(certID); + CertClient certClient = certCLI.getCertClient(); + CertData certData = certClient.getCert(certID); String encoded = certData.getEncoded(); if (encoded != null && file != null) { diff --git a/base/java-tools/src/com/netscape/cmstools/cli/CACLI.java b/base/java-tools/src/com/netscape/cmstools/cli/CACLI.java index 39dd2a2ce..2ec20dcb0 100644 --- a/base/java-tools/src/com/netscape/cmstools/cli/CACLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cli/CACLI.java @@ -19,7 +19,8 @@ package com.netscape.cmstools.cli; import com.netscape.certsrv.ca.CAClient; -import com.netscape.certsrv.client.Client; +import com.netscape.certsrv.client.PKIClient; +import com.netscape.certsrv.client.SubsystemClient; import com.netscape.cmstools.authority.AuthorityCLI; import com.netscape.cmstools.cert.CertCLI; import com.netscape.cmstools.feature.FeatureCLI; @@ -49,20 +50,13 @@ public class CACLI extends SubsystemCLI { addModule(new UserCLI(this)); } - public void init() throws Exception { - client = parent.getClient(); - caClient = new CAClient(client); - } + public SubsystemClient getSubsystemClient() throws Exception { - public void login() { - caClient.login(); - } + if (caClient != null) return caClient; - public void logout() { - caClient.logout(); - } + PKIClient client = getClient(); + caClient = new CAClient(client); - public Client getClient(String name) { - return caClient.getClient(name); + return caClient; } } diff --git a/base/java-tools/src/com/netscape/cmstools/cli/CLI.java b/base/java-tools/src/com/netscape/cmstools/cli/CLI.java index 65fad75e0..4911b8ae2 100644 --- a/base/java-tools/src/com/netscape/cmstools/cli/CLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cli/CLI.java @@ -30,6 +30,7 @@ import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; import org.apache.commons.lang.StringUtils; +import com.netscape.certsrv.client.ClientConfig; import com.netscape.certsrv.client.PKIClient; @@ -183,11 +184,17 @@ public class CLI { return null; } + public ClientConfig getConfig() throws Exception { + if (parent != null) return parent.getConfig(); + return null; + } + public PKIClient getClient() throws Exception { - return client; + if (parent != null) return parent.getClient(); + return null; } - public Object getClient(String name) { + public Object getClient(String name) throws Exception { if (parent != null) return parent.getClient(name); return null; } diff --git a/base/java-tools/src/com/netscape/cmstools/cli/KRACLI.java b/base/java-tools/src/com/netscape/cmstools/cli/KRACLI.java index 8a9f789cd..2db85aafe 100644 --- a/base/java-tools/src/com/netscape/cmstools/cli/KRACLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cli/KRACLI.java @@ -18,7 +18,8 @@ package com.netscape.cmstools.cli; -import com.netscape.certsrv.client.Client; +import com.netscape.certsrv.client.PKIClient; +import com.netscape.certsrv.client.SubsystemClient; import com.netscape.certsrv.kra.KRAClient; import com.netscape.cmstools.group.GroupCLI; import com.netscape.cmstools.key.KeyCLI; @@ -41,20 +42,13 @@ public class KRACLI extends SubsystemCLI { addModule(new UserCLI(this)); } - public void init() throws Exception { - client = parent.getClient(); - kraClient = new KRAClient(client); - } + public SubsystemClient getSubsystemClient() throws Exception { - public void login() { - kraClient.login(); - } + if (kraClient != null) return kraClient; - public void logout() { - kraClient.logout(); - } + PKIClient client = getClient(); + kraClient = new KRAClient(client); - public Client getClient(String name) { - return kraClient.getClient(name); + return kraClient; } } diff --git a/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java b/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java index d7246d60c..d7aa54c09 100644 --- a/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java @@ -438,6 +438,10 @@ public class MainCLI extends CLI { if (verbose) System.out.println("Message format: " + messageFormat); } + public ClientConfig getConfig() { + return config; + } + public void convertCertStatusList(String list, Collection<Integer> statuses) throws Exception { if (list == null) return; diff --git a/base/java-tools/src/com/netscape/cmstools/cli/OCSPCLI.java b/base/java-tools/src/com/netscape/cmstools/cli/OCSPCLI.java index 3768a48e7..6348359e2 100644 --- a/base/java-tools/src/com/netscape/cmstools/cli/OCSPCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cli/OCSPCLI.java @@ -18,7 +18,8 @@ package com.netscape.cmstools.cli; -import com.netscape.certsrv.client.Client; +import com.netscape.certsrv.client.PKIClient; +import com.netscape.certsrv.client.SubsystemClient; import com.netscape.certsrv.ocsp.OCSPClient; import com.netscape.cmstools.group.GroupCLI; import com.netscape.cmstools.selftests.SelfTestCLI; @@ -39,20 +40,13 @@ public class OCSPCLI extends SubsystemCLI { addModule(new UserCLI(this)); } - public void init() throws Exception { - client = parent.getClient(); - ocspClient = new OCSPClient(client); - } + public SubsystemClient getSubsystemClient() throws Exception { - public void login() { - ocspClient.login(); - } + if (ocspClient != null) return ocspClient; - public void logout() { - ocspClient.logout(); - } + PKIClient client = getClient(); + ocspClient = new OCSPClient(client); - public Client getClient(String name) { - return ocspClient.getClient(name); + return ocspClient; } } diff --git a/base/java-tools/src/com/netscape/cmstools/cli/ProxyCLI.java b/base/java-tools/src/com/netscape/cmstools/cli/ProxyCLI.java index 1cf6feaf2..ad3fdb8b6 100644 --- a/base/java-tools/src/com/netscape/cmstools/cli/ProxyCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cli/ProxyCLI.java @@ -91,7 +91,7 @@ public class ProxyCLI extends CLI { return module.getClient(); } - public Object getClient(String name) { + public Object getClient(String name) throws Exception { return module.getClient(name); } @@ -101,17 +101,17 @@ public class ProxyCLI extends CLI { public void execute(String[] args) throws Exception { - PKIClient client = module.getParent().getClient(); AccountClient accountClient = null; try { // login if username or nickname is specified - ClientConfig config = client.getConfig(); + ClientConfig config = module.getConfig(); if (config.getUsername() != null || config.getCertNickname() != null) { String subsystem = config.getSubsystem(); if (subsystem == null) subsystem = defaultSubsystem; + PKIClient client = module.getClient(); accountClient = new AccountClient(client, subsystem); accountClient.login(); } diff --git a/base/java-tools/src/com/netscape/cmstools/cli/SubsystemCLI.java b/base/java-tools/src/com/netscape/cmstools/cli/SubsystemCLI.java index b28271dd7..0f9a49781 100644 --- a/base/java-tools/src/com/netscape/cmstools/cli/SubsystemCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cli/SubsystemCLI.java @@ -18,7 +18,9 @@ package com.netscape.cmstools.cli; +import com.netscape.certsrv.client.Client; import com.netscape.certsrv.client.ClientConfig; +import com.netscape.certsrv.client.SubsystemClient; /** @@ -35,21 +37,29 @@ public class SubsystemCLI extends CLI { return name; } - public void init() throws Exception { + public SubsystemClient getSubsystemClient() throws Exception { + return null; } public void login() throws Exception { + SubsystemClient subsystemClient = getSubsystemClient(); + subsystemClient.login(); } public void logout() throws Exception { + SubsystemClient subsystemClient = getSubsystemClient(); + subsystemClient.logout(); } - public void execute(String[] args) throws Exception { + public Client getClient(String name) throws Exception { + SubsystemClient subsystemClient = getSubsystemClient(); + return subsystemClient.getClient(name); + } - init(); + public void execute(String[] args) throws Exception { // login if username or nickname is specified - ClientConfig config = getClient().getConfig(); + ClientConfig config = getConfig(); if (config.getUsername() != null || config.getCertNickname() != null) { login(); } @@ -57,6 +67,8 @@ public class SubsystemCLI extends CLI { super.execute(args); // logout if there is no failures - logout(); + if (config.getUsername() != null || config.getCertNickname() != null) { + logout(); + } } } diff --git a/base/java-tools/src/com/netscape/cmstools/cli/TKSCLI.java b/base/java-tools/src/com/netscape/cmstools/cli/TKSCLI.java index dd4f179c2..1afdf649f 100644 --- a/base/java-tools/src/com/netscape/cmstools/cli/TKSCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cli/TKSCLI.java @@ -18,7 +18,8 @@ package com.netscape.cmstools.cli; -import com.netscape.certsrv.client.Client; +import com.netscape.certsrv.client.PKIClient; +import com.netscape.certsrv.client.SubsystemClient; import com.netscape.certsrv.tks.TKSClient; import com.netscape.cmstools.group.GroupCLI; import com.netscape.cmstools.selftests.SelfTestCLI; @@ -41,20 +42,13 @@ public class TKSCLI extends SubsystemCLI { addModule(new UserCLI(this)); } - public void init() throws Exception { - client = parent.getClient(); - tksClient = new TKSClient(client); - } + public SubsystemClient getSubsystemClient() throws Exception { - public void login() { - tksClient.login(); - } + if (tksClient != null) return tksClient; - public void logout() { - tksClient.logout(); - } + PKIClient client = getClient(); + tksClient = new TKSClient(client); - public Client getClient(String name) { - return tksClient.getClient(name); + return tksClient; } } diff --git a/base/java-tools/src/com/netscape/cmstools/cli/TPSCLI.java b/base/java-tools/src/com/netscape/cmstools/cli/TPSCLI.java index 1931b2baa..95836a45b 100644 --- a/base/java-tools/src/com/netscape/cmstools/cli/TPSCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cli/TPSCLI.java @@ -18,7 +18,8 @@ package com.netscape.cmstools.cli; -import com.netscape.certsrv.client.Client; +import com.netscape.certsrv.client.PKIClient; +import com.netscape.certsrv.client.SubsystemClient; import com.netscape.certsrv.tps.TPSClient; import com.netscape.cmstools.group.GroupCLI; import com.netscape.cmstools.logging.ActivityCLI; @@ -64,20 +65,13 @@ public class TPSCLI extends SubsystemCLI { } } - public void init() throws Exception { - client = parent.getClient(); - tpsClient = new TPSClient(client); - } + public SubsystemClient getSubsystemClient() throws Exception { - public void login() { - tpsClient.login(); - } + if (tpsClient != null) return tpsClient; - public void logout() { - tpsClient.logout(); - } + PKIClient client = getClient(); + tpsClient = new TPSClient(client); - public Client getClient(String name) { - return tpsClient.getClient(name); + return tpsClient; } } diff --git a/base/java-tools/src/com/netscape/cmstools/client/ClientCLI.java b/base/java-tools/src/com/netscape/cmstools/client/ClientCLI.java index 8bafd84f6..c2826df69 100644 --- a/base/java-tools/src/com/netscape/cmstools/client/ClientCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/client/ClientCLI.java @@ -56,13 +56,6 @@ public class ClientCLI extends CLI { return "pki-client"; } - public void execute(String[] args) throws Exception { - - client = parent.getClient(); - - super.execute(args); - } - public static void printCertInfo(X509Certificate cert) { System.out.println(" Serial Number: "+new CertId(cert.getSerialNumber()).toHexString()); System.out.println(" Nickname: "+cert.getNickname()); diff --git a/base/java-tools/src/com/netscape/cmstools/client/ClientCertFindCLI.java b/base/java-tools/src/com/netscape/cmstools/client/ClientCertFindCLI.java index c758e3c9a..0516d9c93 100644 --- a/base/java-tools/src/com/netscape/cmstools/client/ClientCertFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/client/ClientCertFindCLI.java @@ -23,6 +23,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; import org.mozilla.jss.crypto.X509Certificate; +import com.netscape.certsrv.client.PKIClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -63,7 +64,7 @@ public class ClientCertFindCLI extends CLI { throw new Exception("Too many arguments specified."); } - client = parent.getClient(); + PKIClient client = getClient(); X509Certificate[] certs; if (cmd.hasOption("ca")) { diff --git a/base/java-tools/src/com/netscape/cmstools/client/ClientCertImportCLI.java b/base/java-tools/src/com/netscape/cmstools/client/ClientCertImportCLI.java index 7f67d9240..9cb3e6723 100644 --- a/base/java-tools/src/com/netscape/cmstools/client/ClientCertImportCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/client/ClientCertImportCLI.java @@ -194,7 +194,7 @@ public class ClientCertImportCLI extends CLI { // late initialization mainCLI.init(); - client = mainCLI.getClient(); + PKIClient client = getClient(); URI serverURI = mainCLI.config.getServerURI(); String caServerURI = serverURI.getScheme() + "://" + @@ -315,7 +315,7 @@ public class ClientCertImportCLI extends CLI { public void run(String[] command) throws IOException, InterruptedException { if (verbose) { - System.out.println("Command: " + StringUtils.join(command)); + System.out.println("Command: " + StringUtils.join(command, " ")); } Runtime rt = Runtime.getRuntime(); diff --git a/base/java-tools/src/com/netscape/cmstools/client/ClientCertRemoveCLI.java b/base/java-tools/src/com/netscape/cmstools/client/ClientCertRemoveCLI.java index fa350c412..7dc4bdaac 100644 --- a/base/java-tools/src/com/netscape/cmstools/client/ClientCertRemoveCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/client/ClientCertRemoveCLI.java @@ -22,6 +22,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.client.PKIClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -56,7 +57,7 @@ public class ClientCertRemoveCLI extends CLI { throw new Exception("No nickname specified."); } - client = parent.getClient(); + PKIClient client = getClient(); String nickname = cmdArgs[0]; client.removeCert(nickname); diff --git a/base/java-tools/src/com/netscape/cmstools/client/ClientCertRequestCLI.java b/base/java-tools/src/com/netscape/cmstools/client/ClientCertRequestCLI.java index 8c3a55115..6562699cf 100644 --- a/base/java-tools/src/com/netscape/cmstools/client/ClientCertRequestCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/client/ClientCertRequestCLI.java @@ -40,6 +40,7 @@ import org.mozilla.jss.pkix.primitive.Name; import com.netscape.certsrv.cert.CertClient; import com.netscape.certsrv.cert.CertEnrollmentRequest; import com.netscape.certsrv.cert.CertRequestInfos; +import com.netscape.certsrv.client.PKIClient; import com.netscape.certsrv.profile.ProfileAttribute; import com.netscape.certsrv.profile.ProfileInput; import com.netscape.certsrv.system.SystemCertClient; @@ -213,19 +214,20 @@ public class ClientCertRequestCLI extends CLI { } String csr; + PKIClient client; if ("pkcs10".equals(requestType)) { csr = generatePkcs10Request(certDatabase, password, algorithm, length, subjectDN); // initialize database after PKCS10Client to avoid conflict mainCLI.init(); - client = mainCLI.getClient(); + client = getClient(); } else if ("crmf".equals(requestType)) { // initialize database before CRMFPopClient to load transport certificate mainCLI.init(); - client = mainCLI.getClient(); + client = getClient(); String encoded; if (transportCertFilename == null) { diff --git a/base/java-tools/src/com/netscape/cmstools/client/ClientCertShowCLI.java b/base/java-tools/src/com/netscape/cmstools/client/ClientCertShowCLI.java index 963460c35..2242b37f8 100644 --- a/base/java-tools/src/com/netscape/cmstools/client/ClientCertShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/client/ClientCertShowCLI.java @@ -29,6 +29,7 @@ import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.lang.StringUtils; import org.mozilla.jss.crypto.X509Certificate; +import com.netscape.certsrv.client.PKIClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -126,7 +127,7 @@ public class ClientCertShowCLI extends CLI { mainCLI.init(); - client = mainCLI.getClient(); + PKIClient client = getClient(); X509Certificate cert = client.getCert(nickname); ClientCLI.printCertInfo(cert); diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupAddCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupAddCLI.java index 0ae506f3f..5a9da5668 100644 --- a/base/java-tools/src/com/netscape/cmstools/group/GroupAddCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/group/GroupAddCLI.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.group.GroupClient; import com.netscape.certsrv.group.GroupData; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -72,7 +73,8 @@ public class GroupAddCLI extends CLI { groupData.setGroupID(groupID); groupData.setDescription(cmd.getOptionValue("description")); - groupData = groupCLI.groupClient.addGroup(groupData); + GroupClient groupClient = groupCLI.getGroupClient(); + groupData = groupClient.addGroup(groupData); MainCLI.printMessage("Added group \""+groupID+"\""); diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupCLI.java index ca151301e..bd4651d9e 100644 --- a/base/java-tools/src/com/netscape/cmstools/group/GroupCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/group/GroupCLI.java @@ -21,6 +21,7 @@ package com.netscape.cmstools.group; import org.apache.commons.lang.StringUtils; import org.jboss.resteasy.plugins.providers.atom.Link; +import com.netscape.certsrv.client.PKIClient; import com.netscape.certsrv.group.GroupClient; import com.netscape.certsrv.group.GroupData; import com.netscape.cmstools.cli.CLI; @@ -59,22 +60,20 @@ public class GroupCLI extends CLI { return "pki-group"; } - public void execute(String[] args) throws Exception { + public GroupClient getGroupClient() throws Exception { - client = parent.getClient(); - groupClient = (GroupClient)parent.getClient("group"); + if (groupClient != null) return groupClient; - // if this is a top-level command - if (groupClient == null) { - // determine the subsystem - String subsystem = client.getSubsystem(); - if (subsystem == null) subsystem = "ca"; + PKIClient client = getClient(); - // create new group client - groupClient = new GroupClient(client, subsystem); - } + // determine the subsystem + String subsystem = client.getSubsystem(); + if (subsystem == null) subsystem = "ca"; + + // create new group client + groupClient = new GroupClient(client, subsystem); - super.execute(args); + return groupClient; } public static void printGroup(GroupData groupData) { diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupFindCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupFindCLI.java index dda3dacbc..1ff577f0b 100644 --- a/base/java-tools/src/com/netscape/cmstools/group/GroupFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/group/GroupFindCLI.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.group.GroupClient; import com.netscape.certsrv.group.GroupCollection; import com.netscape.certsrv.group.GroupData; import com.netscape.cmstools.cli.CLI; @@ -75,7 +76,8 @@ public class GroupFindCLI extends CLI { s = cmd.getOptionValue("size"); Integer size = s == null ? null : Integer.valueOf(s); - GroupCollection response = groupCLI.groupClient.findGroups(filter, start, size); + GroupClient groupClient = groupCLI.getGroupClient(); + GroupCollection response = groupClient.findGroups(filter, start, size); MainCLI.printMessage(response.getTotal() + " entries matched"); if (response.getTotal() == 0) return; diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupMemberAddCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupMemberAddCLI.java index cc0041773..eab9e232e 100644 --- a/base/java-tools/src/com/netscape/cmstools/group/GroupMemberAddCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/group/GroupMemberAddCLI.java @@ -22,6 +22,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.group.GroupClient; import com.netscape.certsrv.group.GroupMemberData; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -60,7 +61,8 @@ public class GroupMemberAddCLI extends CLI { String groupID = cmdArgs[0]; String memberID = cmdArgs[1]; - GroupMemberData groupMemberData = groupMemberCLI.groupClient.addGroupMember(groupID, memberID); + GroupClient groupClient = groupMemberCLI.getGroupClient(); + GroupMemberData groupMemberData = groupClient.addGroupMember(groupID, memberID); MainCLI.printMessage("Added group member \""+memberID+"\""); diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupMemberCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupMemberCLI.java index 1df404bc5..527c37290 100644 --- a/base/java-tools/src/com/netscape/cmstools/group/GroupMemberCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/group/GroupMemberCLI.java @@ -29,11 +29,13 @@ import com.netscape.cmstools.cli.CLI; */ public class GroupMemberCLI extends CLI { - public GroupClient groupClient; + GroupCLI parent; public GroupMemberCLI(GroupCLI parent) { super("member", "Group member management commands", parent); + this.parent = parent; + addModule(new GroupMemberFindCLI(this)); addModule(new GroupMemberShowCLI(this)); addModule(new GroupMemberAddCLI(this)); @@ -45,12 +47,8 @@ public class GroupMemberCLI extends CLI { return "pki-group-member"; } - public void execute(String[] args) throws Exception { - - client = parent.getClient(); - groupClient = ((GroupCLI)parent).groupClient; - - super.execute(args); + public GroupClient getGroupClient() throws Exception { + return parent.getGroupClient(); } public static void printGroupMember(GroupMemberData groupMemberData) { diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupMemberFindCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupMemberFindCLI.java index 788827abf..d4f3a4b27 100644 --- a/base/java-tools/src/com/netscape/cmstools/group/GroupMemberFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/group/GroupMemberFindCLI.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.group.GroupClient; import com.netscape.certsrv.group.GroupMemberCollection; import com.netscape.certsrv.group.GroupMemberData; import com.netscape.cmstools.cli.CLI; @@ -81,7 +82,8 @@ public class GroupMemberFindCLI extends CLI { s = cmd.getOptionValue("size"); Integer size = s == null ? null : Integer.valueOf(s); - GroupMemberCollection response = groupMemberCLI.groupClient.findGroupMembers(groupID, filter, start, size); + GroupClient groupClient = groupMemberCLI.getGroupClient(); + GroupMemberCollection response = groupClient.findGroupMembers(groupID, filter, start, size); MainCLI.printMessage(response.getTotal() + " entries matched"); if (response.getTotal() == 0) return; diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupMemberRemoveCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupMemberRemoveCLI.java index 89cb66855..b737d059c 100644 --- a/base/java-tools/src/com/netscape/cmstools/group/GroupMemberRemoveCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/group/GroupMemberRemoveCLI.java @@ -22,6 +22,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.group.GroupClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -59,7 +60,8 @@ public class GroupMemberRemoveCLI extends CLI { String groupID = cmdArgs[0]; String memberID = cmdArgs[1]; - groupMemberCLI.groupClient.removeGroupMember(groupID, memberID); + GroupClient groupClient = groupMemberCLI.getGroupClient(); + groupClient.removeGroupMember(groupID, memberID); MainCLI.printMessage("Deleted group member \""+memberID+"\""); } diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupMemberShowCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupMemberShowCLI.java index a0e9f2231..9579de379 100644 --- a/base/java-tools/src/com/netscape/cmstools/group/GroupMemberShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/group/GroupMemberShowCLI.java @@ -22,6 +22,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.group.GroupClient; import com.netscape.certsrv.group.GroupMemberData; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -60,7 +61,8 @@ public class GroupMemberShowCLI extends CLI { String groupID = cmdArgs[0]; String memberID = cmdArgs[1]; - GroupMemberData groupMemberData = groupMemberCLI.groupClient.getGroupMember(groupID, memberID); + GroupClient groupClient = groupMemberCLI.getGroupClient(); + GroupMemberData groupMemberData = groupClient.getGroupMember(groupID, memberID); MainCLI.printMessage("Group member \""+memberID+"\""); diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupModifyCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupModifyCLI.java index f3dd2f951..d4d81c579 100644 --- a/base/java-tools/src/com/netscape/cmstools/group/GroupModifyCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/group/GroupModifyCLI.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.group.GroupClient; import com.netscape.certsrv.group.GroupData; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -72,7 +73,8 @@ public class GroupModifyCLI extends CLI { groupData.setID(groupID); groupData.setDescription(cmd.getOptionValue("description")); - groupData = groupCLI.groupClient.modifyGroup(groupID, groupData); + GroupClient groupClient = groupCLI.getGroupClient(); + groupData = groupClient.modifyGroup(groupID, groupData); MainCLI.printMessage("Modified group \""+groupID+"\""); diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupRemoveCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupRemoveCLI.java index 68a17483e..be6565491 100644 --- a/base/java-tools/src/com/netscape/cmstools/group/GroupRemoveCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/group/GroupRemoveCLI.java @@ -22,6 +22,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.group.GroupClient; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -59,7 +60,8 @@ public class GroupRemoveCLI extends CLI { String groupID = cmdArgs[0]; - groupCLI.groupClient.removeGroup(groupID); + GroupClient groupClient = groupCLI.getGroupClient(); + groupClient.removeGroup(groupID); MainCLI.printMessage("Deleted group \""+groupID+"\""); } diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupShowCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupShowCLI.java index 39cc66b03..6f096af53 100644 --- a/base/java-tools/src/com/netscape/cmstools/group/GroupShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/group/GroupShowCLI.java @@ -22,6 +22,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.group.GroupClient; import com.netscape.certsrv.group.GroupData; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -59,7 +60,8 @@ public class GroupShowCLI extends CLI { String groupID = cmdArgs[0]; - GroupData groupData = groupCLI.groupClient.getGroup(groupID); + GroupClient groupClient = groupCLI.getGroupClient(); + GroupData groupData = groupClient.getGroup(groupID); MainCLI.printMessage("Group \""+groupID+"\""); diff --git a/base/java-tools/src/com/netscape/cmstools/key/KeyArchiveCLI.java b/base/java-tools/src/com/netscape/cmstools/key/KeyArchiveCLI.java index c3116a673..6789957c3 100644 --- a/base/java-tools/src/com/netscape/cmstools/key/KeyArchiveCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/key/KeyArchiveCLI.java @@ -12,6 +12,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import com.netscape.certsrv.key.KeyArchivalRequest; +import com.netscape.certsrv.key.KeyClient; import com.netscape.certsrv.key.KeyRequestResponse; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -68,6 +69,7 @@ public class KeyArchiveCLI extends CLI { String requestFile = cmd.getOptionValue("input"); KeyRequestResponse response = null; + KeyClient keyClient = keyCLI.getKeyClient(); if (requestFile != null) { // Case where the request template file is used. For pre-encrypted data. @@ -78,11 +80,11 @@ public class KeyArchiveCLI extends CLI { KeyArchivalRequest req = (KeyArchivalRequest) unmarshaller.unmarshal(fis); if (req.getPKIArchiveOptions() != null) { - response = keyCLI.keyClient.archivePKIOptions(req.getClientKeyId(), req.getDataType(), + response = keyClient.archivePKIOptions(req.getClientKeyId(), req.getDataType(), req.getKeyAlgorithm(), req.getKeySize(), Utils.base64decode(req.getPKIArchiveOptions()), req.getRealm()); } else { - response = keyCLI.keyClient.archiveEncryptedData(req.getClientKeyId(), req.getDataType(), + response = keyClient.archiveEncryptedData(req.getClientKeyId(), req.getDataType(), req.getKeyAlgorithm(), req.getKeySize(), req.getAlgorithmOID(), Utils.base64decode(req.getSymmetricAlgorithmParams()), Utils.base64decode(req.getWrappedPrivateData()), @@ -109,7 +111,7 @@ public class KeyArchiveCLI extends CLI { } String realm = cmd.getOptionValue("realm"); - response = keyCLI.keyClient.archivePassphrase(clientKeyId, passphrase, realm); + response = keyClient.archivePassphrase(clientKeyId, passphrase, realm); } MainCLI.printMessage("Archival request details"); diff --git a/base/java-tools/src/com/netscape/cmstools/key/KeyCLI.java b/base/java-tools/src/com/netscape/cmstools/key/KeyCLI.java index d2b425b9f..b9b27d113 100644 --- a/base/java-tools/src/com/netscape/cmstools/key/KeyCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/key/KeyCLI.java @@ -19,6 +19,7 @@ package com.netscape.cmstools.key; import com.netscape.certsrv.cert.CertData; +import com.netscape.certsrv.client.PKIClient; import com.netscape.certsrv.key.KeyClient; import com.netscape.certsrv.key.KeyInfo; import com.netscape.certsrv.key.KeyRequestInfo; @@ -70,9 +71,11 @@ public class KeyCLI extends CLI { return "pki-key"; } - public void execute(String[] args) throws Exception { + public KeyClient getKeyClient() throws Exception { - client = parent.getClient(); + if (keyClient != null) return keyClient; + + PKIClient client = getClient(); // determine the subsystem String subsystem = client.getSubsystem(); @@ -81,15 +84,16 @@ public class KeyCLI extends CLI { // create new key client keyClient = new KeyClient(client, subsystem); + systemCertClient = new SystemCertClient(client, subsystem); // if security database password is specified, // prepare key client for archival/retrieval if (client.getConfig().getCertPassword() != null) { + // create crypto provider for key client keyClient.setCrypto(new NSSCryptoProvider(client.getConfig())); // download transport cert - systemCertClient = new SystemCertClient(client, subsystem); String transportCert = systemCertClient.getTransportCert().getEncoded(); transportCert = transportCert.substring(CertData.HEADER.length(), transportCert.indexOf(CertData.FOOTER)); @@ -98,7 +102,7 @@ public class KeyCLI extends CLI { keyClient.setTransportCert(transportCert); } - super.execute(args); + return keyClient; } public static void printKeyInfo(KeyInfo info) { diff --git a/base/java-tools/src/com/netscape/cmstools/key/KeyFindCLI.java b/base/java-tools/src/com/netscape/cmstools/key/KeyFindCLI.java index 87d6b2f98..2e41d98f8 100644 --- a/base/java-tools/src/com/netscape/cmstools/key/KeyFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/key/KeyFindCLI.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.key.KeyClient; import com.netscape.certsrv.key.KeyInfo; import com.netscape.certsrv.key.KeyInfoCollection; import com.netscape.cmstools.cli.CLI; @@ -108,7 +109,8 @@ public class KeyFindCLI extends CLI { s = cmd.getOptionValue("size"); Integer size = s == null ? null : Integer.valueOf(s); - KeyInfoCollection keys = keyCLI.keyClient.listKeys(clientKeyID, status, maxResults, maxTime, start, size, realm); + KeyClient keyClient = keyCLI.getKeyClient(); + KeyInfoCollection keys = keyClient.listKeys(clientKeyID, status, maxResults, maxTime, start, size, realm); Collection<KeyInfo> entries = keys.getEntries(); diff --git a/base/java-tools/src/com/netscape/cmstools/key/KeyGenerateCLI.java b/base/java-tools/src/com/netscape/cmstools/key/KeyGenerateCLI.java index 312fbf078..fb7b919a3 100644 --- a/base/java-tools/src/com/netscape/cmstools/key/KeyGenerateCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/key/KeyGenerateCLI.java @@ -6,6 +6,7 @@ import java.util.List; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.key.KeyClient; import com.netscape.certsrv.key.KeyRequestResource; import com.netscape.certsrv.key.KeyRequestResponse; import com.netscape.cmstools.cli.CLI; @@ -109,6 +110,8 @@ public class KeyGenerateCLI extends CLI { usages = Arrays.asList(givenUsages.split(",")); } + KeyClient keyClient = keyCLI.getKeyClient(); + KeyRequestResponse response = null; switch (keyAlgorithm) { case KeyRequestResource.DES3_ALGORITHM: @@ -117,12 +120,12 @@ public class KeyGenerateCLI extends CLI { case KeyRequestResource.RC4_ALGORITHM: case KeyRequestResource.AES_ALGORITHM: case KeyRequestResource.RC2_ALGORITHM: - response = keyCLI.keyClient.generateSymmetricKey( + response = keyClient.generateSymmetricKey( clientKeyId, keyAlgorithm, size, usages, null, realm); break; case KeyRequestResource.RSA_ALGORITHM: case KeyRequestResource.DSA_ALGORITHM: - response = keyCLI.keyClient.generateAsymmetricKey( + response = keyClient.generateAsymmetricKey( clientKeyId, keyAlgorithm, size, usages, null, realm); break; default: diff --git a/base/java-tools/src/com/netscape/cmstools/key/KeyModifyCLI.java b/base/java-tools/src/com/netscape/cmstools/key/KeyModifyCLI.java index 1778fef47..52bf173d5 100644 --- a/base/java-tools/src/com/netscape/cmstools/key/KeyModifyCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/key/KeyModifyCLI.java @@ -24,6 +24,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import com.netscape.certsrv.dbs.keydb.KeyId; +import com.netscape.certsrv.key.KeyClient; import com.netscape.certsrv.key.KeyInfo; import com.netscape.cmstools.cli.CLI; @@ -67,9 +68,10 @@ public class KeyModifyCLI extends CLI { KeyId keyId = new KeyId(cmdArgs[0]); - keyCLI.keyClient.modifyKeyStatus(keyId, status); + KeyClient keyClient = keyCLI.getKeyClient(); + keyClient.modifyKeyStatus(keyId, status); - KeyInfo keyInfo = keyCLI.keyClient.getKeyInfo(keyId); + KeyInfo keyInfo = keyClient.getKeyInfo(keyId); KeyCLI.printKeyInfo(keyInfo); } } diff --git a/base/java-tools/src/com/netscape/cmstools/key/KeyRecoverCLI.java b/base/java-tools/src/com/netscape/cmstools/key/KeyRecoverCLI.java index 0bb2a2d3e..4f4929a58 100644 --- a/base/java-tools/src/com/netscape/cmstools/key/KeyRecoverCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/key/KeyRecoverCLI.java @@ -12,6 +12,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import com.netscape.certsrv.dbs.keydb.KeyId; +import com.netscape.certsrv.key.KeyClient; import com.netscape.certsrv.key.KeyRecoveryRequest; import com.netscape.certsrv.key.KeyRequestResponse; import com.netscape.cmstools.cli.CLI; @@ -61,6 +62,7 @@ public class KeyRecoverCLI extends CLI { String keyID = cmd.getOptionValue("keyID"); KeyRequestResponse response = null; + KeyClient keyClient = keyCLI.getKeyClient(); if (requestFile != null) { try { @@ -68,7 +70,7 @@ public class KeyRecoverCLI extends CLI { Unmarshaller unmarshaller = context.createUnmarshaller(); FileInputStream fis = new FileInputStream(requestFile); KeyRecoveryRequest req = (KeyRecoveryRequest) unmarshaller.unmarshal(fis); - response = keyCLI.keyClient.recoverKey(req.getKeyId(), + response = keyClient.recoverKey(req.getKeyId(), Utils.base64decode(req.getSessionWrappedPassphrase()), Utils.base64decode(req.getTransWrappedSessionKey()), Utils.base64decode(req.getNonceData()), req.getCertificate()); @@ -80,7 +82,7 @@ public class KeyRecoverCLI extends CLI { } else if (keyID != null) { String keyId = cmd.getOptionValue("keyID"); - response = keyCLI.keyClient.recoverKey(new KeyId(keyId), null, null, null, null); + response = keyClient.recoverKey(new KeyId(keyId), null, null, null, null); } else { throw new Exception("Neither a key ID nor a request file's path is specified."); } diff --git a/base/java-tools/src/com/netscape/cmstools/key/KeyRequestFindCLI.java b/base/java-tools/src/com/netscape/cmstools/key/KeyRequestFindCLI.java index 69730f9b3..75f08f161 100644 --- a/base/java-tools/src/com/netscape/cmstools/key/KeyRequestFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/key/KeyRequestFindCLI.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.key.KeyClient; import com.netscape.certsrv.key.KeyRequestInfo; import com.netscape.certsrv.key.KeyRequestInfoCollection; import com.netscape.certsrv.request.RequestId; @@ -114,7 +115,8 @@ public class KeyRequestFindCLI extends CLI { s = cmd.getOptionValue("maxTime"); Integer maxTime = s == null ? null : Integer.valueOf(s); - KeyRequestInfoCollection keys = keyCLI.keyClient.listRequests( + KeyClient keyClient = keyCLI.getKeyClient(); + KeyRequestInfoCollection keys = keyClient.listRequests( status, type, clientKeyID, start, pageSize, maxResults, maxTime, realm); MainCLI.printMessage(keys.getTotal() + " entries matched"); diff --git a/base/java-tools/src/com/netscape/cmstools/key/KeyRequestReviewCLI.java b/base/java-tools/src/com/netscape/cmstools/key/KeyRequestReviewCLI.java index d3ab01b70..09cb0a185 100644 --- a/base/java-tools/src/com/netscape/cmstools/key/KeyRequestReviewCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/key/KeyRequestReviewCLI.java @@ -5,6 +5,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; +import com.netscape.certsrv.key.KeyClient; import com.netscape.certsrv.key.KeyRequestInfo; import com.netscape.certsrv.request.RequestId; import com.netscape.cmstools.cli.CLI; @@ -48,23 +49,24 @@ public class KeyRequestReviewCLI extends CLI { } RequestId reqId = new RequestId(cmdArgs[0]); + KeyClient keyClient = keyCLI.getKeyClient(); String action = cmd.getOptionValue("action"); switch (action.toLowerCase()) { case "approve": - keyCLI.keyClient.approveRequest(reqId); + keyClient.approveRequest(reqId); break; case "reject": - keyCLI.keyClient.rejectRequest(reqId); + keyClient.rejectRequest(reqId); break; case "cancel": - keyCLI.keyClient.cancelRequest(reqId); + keyClient.cancelRequest(reqId); break; default: throw new Exception("Invalid action."); } - KeyRequestInfo keyRequestInfo = keyCLI.keyClient.getRequestInfo(reqId); + KeyRequestInfo keyRequestInfo = keyClient.getRequestInfo(reqId); MainCLI.printMessage("Result"); KeyCLI.printKeyRequestInfo(keyRequestInfo); diff --git a/base/java-tools/src/com/netscape/cmstools/key/KeyRequestShowCLI.java b/base/java-tools/src/com/netscape/cmstools/key/KeyRequestShowCLI.java index 82aabfc42..9ca6ff9bc 100644 --- a/base/java-tools/src/com/netscape/cmstools/key/KeyRequestShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/key/KeyRequestShowCLI.java @@ -22,6 +22,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import com.netscape.certsrv.key.KeyClient; import com.netscape.certsrv.key.KeyRequestInfo; import com.netscape.certsrv.request.RequestId; import com.netscape.cmstools.cli.CLI; @@ -57,7 +58,8 @@ public class KeyRequestShowCLI extends CLI { RequestId requestId = new RequestId(args[0].trim()); - KeyRequestInfo keyRequestInfo = keyCLI.keyClient.getRequestInfo(requestId); + KeyClient keyClient = keyCLI.getKeyClient(); + KeyRequestInfo keyRequestInfo = keyClient.getRequestInfo(requestId); KeyCLI.printKeyRequestInfo(keyRequestInfo); } diff --git a/base/java-tools/src/com/netscape/cmstools/key/KeyRetrieveCLI.java b/base/java-tools/src/com/netscape/cmstools/key/KeyRetrieveCLI.java index 23e220a9a..740baf3b4 100644 --- a/base/java-tools/src/com/netscape/cmstools/key/KeyRetrieveCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/key/KeyRetrieveCLI.java @@ -13,6 +13,7 @@ import org.apache.commons.cli.Option; import com.netscape.certsrv.dbs.keydb.KeyId; import com.netscape.certsrv.key.Key; +import com.netscape.certsrv.key.KeyClient; import com.netscape.certsrv.key.KeyRecoveryRequest; import com.netscape.certsrv.request.RequestId; import com.netscape.cmstools.cli.CLI; @@ -77,6 +78,7 @@ public class KeyRetrieveCLI extends CLI { String requestFile = cmd.getOptionValue("input"); + KeyClient keyClient = keyCLI.getKeyClient(); Key keyData = null; if (requestFile != null) { @@ -90,24 +92,24 @@ public class KeyRetrieveCLI extends CLI { } if (req.getCertificate() != null) { - keyData = keyCLI.keyClient.retrieveKeyByPKCS12(req.getKeyId(), req.getCertificate(), + keyData = keyClient.retrieveKeyByPKCS12(req.getKeyId(), req.getCertificate(), req.getPassphrase()); } else if (req.getPassphrase() != null) { - keyData = keyCLI.keyClient.retrieveKeyByPassphrase(req.getKeyId(), req.getPassphrase()); + keyData = keyClient.retrieveKeyByPassphrase(req.getKeyId(), req.getPassphrase()); } else if (req.getSessionWrappedPassphrase() != null) { - keyData = keyCLI.keyClient.retrieveKeyUsingWrappedPassphrase(req.getKeyId(), + keyData = keyClient.retrieveKeyUsingWrappedPassphrase(req.getKeyId(), Utils.base64decode(req.getTransWrappedSessionKey()), Utils.base64decode(req.getSessionWrappedPassphrase()), Utils.base64decode(req.getNonceData())); } else if (req.getTransWrappedSessionKey() != null) { - keyData = keyCLI.keyClient.retrieveKey(req.getKeyId(), + keyData = keyClient.retrieveKey(req.getKeyId(), Utils.base64decode(req.getTransWrappedSessionKey())); } else { - keyData = keyCLI.keyClient.retrieveKey(req.getKeyId()); + keyData = keyClient.retrieveKey(req.getKeyId()); } } else { @@ -122,16 +124,16 @@ public class KeyRetrieveCLI extends CLI { if (passphrase != null) { if (requestId != null) { - keyData = keyCLI.keyClient.retrieveKeyByRequestWithPassphrase( + keyData = keyClient.retrieveKeyByRequestWithPassphrase( new RequestId(requestId), passphrase); } else { - keyData = keyCLI.keyClient.retrieveKeyByPassphrase(new KeyId(keyId), passphrase); + keyData = keyClient.retrieveKeyByPassphrase(new KeyId(keyId), passphrase); } } else { if (requestId != null) { - keyData = keyCLI.keyClient.retrieveKeyByRequest(new RequestId(requestId)); + keyData = keyClient.retrieveKeyByRequest(new RequestId(requestId)); } else { - keyData = keyCLI.keyClient.retrieveKey(new KeyId(keyId)); + keyData = keyClient.retrieveKey(new KeyId(keyId)); } clientEncryption = false; diff --git a/base/java-tools/src/com/netscape/cmstools/key/KeyShowCLI.java b/base/java-tools/src/com/netscape/cmstools/key/KeyShowCLI.java index d877222dc..c579fe5f8 100644 --- a/base/java-tools/src/com/netscape/cmstools/key/KeyShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/key/KeyShowCLI.java @@ -24,6 +24,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import com.netscape.certsrv.dbs.keydb.KeyId; +import com.netscape.certsrv.key.KeyClient; import com.netscape.certsrv.key.KeyInfo; import com.netscape.cmstools.cli.CLI; @@ -59,14 +60,15 @@ public class KeyShowCLI extends CLI { String[] cmdArgs = cmd.getArgs(); String clientKeyId = cmd.getOptionValue("clientKeyID"); + KeyClient keyClient = keyCLI.getKeyClient(); KeyInfo keyInfo; if (cmdArgs.length == 1) { KeyId keyId = new KeyId(cmdArgs[0]); - keyInfo = keyCLI.keyClient.getKeyInfo(keyId); + keyInfo = keyClient.getKeyInfo(keyId); } else if (clientKeyId != null) { - keyInfo = keyCLI.keyClient.getActiveKeyInfo(clientKeyId); + keyInfo = keyClient.getActiveKeyInfo(clientKeyId); } else { throw new Exception("Missing Key ID or Client Key ID."); diff --git a/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainCLI.java b/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainCLI.java index 0c2ed37d8..d9db91eb9 100644 --- a/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainCLI.java @@ -18,6 +18,7 @@ package com.netscape.cmstools.system; +import com.netscape.certsrv.client.PKIClient; import com.netscape.certsrv.system.DomainInfo; import com.netscape.certsrv.system.SecurityDomainClient; import com.netscape.certsrv.system.SecurityDomainHost; @@ -52,9 +53,11 @@ public class SecurityDomainCLI extends CLI { return "pki-securitydomain"; } - public void execute(String[] args) throws Exception { + public SecurityDomainClient getSecurityDomainClient() throws Exception { - client = parent.getClient(); + if (securityDomainClient != null) return securityDomainClient; + + PKIClient client = getClient(); // determine the subsystem String subsystem = client.getSubsystem(); @@ -63,7 +66,7 @@ public class SecurityDomainCLI extends CLI { // create new security domain client securityDomainClient = new SecurityDomainClient(client, subsystem); - super.execute(args); + return securityDomainClient; } public static void printSecurityDomain(DomainInfo domain) { diff --git a/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainShowCLI.java b/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainShowCLI.java index 14d8e6685..f4082ef4e 100644 --- a/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainShowCLI.java @@ -23,6 +23,7 @@ import java.util.Arrays; import org.apache.commons.cli.CommandLine; import com.netscape.certsrv.system.DomainInfo; +import com.netscape.certsrv.system.SecurityDomainClient; import com.netscape.cmstools.cli.CLI; /** @@ -56,7 +57,8 @@ public class SecurityDomainShowCLI extends CLI { throw new Exception("Too many arguments specified."); } - DomainInfo domain = securityDomainCLI.securityDomainClient.getDomainInfo(); + SecurityDomainClient securityDomainClient = securityDomainCLI.getSecurityDomainClient(); + DomainInfo domain = securityDomainClient.getDomainInfo(); SecurityDomainCLI.printSecurityDomain(domain); } 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 + "\""); |
