summaryrefslogtreecommitdiffstats
path: root/base/java-tools/src/com
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2013-08-06 02:29:50 -0400
committerEndi S. Dewata <edewata@redhat.com>2013-08-23 23:17:21 -0400
commitccb8d7148fc4f50fa9d949edb4f47ad6742af2bc (patch)
tree376f44c0eaa0a39c4787fb8bf09aa9ddfd85eeac /base/java-tools/src/com
parent752166224154243f93fad5ea10dd4ebd87e1c369 (diff)
downloadpki-ccb8d7148fc4f50fa9d949edb4f47ad6742af2bc.tar.gz
pki-ccb8d7148fc4f50fa9d949edb4f47ad6742af2bc.tar.xz
pki-ccb8d7148fc4f50fa9d949edb4f47ad6742af2bc.zip
Refactored CLI framework.
Some common CLI methods and attributes have been refactored into the CLI base class. A new SubsystemCLI class was added as the base for subsystem CLI modules. The MainCLI was modified such that it will only perform authentication if the subsystem is specified in the server URI. If no subsystem is specified in the URI, the authentication will be done by the subsystem CLI module. Ticket #701
Diffstat (limited to 'base/java-tools/src/com')
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertCLI.java35
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertHoldCLI.java16
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertReleaseHoldCLI.java16
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertRequestFindCLI.java13
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertRequestReviewCLI.java26
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertRequestShowCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertRequestSubmitCLI.java18
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertRevokeCLI.java18
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertShowCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cli/CLI.java79
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java21
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cli/SubsystemCLI.java64
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cli/TPSCLI.java86
-rw-r--r--base/java-tools/src/com/netscape/cmstools/client/ClientCLI.java34
-rw-r--r--base/java-tools/src/com/netscape/cmstools/client/ClientFindCertCLI.java16
-rw-r--r--base/java-tools/src/com/netscape/cmstools/client/ClientImportCertCLI.java20
-rw-r--r--base/java-tools/src/com/netscape/cmstools/client/ClientRemoveCertCLI.java14
-rw-r--r--base/java-tools/src/com/netscape/cmstools/group/GroupAddCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/group/GroupAddMemberCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/group/GroupCLI.java34
-rw-r--r--base/java-tools/src/com/netscape/cmstools/group/GroupFindCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/group/GroupFindMemberCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/group/GroupModifyCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/group/GroupRemoveCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/group/GroupRemoveMemberCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/group/GroupShowCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/group/GroupShowMemberCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/key/KeyCLI.java35
-rw-r--r--base/java-tools/src/com/netscape/cmstools/key/KeyFindCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/key/KeyRequestFindCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java13
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java38
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java14
-rw-r--r--base/java-tools/src/com/netscape/cmstools/system/KRAConnectorAddCLI.java13
-rw-r--r--base/java-tools/src/com/netscape/cmstools/system/KRAConnectorCLI.java37
-rw-r--r--base/java-tools/src/com/netscape/cmstools/system/KRAConnectorRemoveCLI.java13
-rw-r--r--base/java-tools/src/com/netscape/cmstools/system/SecurityDomainCLI.java37
-rw-r--r--base/java-tools/src/com/netscape/cmstools/system/SecurityDomainGetInstallTokenCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/system/SecurityDomainShowCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/token/TokenCLI.java79
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserAddCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserAddCertCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserAddMembershipCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserCLI.java35
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserFindCertCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserFindMembershipCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserModifyCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserRemoveCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserRemoveCertCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserRemoveMembershipCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserShowCLI.java12
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserShowCertCLI.java12
59 files changed, 584 insertions, 636 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 8abe6f22a..9b69c992c 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertCLI.java
@@ -21,7 +21,6 @@ package com.netscape.cmstools.cert;
import java.text.SimpleDateFormat;
import java.util.Arrays;
-import org.apache.commons.lang.StringUtils;
import org.jboss.resteasy.plugins.providers.atom.Link;
import com.netscape.certsrv.cert.CertClient;
@@ -39,12 +38,10 @@ public class CertCLI extends CLI {
public static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- public MainCLI parent;
- public CertClient client;
+ public CertClient certClient;
- public CertCLI(MainCLI parent) {
- super("cert", "Certificate management commands");
- this.parent = parent;
+ public CertCLI(CLI parent) {
+ super("cert", "Certificate management commands", parent);
addModule(new CertFindCLI(this));
addModule(new CertShowCLI(this));
@@ -58,30 +55,18 @@ public class CertCLI extends CLI {
addModule(new CertRequestReviewCLI(this));
}
- public void printHelp() {
-
- System.out.println("Commands:");
-
- int leftPadding = 1;
- int rightPadding = 25;
-
- for (CLI module : modules.values()) {
- String label = name + "-" + module.getName();
-
- int padding = rightPadding - leftPadding - label.length();
- if (padding < 1)
- padding = 1;
-
- System.out.print(StringUtils.repeat(" ", leftPadding));
- System.out.print(label);
- System.out.print(StringUtils.repeat(" ", padding));
- System.out.println(module.getDescription());
+ public String getFullName() {
+ if (parent instanceof MainCLI) {
+ // do not include MainCLI's name
+ return name;
+ } else {
+ return parent.getFullName() + "-" + name;
}
}
public void execute(String[] args) throws Exception {
- client = new CertClient(parent.client);
+ certClient = new CertClient(parent.getClient());
if (args.length == 0) {
printHelp();
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 590d79598..7f8eb75f1 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java
@@ -41,15 +41,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class CertFindCLI extends CLI {
- public CertCLI parent;
+ public CertCLI certCLI;
- public CertFindCLI(CertCLI parent) {
- super("find", "Find certificates");
- this.parent = parent;
+ public CertFindCLI(CertCLI certCLI) {
+ super("find", "Find certificates", certCLI);
+ this.certCLI = certCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -120,7 +120,7 @@ public class CertFindCLI extends CLI {
CertDataInfos certs = null;
try {
- certs = parent.client.findCerts(searchData, start, size);
+ certs = certCLI.certClient.findCerts(searchData, start, size);
} catch (PKIException e) {
System.err.println("Error: Cannot list certificates. " + e.getMessage());
System.exit(1);
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 b6b5fcde7..2ebdb0ecf 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertHoldCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertHoldCLI.java
@@ -39,15 +39,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class CertHoldCLI extends CLI {
- public CertCLI parent;
+ public CertCLI certCLI;
- public CertHoldCLI(CertCLI parent) {
- super("hold", "Place certificate on-hold");
- this.parent = parent;
+ public CertHoldCLI(CertCLI certCLI) {
+ super("hold", "Place certificate on-hold", certCLI);
+ this.certCLI = certCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Serial Number> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <Serial Number> [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -77,7 +77,7 @@ public class CertHoldCLI extends CLI {
}
CertId certID = new CertId(cmdArgs[0]);
- CertData certData = parent.client.reviewCert(certID);
+ CertData certData = certCLI.certClient.reviewCert(certID);
if (!cmd.hasOption("force")) {
@@ -101,7 +101,7 @@ public class CertHoldCLI extends CLI {
request.setComments(cmd.getOptionValue("comments"));
request.setNonce(certData.getNonce());
- CertRequestInfo certRequestInfo = parent.client.revokeCert(certID, request);
+ CertRequestInfo certRequestInfo = certCLI.certClient.revokeCert(certID, request);
if (verbose) {
CertCLI.printCertRequestInfo(certRequestInfo);
@@ -116,7 +116,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 = parent.client.getCert(certID);
+ certData = certCLI.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 515850539..aa58539b8 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertReleaseHoldCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertReleaseHoldCLI.java
@@ -36,15 +36,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class CertReleaseHoldCLI extends CLI {
- public CertCLI parent;
+ public CertCLI certCLI;
- public CertReleaseHoldCLI(CertCLI parent) {
- super("release-hold", "Place certificate off-hold");
- this.parent = parent;
+ public CertReleaseHoldCLI(CertCLI certCLI) {
+ super("release-hold", "Place certificate off-hold", certCLI);
+ this.certCLI = certCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Serial Number> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <Serial Number> [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -73,7 +73,7 @@ public class CertReleaseHoldCLI extends CLI {
if (!cmd.hasOption("force")) {
- CertData certData = parent.client.getCert(certID);
+ CertData certData = certCLI.certClient.getCert(certID);
System.out.println("Placing certificate off-hold:");
@@ -91,7 +91,7 @@ public class CertReleaseHoldCLI extends CLI {
CertUnrevokeRequest request = new CertUnrevokeRequest();
- CertRequestInfo certRequestInfo = parent.client.unrevokeCert(certID, request);
+ CertRequestInfo certRequestInfo = certCLI.certClient.unrevokeCert(certID, request);
if (verbose) {
CertCLI.printCertRequestInfo(certRequestInfo);
@@ -106,7 +106,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 = parent.client.getCert(certID);
+ CertData certData = certCLI.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 fe54e7089..dbfc0ee87 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestFindCLI.java
@@ -33,15 +33,16 @@ import com.netscape.cmstools.cli.MainCLI;
* @author Ade Lee
*/
public class CertRequestFindCLI extends CLI {
- public CertCLI parent;
- public CertRequestFindCLI(CertCLI parent) {
- super("request-find", "Find certificate requests");
- this.parent = parent;
+ public CertCLI certCLI;
+
+ public CertRequestFindCLI(CertCLI certCLI) {
+ super("request-find", "Find certificate requests", certCLI);
+ this.certCLI = certCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -82,7 +83,7 @@ public class CertRequestFindCLI extends CLI {
if (requestType != null && requestType.equals("all")) requestType = null;
try {
- certRequests = parent.client.certRequestResource.listRequests(requestState, requestType, start, size, maxResults, maxTime);
+ certRequests = certCLI.certClient.certRequestResource.listRequests(requestState, requestType, start, size, maxResults, maxTime);
} catch (PKIException e) {
System.err.println("Error: Cannot list certificate requests. " + e.getMessage());
System.exit(-1);
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 3891508bd..d303b2edb 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestReviewCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestReviewCLI.java
@@ -24,19 +24,19 @@ import com.netscape.cmstools.cli.MainCLI;
public class CertRequestReviewCLI extends CLI {
- CertCLI parent;
+ CertCLI certCLI;
List<String> actions = Arrays.asList(
"approve", "reject", "cancel", "update", "validate", "assign", "unassign"
);
- public CertRequestReviewCLI(CertCLI parent) {
- super("request-review", "Review certificate request");
- this.parent = parent;
+ public CertRequestReviewCLI(CertCLI certCLI) {
+ super("request-review", "Review certificate request", certCLI);
+ this.certCLI = certCLI;
}
@Override
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Request ID> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <Request ID> [OPTIONS...]", options);
}
@Override
@@ -96,7 +96,7 @@ public class CertRequestReviewCLI extends CLI {
// Retrieve certificate request.
CertReviewResponse reviewInfo = null;
try {
- reviewInfo = parent.client.reviewRequest(requestId);
+ reviewInfo = certCLI.certClient.reviewRequest(requestId);
} catch (PKIException e) {
System.err.println(e.getMessage());
System.exit(-1);
@@ -135,31 +135,31 @@ public class CertRequestReviewCLI extends CLI {
}
if (action.equalsIgnoreCase("approve")) {
- parent.client.approveRequest(reviewInfo.getRequestId(), reviewInfo);
+ certCLI.certClient.approveRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Approved certificate request " + requestId);
} else if (action.equalsIgnoreCase("reject")) {
- parent.client.rejectRequest(reviewInfo.getRequestId(), reviewInfo);
+ certCLI.certClient.rejectRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Rejected certificate request " + requestId);
} else if (action.equalsIgnoreCase("cancel")) {
- parent.client.cancelRequest(reviewInfo.getRequestId(), reviewInfo);
+ certCLI.certClient.cancelRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Canceled certificate request " + requestId);
} else if (action.equalsIgnoreCase("update")) {
- parent.client.updateRequest(reviewInfo.getRequestId(), reviewInfo);
+ certCLI.certClient.updateRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Updated certificate request " + requestId);
} else if (action.equalsIgnoreCase("validate")) {
- parent.client.validateRequest(reviewInfo.getRequestId(), reviewInfo);
+ certCLI.certClient.validateRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Validated certificate request " + requestId);
} else if (action.equalsIgnoreCase("assign")) {
- parent.client.assignRequest(reviewInfo.getRequestId(), reviewInfo);
+ certCLI.certClient.assignRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Assigned certificate request " + requestId);
} else if (action.equalsIgnoreCase("unassign")) {
- parent.client.unassignRequest(reviewInfo.getRequestId(), reviewInfo);
+ certCLI.certClient.unassignRequest(reviewInfo.getRequestId(), reviewInfo);
MainCLI.printMessage("Unassigned certificate request " + requestId);
} else {
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 edabb2296..ca8fcb25c 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestShowCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestShowCLI.java
@@ -10,16 +10,16 @@ import com.netscape.cmstools.cli.MainCLI;
public class CertRequestShowCLI extends CLI {
- CertCLI parent;
+ CertCLI certCLI;
- public CertRequestShowCLI(CertCLI parent) {
- super("request-show", "Show certificate request");
- this.parent = parent;
+ public CertRequestShowCLI(CertCLI certCLI) {
+ super("request-show", "Show certificate request", certCLI);
+ this.certCLI = certCLI;
}
@Override
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Request ID>", options);
+ formatter.printHelp(getFullName() + " <Request ID>", options);
}
@Override
@@ -49,7 +49,7 @@ public class CertRequestShowCLI extends CLI {
System.exit(-1);
}
- CertRequestInfo certRequest = parent.client.getRequest(requestId);
+ CertRequestInfo certRequest = certCLI.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 3562d48f0..917a697b6 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertRequestSubmitCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRequestSubmitCLI.java
@@ -19,11 +19,15 @@ import com.netscape.cmstools.cli.MainCLI;
public class CertRequestSubmitCLI extends CLI {
- CertCLI parent;
+ CertCLI certCLI;
- public CertRequestSubmitCLI(CertCLI parent) {
- super("request-submit", "Submit certificate request");
- this.parent = parent;
+ public CertRequestSubmitCLI(CertCLI certCLI) {
+ super("request-submit", "Submit certificate request", certCLI);
+ this.certCLI = certCLI;
+ }
+
+ public void printHelp() {
+ formatter.printHelp(getFullName() + " <filename>", options);
}
@Override
@@ -50,7 +54,7 @@ public class CertRequestSubmitCLI extends CLI {
try {
erd = getEnrollmentRequest(cLineArgs[0]);
- CertRequestInfos cri = parent.client.enrollRequest(erd);
+ CertRequestInfos cri = certCLI.certClient.enrollRequest(erd);
MainCLI.printMessage("Submitted certificate request");
printRequestInformation(cri);
} catch (FileNotFoundException e) {
@@ -78,8 +82,4 @@ public class CertRequestSubmitCLI extends CLI {
}
System.out.println();
}
-
- public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <filename>", options);
- }
}
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 8727655f5..49ec889e2 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertRevokeCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertRevokeCLI.java
@@ -39,15 +39,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class CertRevokeCLI extends CLI {
- public CertCLI parent;
+ public CertCLI certCLI;
- public CertRevokeCLI(CertCLI parent) {
- super("revoke", "Revoke certificate");
- this.parent = parent;
+ public CertRevokeCLI(CertCLI certCLI) {
+ super("revoke", "Revoke certificate", certCLI);
+ this.certCLI = certCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Serial Number> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <Serial Number> [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -105,7 +105,7 @@ public class CertRevokeCLI extends CLI {
return;
}
- CertData certData = parent.client.reviewCert(certID);
+ CertData certData = certCLI.certClient.reviewCert(certID);
if (!cmd.hasOption("force")) {
@@ -138,9 +138,9 @@ public class CertRevokeCLI extends CLI {
CertRequestInfo certRequestInfo;
if (cmd.hasOption("ca")) {
- certRequestInfo = parent.client.revokeCACert(certID, request);
+ certRequestInfo = certCLI.certClient.revokeCACert(certID, request);
} else {
- certRequestInfo = parent.client.revokeCert(certID, request);
+ certRequestInfo = certCLI.certClient.revokeCert(certID, request);
}
if (verbose) {
@@ -163,7 +163,7 @@ public class CertRevokeCLI extends CLI {
MainCLI.printMessage("Revoked certificate \"" + certID.toHexString() + "\"");
}
- certData = parent.client.getCert(certID);
+ certData = certCLI.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 798514814..d1d6132ae 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertShowCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertShowCLI.java
@@ -34,15 +34,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class CertShowCLI extends CLI {
- public CertCLI parent;
+ public CertCLI certCLI;
- public CertShowCLI(CertCLI parent) {
- super("show", "Show certificate");
- this.parent = parent;
+ public CertShowCLI(CertCLI certCLI) {
+ super("show", "Show certificate", certCLI);
+ this.certCLI = certCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Serial Number> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <Serial Number> [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -78,7 +78,7 @@ public class CertShowCLI extends CLI {
CertId certID = new CertId(cmdArgs[0]);
String file = cmd.getOptionValue("output");
- CertData certData = parent.client.getCert(certID);
+ CertData certData = certCLI.certClient.getCert(certID);
String encoded = certData.getEncoded();
if (encoded != null && file != null) {
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 40ac517af..ecece0a09 100644
--- a/base/java-tools/src/com/netscape/cmstools/cli/CLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cli/CLI.java
@@ -25,6 +25,9 @@ import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.PosixParser;
+import org.apache.commons.lang.StringUtils;
+
+import com.netscape.certsrv.client.PKIClient;
/**
@@ -37,14 +40,15 @@ public class CLI {
public static CommandLineParser parser = new PosixParser();
public static HelpFormatter formatter = new HelpFormatter();
- public CLI parent;
-
public String name;
public String description;
+ public CLI parent;
public Options options = new Options();
public Map<String, CLI> modules = new LinkedHashMap<String, CLI>();
+ public PKIClient client;
+
public CLI(String name, String description) {
this(name, description, null);
}
@@ -87,10 +91,79 @@ public class CLI {
return modules.get(name);
}
- public void execute(String[] args) throws Exception {
+ public PKIClient getClient() {
+ return client;
+ }
+
+ public Object getClient(String name) {
+ return null;
}
public void printHelp() {
+
+ System.out.println("Commands:");
+
+ int leftPadding = 1;
+ int rightPadding = 25;
+
+ for (CLI module : modules.values()) {
+ String label = getFullName() + "-" + module.getName();
+
+ int padding = rightPadding - leftPadding - label.length();
+ if (padding < 1)
+ padding = 1;
+
+ System.out.print(StringUtils.repeat(" ", leftPadding));
+ System.out.print(label);
+ System.out.print(StringUtils.repeat(" ", padding));
+ System.out.println(module.getDescription());
+ }
+ }
+
+ public void execute(String[] args) throws Exception {
+
+ if (args.length == 0) {
+ printHelp();
+ System.exit(1);
+ }
+
+ String command = args[0];
+ String moduleName;
+ String moduleCommand;
+
+ // If a command contains a '-' sign it will be
+ // split into module name and module command.
+ // Otherwise it's a single command.
+ int i = command.indexOf('-');
+ if (i >= 0) { // <module name>-<module command>
+ moduleName = command.substring(0, i);
+ moduleCommand = command.substring(i+1);
+
+ } else { // <command>
+ moduleName = command;
+ moduleCommand = null;
+ }
+
+ // get command module
+ if (verbose) System.out.println("Module: " + moduleName);
+ CLI module = getModule(moduleName);
+ if (module == null) {
+ throw new Error("Invalid module \"" + moduleName + "\".");
+ }
+
+ // prepare module arguments
+ String[] moduleArgs;
+ if (moduleCommand != null) {
+ moduleArgs = new String[args.length];
+ moduleArgs[0] = moduleCommand;
+ System.arraycopy(args, 1, moduleArgs, 1, args.length-1);
+
+ } else {
+ moduleArgs = new String[args.length-1];
+ System.arraycopy(args, 1, moduleArgs, 0, args.length-1);
+ }
+
+ module.execute(moduleArgs);
}
public static boolean isVerbose() {
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 257f0bcfb..7625e2f47 100644
--- a/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java
@@ -60,8 +60,6 @@ public class MainCLI extends CLI {
public File certDatabase;
- public PKIClient client;
- public PKIConnection connection;
public AccountClient accountClient;
String output;
@@ -275,7 +273,7 @@ public class MainCLI extends CLI {
client = new PKIClient(config);
client.setVerbose(verbose);
- connection = client.getConnection();
+ PKIConnection connection = client.getConnection();
connection.setRejectedCertStatuses(rejectedCertStatuses);
connection.setIgnoredCertStatuses(ignoredCertStatuses);
@@ -285,7 +283,12 @@ public class MainCLI extends CLI {
connection.setOutput(file);
}
- accountClient = new AccountClient(client);
+ String subsystem = config.getSubsystem();
+ if (subsystem != null) {
+ // if server URI includes subsystem, perform authentication
+ // against that subsystem
+ accountClient = new AccountClient(client, subsystem);
+ }
}
public void execute(String[] args) throws Exception {
@@ -374,14 +377,13 @@ public class MainCLI extends CLI {
if (verbose) System.out.println("Server URI: "+config.getServerURI());
// execute command
- boolean loggedIn = false;
try {
init();
- // login if username or nickname is specified
- if (config.getUsername() != null || config.getCertNickname() != null) {
+ // login if subsystem and username/nickname is specified
+ if (config.getSubsystem() != null &&
+ (config.getUsername() != null || config.getCertNickname() != null)) {
accountClient.login();
- loggedIn = true;
}
// execute module command
@@ -396,7 +398,8 @@ public class MainCLI extends CLI {
System.exit(1);
} finally {
- if (loggedIn) accountClient.logout();
+ // logout if subsystem is specified
+ if (config.getSubsystem() != null) accountClient.logout();
}
}
diff --git a/base/java-tools/src/com/netscape/cmstools/cli/SubsystemCLI.java b/base/java-tools/src/com/netscape/cmstools/cli/SubsystemCLI.java
new file mode 100644
index 000000000..310a4c29c
--- /dev/null
+++ b/base/java-tools/src/com/netscape/cmstools/cli/SubsystemCLI.java
@@ -0,0 +1,64 @@
+// --- BEGIN COPYRIGHT BLOCK ---
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+//
+// (C) 2013 Red Hat, Inc.
+// All rights reserved.
+// --- END COPYRIGHT BLOCK ---
+
+package com.netscape.cmstools.cli;
+
+import com.netscape.certsrv.client.ClientConfig;
+
+
+/**
+ * @author Endi S. Dewata
+ */
+public class SubsystemCLI extends CLI {
+
+ public SubsystemCLI(String name, String description, CLI parent) {
+ super(name, description, parent);
+ }
+
+ public String getFullName() {
+ // do not include parent's name
+ return name;
+ }
+
+ public void init() throws Exception {
+ }
+
+ public void login() throws Exception {
+ }
+
+ public void logout() throws Exception {
+ }
+
+ public void execute(String[] args) throws Exception {
+
+ init();
+
+ try {
+ // login if username or nickname is specified
+ ClientConfig config = getClient().getConfig();
+ if (config.getUsername() != null || config.getCertNickname() != null) {
+ login();
+ }
+
+ super.execute(args);
+
+ } finally {
+ logout();
+ }
+ }
+}
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 4dd7e208c..1f10e959a 100644
--- a/base/java-tools/src/com/netscape/cmstools/cli/TPSCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cli/TPSCLI.java
@@ -18,92 +18,46 @@
package com.netscape.cmstools.cli;
-import org.apache.commons.lang.StringUtils;
-
+import com.netscape.certsrv.client.Client;
import com.netscape.certsrv.tps.TPSClient;
import com.netscape.cmstools.token.TokenCLI;
/**
* @author Endi S. Dewata
*/
-public class TPSCLI extends CLI {
+public class TPSCLI extends SubsystemCLI {
- public MainCLI mainCLI;
public TPSClient tpsClient;
public TPSCLI(MainCLI mainCLI) {
super("tps", "TPS management commands", mainCLI);
- this.mainCLI = mainCLI;
addModule(new TokenCLI(this));
}
- public void printHelp() {
-
- System.out.println("Commands:");
-
- int leftPadding = 1;
- int rightPadding = 25;
-
- for (CLI module : modules.values()) {
- String label = name + "-" + module.getName();
-
- int padding = rightPadding - leftPadding - label.length();
- if (padding < 1)
- padding = 1;
-
- System.out.print(StringUtils.repeat(" ", leftPadding));
- System.out.print(label);
- System.out.print(StringUtils.repeat(" ", padding));
- System.out.println(module.getDescription());
+ public String getFullName() {
+ if (parent instanceof MainCLI) {
+ // do not include MainCLI's name
+ return name;
+ } else {
+ return parent.getFullName() + "-" + name;
}
}
- public void execute(String[] args) throws Exception {
-
- tpsClient = new TPSClient(mainCLI.client);
-
- if (args.length == 0) {
- printHelp();
- System.exit(1);
- }
-
- String command = args[0];
- String moduleName;
- String moduleCommand;
-
- // If a command contains a '-' sign it will be
- // split into module name and module command.
- // Otherwise it's a single command.
- int i = command.indexOf('-');
- if (i >= 0) { // <module name>-<module command>
- moduleName = command.substring(0, i);
- moduleCommand = command.substring(i+1);
-
- } else { // <command>
- moduleName = command;
- moduleCommand = null;
- }
-
- // get command module
- if (verbose) System.out.println("Module: " + moduleName);
- CLI module = getModule(moduleName);
- if (module == null) {
- throw new Error("Invalid module \"" + moduleName + "\".");
- }
+ public void init() throws Exception {
+ client = parent.getClient();
+ tpsClient = new TPSClient(client);
+ }
- // prepare module arguments
- String[] moduleArgs;
- if (moduleCommand != null) {
- moduleArgs = new String[args.length];
- moduleArgs[0] = moduleCommand;
- System.arraycopy(args, 1, moduleArgs, 1, args.length-1);
+ public void login() {
+ tpsClient.login();
+ }
- } else {
- moduleArgs = new String[args.length-1];
- System.arraycopy(args, 1, moduleArgs, 0, args.length-1);
- }
+ public void logout() {
+ tpsClient.logout();
+ }
- module.execute(moduleArgs);
+ public Client getClient(String name) {
+ return tpsClient.getClient(name);
}
}
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 34d09f33c..1b54bff8d 100644
--- a/base/java-tools/src/com/netscape/cmstools/client/ClientCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/client/ClientCLI.java
@@ -20,7 +20,6 @@ package com.netscape.cmstools.client;
import java.util.Arrays;
-import org.apache.commons.lang.StringUtils;
import org.mozilla.jss.crypto.X509Certificate;
import com.netscape.certsrv.dbs.certdb.CertId;
@@ -32,40 +31,27 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class ClientCLI extends CLI {
- public MainCLI parent;
-
- public ClientCLI(MainCLI parent) {
- super("client", "Client management commands");
- this.parent = parent;
+ public ClientCLI(CLI parent) {
+ super("client", "Client management commands", parent);
addModule(new ClientFindCertCLI(this));
addModule(new ClientImportCertCLI(this));
addModule(new ClientRemoveCertCLI(this));
}
- public void printHelp() {
-
- System.out.println("Commands:");
-
- int leftPadding = 1;
- int rightPadding = 25;
-
- for (CLI module : modules.values()) {
- String label = name + "-" + module.getName();
-
- int padding = rightPadding - leftPadding - label.length();
- if (padding < 1)
- padding = 1;
-
- System.out.print(StringUtils.repeat(" ", leftPadding));
- System.out.print(label);
- System.out.print(StringUtils.repeat(" ", padding));
- System.out.println(module.getDescription());
+ public String getFullName() {
+ if (parent instanceof MainCLI) {
+ // do not include MainCLI's name
+ return name;
+ } else {
+ return parent.getFullName() + "-" + name;
}
}
public void execute(String[] args) throws Exception {
+ client = parent.getClient();
+
if (args.length == 0) {
printHelp();
System.exit(1);
diff --git a/base/java-tools/src/com/netscape/cmstools/client/ClientFindCertCLI.java b/base/java-tools/src/com/netscape/cmstools/client/ClientFindCertCLI.java
index 80690b7d0..f4057c67a 100644
--- a/base/java-tools/src/com/netscape/cmstools/client/ClientFindCertCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/client/ClientFindCertCLI.java
@@ -29,19 +29,21 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class ClientFindCertCLI extends CLI {
- public ClientCLI parent;
+ public ClientCLI clientCLI;
- public ClientFindCertCLI(ClientCLI parent) {
- super("find-cert", "Find certificates in client security database");
- this.parent = parent;
+ public ClientFindCertCLI(ClientCLI clientCLI) {
+ super("find-cert", "Find certificates in client security database", clientCLI);
+ this.clientCLI = clientCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " [OPTIONS]", options);
+ formatter.printHelp(getFullName() + " [OPTIONS]", options);
}
public void execute(String[] args) throws Exception {
+ client = clientCLI.getClient();
+
options.addOption(null, "ca", false, "Find CA certificates only");
CommandLine cmd = null;
@@ -56,9 +58,9 @@ public class ClientFindCertCLI extends CLI {
X509Certificate[] certs;
if (cmd.hasOption("ca")) {
- certs = parent.parent.client.getCACerts();
+ certs = client.getCACerts();
} else {
- certs = parent.parent.client.getCerts();
+ certs = client.getCerts();
}
if (certs == null || certs.length == 0) {
diff --git a/base/java-tools/src/com/netscape/cmstools/client/ClientImportCertCLI.java b/base/java-tools/src/com/netscape/cmstools/client/ClientImportCertCLI.java
index e89f954bb..cbd55079a 100644
--- a/base/java-tools/src/com/netscape/cmstools/client/ClientImportCertCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/client/ClientImportCertCLI.java
@@ -34,19 +34,21 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class ClientImportCertCLI extends CLI {
- public ClientCLI parent;
+ public ClientCLI clientCLI;
- public ClientImportCertCLI(ClientCLI parent) {
- super("import-cert", "Import certificate into client security database");
- this.parent = parent;
+ public ClientImportCertCLI(ClientCLI clientCLI) {
+ super("import-cert", "Import certificate into client security database", clientCLI);
+ this.clientCLI = clientCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " [OPTIONS]", options);
+ formatter.printHelp(getFullName() + " [OPTIONS]", options);
}
public void execute(String[] args) throws Exception {
+ client = clientCLI.getClient();
+
Option option = new Option(null, "cert", true, "Import certificate file");
option.setArgName("path");
options.addOption(option);
@@ -90,11 +92,11 @@ public class ClientImportCertCLI extends CLI {
isCACert = true;
} else if (importFromCAServer) {
- ClientConfig config = parent.parent.config;
+ ClientConfig config = client.getConfig();
String caServerURI = "http://" + config.getServerURI().getHost() + ":8080/ca";
if (verbose) System.out.println("Downloading CA certificate from " + caServerURI + ".");
- bytes = parent.parent.client.downloadCACertChain(caServerURI);
+ bytes = client.downloadCACertChain(caServerURI);
isCACert = true;
@@ -107,11 +109,11 @@ public class ClientImportCertCLI extends CLI {
// import the certificate
if (isCACert) {
if (verbose) System.out.println("Importing CA certificate.");
- cert = parent.parent.client.importCACertPackage(bytes);
+ cert = client.importCACertPackage(bytes);
} else {
if (verbose) System.out.println("Importing certificate.");
- cert = parent.parent.client.importCertPackage(bytes, parent.parent.client.config.getCertNickname());
+ cert = client.importCertPackage(bytes, client.config.getCertNickname());
}
MainCLI.printMessage("Imported certificate \"" + cert.getNickname() + "\"");
diff --git a/base/java-tools/src/com/netscape/cmstools/client/ClientRemoveCertCLI.java b/base/java-tools/src/com/netscape/cmstools/client/ClientRemoveCertCLI.java
index fab429631..be4456115 100644
--- a/base/java-tools/src/com/netscape/cmstools/client/ClientRemoveCertCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/client/ClientRemoveCertCLI.java
@@ -28,15 +28,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class ClientRemoveCertCLI extends CLI {
- public ClientCLI parent;
+ public ClientCLI clientCLI;
- public ClientRemoveCertCLI(ClientCLI parent) {
- super("remove-cert", "Remove certificate from client security database");
- this.parent = parent;
+ public ClientRemoveCertCLI(ClientCLI clientCLI) {
+ super("remove-cert", "Remove certificate from client security database", clientCLI);
+ this.clientCLI = clientCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <nickname>", options);
+ formatter.printHelp(getFullName() + " <nickname>", options);
}
public void execute(String[] args) throws Exception {
@@ -58,8 +58,10 @@ public class ClientRemoveCertCLI extends CLI {
System.exit(1);
}
+ client = clientCLI.getClient();
+
String nickname = cmdArgs[0];
- parent.parent.client.removeCert(nickname);
+ client.removeCert(nickname);
MainCLI.printMessage("Removed certificate \"" + nickname + "\"");
}
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 b4814fbcc..a29ce62ef 100644
--- a/base/java-tools/src/com/netscape/cmstools/group/GroupAddCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/group/GroupAddCLI.java
@@ -30,15 +30,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class GroupAddCLI extends CLI {
- public GroupCLI parent;
+ public GroupCLI groupCLI;
- public GroupAddCLI(GroupCLI parent) {
- super("add", "Add group");
- this.parent = parent;
+ public GroupAddCLI(GroupCLI groupCLI) {
+ super("add", "Add group", groupCLI);
+ this.groupCLI = groupCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Group ID> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <Group ID> [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -72,7 +72,7 @@ public class GroupAddCLI extends CLI {
groupData.setID(groupID);
groupData.setDescription(cmd.getOptionValue("description"));
- groupData = parent.client.addGroup(groupData);
+ groupData = groupCLI.groupClient.addGroup(groupData);
MainCLI.printMessage("Added group \""+groupID+"\"");
diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupAddMemberCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupAddMemberCLI.java
index 36d3c06fd..eb2f9bede 100644
--- a/base/java-tools/src/com/netscape/cmstools/group/GroupAddMemberCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/group/GroupAddMemberCLI.java
@@ -27,15 +27,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class GroupAddMemberCLI extends CLI {
- public GroupCLI parent;
+ public GroupCLI groupCLI;
- public GroupAddMemberCLI(GroupCLI parent) {
- super("add-member", "Add group member");
- this.parent = parent;
+ public GroupAddMemberCLI(GroupCLI groupCLI) {
+ super("add-member", "Add group member", groupCLI);
+ this.groupCLI = groupCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Group ID> <Member ID>", options);
+ formatter.printHelp(getFullName() + " <Group ID> <Member ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -48,7 +48,7 @@ public class GroupAddMemberCLI extends CLI {
String groupID = args[0];
String memberID = args[1];
- GroupMemberData groupMemberData = parent.client.addGroupMember(groupID, memberID);
+ GroupMemberData groupMemberData = groupCLI.groupClient.addGroupMember(groupID, memberID);
MainCLI.printMessage("Added group member \""+memberID+"\"");
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 bd8cec773..d691c432b 100644
--- a/base/java-tools/src/com/netscape/cmstools/group/GroupCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/group/GroupCLI.java
@@ -34,12 +34,10 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class GroupCLI extends CLI {
- public MainCLI parent;
- public GroupClient client;
+ public GroupClient groupClient;
- public GroupCLI(MainCLI parent) {
- super("group", "Group management commands");
- this.parent = parent;
+ public GroupCLI(CLI parent) {
+ super("group", "Group management commands", parent);
addModule(new GroupFindCLI(this));
addModule(new GroupShowCLI(this));
@@ -53,29 +51,19 @@ public class GroupCLI extends CLI {
addModule(new GroupRemoveMemberCLI(this));
}
- public void printHelp() {
-
- System.out.println("Commands:");
-
- int leftPadding = 1;
- int rightPadding = 25;
-
- for (CLI module : modules.values()) {
- String label = name+"-"+module.getName();
-
- int padding = rightPadding - leftPadding - label.length();
- if (padding < 1) padding = 1;
-
- System.out.print(StringUtils.repeat(" ", leftPadding));
- System.out.print(label);
- System.out.print(StringUtils.repeat(" ", padding));
- System.out.println(module.getDescription());
+ public String getFullName() {
+ if (parent instanceof MainCLI) {
+ // do not include MainCLI's name
+ return name;
+ } else {
+ return parent.getFullName() + "-" + name;
}
}
public void execute(String[] args) throws Exception {
- client = new GroupClient(parent.client);
+ client = parent.getClient();
+ groupClient = new GroupClient(client);
if (args.length == 0) {
printHelp();
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 272e3a8fd..7c2361da3 100644
--- a/base/java-tools/src/com/netscape/cmstools/group/GroupFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/group/GroupFindCLI.java
@@ -33,15 +33,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class GroupFindCLI extends CLI {
- public GroupCLI parent;
+ public GroupCLI groupCLI;
- public GroupFindCLI(GroupCLI parent) {
- super("find", "Find groups");
- this.parent = parent;
+ public GroupFindCLI(GroupCLI groupCLI) {
+ super("find", "Find groups", groupCLI);
+ this.groupCLI = groupCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " [FILTER] [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " [FILTER] [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -74,7 +74,7 @@ public class GroupFindCLI extends CLI {
s = cmd.getOptionValue("size");
Integer size = s == null ? null : Integer.valueOf(s);
- GroupCollection response = parent.client.findGroups(filter, start, size);
+ GroupCollection response = groupCLI.groupClient.findGroups(filter, start, size);
Collection<GroupData> entries = response.getGroups();
diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupFindMemberCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupFindMemberCLI.java
index f0498f0d2..383e547f3 100644
--- a/base/java-tools/src/com/netscape/cmstools/group/GroupFindMemberCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/group/GroupFindMemberCLI.java
@@ -33,15 +33,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class GroupFindMemberCLI extends CLI {
- public GroupCLI parent;
+ public GroupCLI groupCLI;
- public GroupFindMemberCLI(GroupCLI parent) {
- super("find-member", "Find group members");
- this.parent = parent;
+ public GroupFindMemberCLI(GroupCLI groupCLI) {
+ super("find-member", "Find group members", groupCLI);
+ this.groupCLI = groupCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Group ID> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <Group ID> [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -80,7 +80,7 @@ public class GroupFindMemberCLI extends CLI {
s = cmd.getOptionValue("size");
Integer size = s == null ? null : Integer.valueOf(s);
- GroupMemberCollection response = parent.client.findGroupMembers(groupID, start, size);
+ GroupMemberCollection response = groupCLI.groupClient.findGroupMembers(groupID, start, size);
Collection<GroupMemberData> entries = response.getMembers();
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 2869ce19d..b0974d325 100644
--- a/base/java-tools/src/com/netscape/cmstools/group/GroupModifyCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/group/GroupModifyCLI.java
@@ -30,15 +30,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class GroupModifyCLI extends CLI {
- public GroupCLI parent;
+ public GroupCLI groupCLI;
- public GroupModifyCLI(GroupCLI parent) {
- super("mod", "Modify group");
- this.parent = parent;
+ public GroupModifyCLI(GroupCLI groupCLI) {
+ super("mod", "Modify group", groupCLI);
+ this.groupCLI = groupCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Group ID> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <Group ID> [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -71,7 +71,7 @@ public class GroupModifyCLI extends CLI {
groupData.setID(groupID);
groupData.setDescription(cmd.getOptionValue("description"));
- groupData = parent.client.modifyGroup(groupID, groupData);
+ groupData = groupCLI.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 fd9c08893..cc64ed841 100644
--- a/base/java-tools/src/com/netscape/cmstools/group/GroupRemoveCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/group/GroupRemoveCLI.java
@@ -27,15 +27,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class GroupRemoveCLI extends CLI {
- public GroupCLI parent;
+ public GroupCLI groupCLI;
- public GroupRemoveCLI(GroupCLI parent) {
- super("del", "Remove group");
- this.parent = parent;
+ public GroupRemoveCLI(GroupCLI groupCLI) {
+ super("del", "Remove group", groupCLI);
+ this.groupCLI = groupCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Group ID>", options);
+ formatter.printHelp(getFullName() + " <Group ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -47,7 +47,7 @@ public class GroupRemoveCLI extends CLI {
String groupID = args[0];
- parent.client.removeGroup(groupID);
+ groupCLI.groupClient.removeGroup(groupID);
MainCLI.printMessage("Deleted group \""+groupID+"\"");
}
diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupRemoveMemberCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupRemoveMemberCLI.java
index c12cc892e..ef3484045 100644
--- a/base/java-tools/src/com/netscape/cmstools/group/GroupRemoveMemberCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/group/GroupRemoveMemberCLI.java
@@ -26,15 +26,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class GroupRemoveMemberCLI extends CLI {
- public GroupCLI parent;
+ public GroupCLI groupCLI;
- public GroupRemoveMemberCLI(GroupCLI parent) {
- super("remove-member", "Remove group member");
- this.parent = parent;
+ public GroupRemoveMemberCLI(GroupCLI groupCLI) {
+ super("remove-member", "Remove group member", groupCLI);
+ this.groupCLI = groupCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Group ID> <Member ID>", options);
+ formatter.printHelp(getFullName() + " <Group ID> <Member ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -47,7 +47,7 @@ public class GroupRemoveMemberCLI extends CLI {
String groupID = args[0];
String memberID = args[1];
- parent.client.removeGroupMember(groupID, memberID);
+ groupCLI.groupClient.removeGroupMember(groupID, memberID);
MainCLI.printMessage("Deleted group member \""+memberID+"\"");
}
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 4e8e44421..c25306a27 100644
--- a/base/java-tools/src/com/netscape/cmstools/group/GroupShowCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/group/GroupShowCLI.java
@@ -27,15 +27,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class GroupShowCLI extends CLI {
- public GroupCLI parent;
+ public GroupCLI groupCLI;
- public GroupShowCLI(GroupCLI parent) {
- super("show", "Show group");
- this.parent = parent;
+ public GroupShowCLI(GroupCLI groupCLI) {
+ super("show", "Show group", groupCLI);
+ this.groupCLI = groupCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Group ID>", options);
+ formatter.printHelp(getFullName() + " <Group ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -47,7 +47,7 @@ public class GroupShowCLI extends CLI {
String groupID = args[0];
- GroupData groupData = parent.client.getGroup(groupID);
+ GroupData groupData = groupCLI.groupClient.getGroup(groupID);
MainCLI.printMessage("Group \""+groupID+"\"");
diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupShowMemberCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupShowMemberCLI.java
index 47ca43c8f..2f50a6a08 100644
--- a/base/java-tools/src/com/netscape/cmstools/group/GroupShowMemberCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/group/GroupShowMemberCLI.java
@@ -27,15 +27,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class GroupShowMemberCLI extends CLI {
- public GroupCLI parent;
+ public GroupCLI groupCLI;
- public GroupShowMemberCLI(GroupCLI parent) {
- super("show-member", "Show group member");
- this.parent = parent;
+ public GroupShowMemberCLI(GroupCLI groupCLI) {
+ super("show-member", "Show group member", groupCLI);
+ this.groupCLI = groupCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <Group ID> <Member ID>", options);
+ formatter.printHelp(getFullName() + " <Group ID> <Member ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -48,7 +48,7 @@ public class GroupShowMemberCLI extends CLI {
String groupID = args[0];
String memberID = args[1];
- GroupMemberData groupMemberData = parent.client.getGroupMember(groupID, memberID);
+ GroupMemberData groupMemberData = groupCLI.groupClient.getGroupMember(groupID, memberID);
MainCLI.printMessage("Group member \""+memberID+"\"");
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 0d2396243..de52613ee 100644
--- a/base/java-tools/src/com/netscape/cmstools/key/KeyCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/key/KeyCLI.java
@@ -20,8 +20,6 @@ package com.netscape.cmstools.key;
import java.util.Arrays;
-import org.apache.commons.lang.StringUtils;
-
import com.netscape.certsrv.key.KeyClient;
import com.netscape.certsrv.key.KeyDataInfo;
import com.netscape.certsrv.key.KeyRequestInfo;
@@ -33,41 +31,28 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class KeyCLI extends CLI {
- public MainCLI parent;
public KeyClient keyClient;
- public KeyCLI(MainCLI parent) {
- super("key", "Key management commands");
- this.parent = parent;
+ public KeyCLI(CLI parent) {
+ super("key", "Key management commands", parent);
addModule(new KeyFindCLI(this));
addModule(new KeyRequestFindCLI(this));
}
- public void printHelp() {
-
- System.out.println("Commands:");
-
- int leftPadding = 1;
- int rightPadding = 25;
-
- for (CLI module : modules.values()) {
- String label = name + "-" + module.getName();
-
- int padding = rightPadding - leftPadding - label.length();
- if (padding < 1)
- padding = 1;
-
- System.out.print(StringUtils.repeat(" ", leftPadding));
- System.out.print(label);
- System.out.print(StringUtils.repeat(" ", padding));
- System.out.println(module.getDescription());
+ public String getFullName() {
+ if (parent instanceof MainCLI) {
+ // do not include MainCLI's name
+ return name;
+ } else {
+ return parent.getFullName() + "-" + name;
}
}
public void execute(String[] args) throws Exception {
- keyClient = new KeyClient(parent.client);
+ client = parent.getClient();
+ keyClient = new KeyClient(client);
if (args.length == 0) {
printHelp();
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 014a9b60e..9a91f37e2 100644
--- a/base/java-tools/src/com/netscape/cmstools/key/KeyFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/key/KeyFindCLI.java
@@ -34,15 +34,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class KeyFindCLI extends CLI {
- public KeyCLI parent;
+ public KeyCLI keyCLI;
- public KeyFindCLI(KeyCLI parent) {
- super("find", "Find keys");
- this.parent = parent;
+ public KeyFindCLI(KeyCLI keyCLI) {
+ super("find", "Find keys", keyCLI);
+ this.keyCLI = keyCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " [OPTIONS...]", options);
}
public void execute(String[] args) {
@@ -83,7 +83,7 @@ public class KeyFindCLI extends CLI {
s = cmd.getOptionValue("maxTime");
Integer maxTime = s == null ? null : Integer.valueOf(s);
- KeyDataInfos keys = parent.keyClient.findKeys(clientID, status, maxResults, maxTime);
+ KeyDataInfos keys = keyCLI.keyClient.findKeys(clientID, status, maxResults, maxTime);
Collection<KeyDataInfo> entries = keys.getKeyInfos();
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 83ce42318..14770efdb 100644
--- a/base/java-tools/src/com/netscape/cmstools/key/KeyRequestFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/key/KeyRequestFindCLI.java
@@ -35,15 +35,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class KeyRequestFindCLI extends CLI {
- public KeyCLI parent;
+ public KeyCLI keyCLI;
- public KeyRequestFindCLI(KeyCLI parent) {
- super("request-find", "Find key requests");
- this.parent = parent;
+ public KeyRequestFindCLI(KeyCLI keyCLI) {
+ super("request-find", "Find key requests", keyCLI);
+ this.keyCLI = keyCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " [OPTIONS...]", options);
}
public void execute(String[] args) {
@@ -95,7 +95,7 @@ public class KeyRequestFindCLI extends CLI {
s = cmd.getOptionValue("maxTime");
Integer maxTime = s == null ? null : Integer.valueOf(s);
- KeyRequestInfos keys = parent.keyClient.findKeyRequests(
+ KeyRequestInfos keys = keyCLI.keyClient.findKeyRequests(
status, type, clientID, start, pageSize, maxResults, maxTime);
Collection<KeyRequestInfo> entries = keys.getRequests();
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java
index 2c30fdbd7..17f7998f9 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileAddCLI.java
@@ -12,15 +12,16 @@ import com.netscape.cmstools.cli.CLI;
import com.netscape.cmstools.cli.MainCLI;
public class ProfileAddCLI extends CLI {
- public ProfileCLI parent;
- public ProfileAddCLI(ProfileCLI parent) {
- super("add", "Add profiles");
- this.parent = parent;
+ public ProfileCLI profileCLI;
+
+ public ProfileAddCLI(ProfileCLI profileCLI) {
+ super("add", "Add profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <file>", options);
+ formatter.printHelp(getFullName() + " <file>", options);
}
public void execute(String[] args) {
@@ -50,7 +51,7 @@ public class ProfileAddCLI extends CLI {
try {
ProfileData data = ProfileCLI.readProfileFromFile(filename);
- parent.client.createProfile(data);
+ profileCLI.profileClient.createProfile(data);
MainCLI.printMessage("Added profile " + data.getId());
} catch (FileNotFoundException | JAXBException e) {
System.err.println("Error: " + e.getMessage());
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java
index ba41a3da1..59f63c7e9 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileCLI.java
@@ -12,8 +12,6 @@ import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
-import org.apache.commons.lang.StringUtils;
-
import com.netscape.certsrv.profile.ProfileAttribute;
import com.netscape.certsrv.profile.ProfileClient;
import com.netscape.certsrv.profile.ProfileData;
@@ -24,12 +22,11 @@ import com.netscape.cmstools.cli.CLI;
import com.netscape.cmstools.cli.MainCLI;
public class ProfileCLI extends CLI {
- public MainCLI parent;
- public ProfileClient client;
- public ProfileCLI(MainCLI parent) {
- super("profile", "Profile management commands");
- this.parent = parent;
+ public ProfileClient profileClient;
+
+ public ProfileCLI(CLI parent) {
+ super("profile", "Profile management commands", parent);
addModule(new ProfileFindCLI(this));
addModule(new ProfileShowCLI(this));
@@ -40,30 +37,19 @@ public class ProfileCLI extends CLI {
addModule(new ProfileDisableCLI(this));
}
- public void printHelp() {
-
- System.out.println("Commands:");
-
- int leftPadding = 1;
- int rightPadding = 25;
-
- for (CLI module : modules.values()) {
- String label = name + "-" + module.getName();
-
- int padding = rightPadding - leftPadding - label.length();
- if (padding < 1)
- padding = 1;
-
- System.out.print(StringUtils.repeat(" ", leftPadding));
- System.out.print(label);
- System.out.print(StringUtils.repeat(" ", padding));
- System.out.println(module.getDescription());
+ public String getFullName() {
+ if (parent instanceof MainCLI) {
+ // do not include MainCLI's name
+ return name;
+ } else {
+ return parent.getFullName() + "-" + name;
}
}
public void execute(String[] args) throws Exception {
- client = new ProfileClient(parent.client);
+ client = parent.getClient();
+ profileClient = new ProfileClient(client);
if (args.length == 0) {
printHelp();
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java
index 0279cf36a..4fc640d75 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileDisableCLI.java
@@ -5,15 +5,15 @@ import com.netscape.cmstools.cli.MainCLI;
public class ProfileDisableCLI extends CLI {
- public ProfileCLI parent;
+ public ProfileCLI profileCLI;
- public ProfileDisableCLI(ProfileCLI parent) {
- super("disable", "Disable profiles");
- this.parent = parent;
+ public ProfileDisableCLI(ProfileCLI profileCLI) {
+ super("disable", "Disable profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <profile_id>", options);
+ formatter.printHelp(getFullName() + " <Profile ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -25,7 +25,7 @@ public class ProfileDisableCLI extends CLI {
String profileId = args[0];
- parent.client.disableProfile(profileId);
+ profileCLI.profileClient.disableProfile(profileId);
MainCLI.printMessage("Disabled profile \"" + profileId + "\"");
}
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java
index 727e49b0a..88c96c52b 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileEnableCLI.java
@@ -5,15 +5,15 @@ import com.netscape.cmstools.cli.MainCLI;
public class ProfileEnableCLI extends CLI {
- public ProfileCLI parent;
+ public ProfileCLI profileCLI;
- public ProfileEnableCLI(ProfileCLI parent) {
- super("enable", "Enable profiles");
- this.parent = parent;
+ public ProfileEnableCLI(ProfileCLI profileCLI) {
+ super("enable", "Enable profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <profile_id>", options);
+ formatter.printHelp(getFullName() + " <Profile ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -25,7 +25,7 @@ public class ProfileEnableCLI extends CLI {
String profileId = args[0];
- parent.client.enableProfile(profileId);
+ profileCLI.profileClient.enableProfile(profileId);
MainCLI.printMessage("Enabled profile \"" + profileId + "\"");
}
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java
index 9ced7c0b8..1370319f9 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileFindCLI.java
@@ -8,20 +8,20 @@ import com.netscape.cmstools.cli.MainCLI;
public class ProfileFindCLI extends CLI {
- public ProfileCLI parent;
+ public ProfileCLI profileCLI;
- public ProfileFindCLI(ProfileCLI parent) {
- super("find", "Find profiles");
- this.parent = parent;
+ public ProfileFindCLI(ProfileCLI profileCLI) {
+ super("find", "Find profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " [FILTER] [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " [FILTER] [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
- Collection<ProfileDataInfo> infos = parent.client.listProfiles().getProfileInfos();
+ Collection<ProfileDataInfo> infos = profileCLI.profileClient.listProfiles().getProfileInfos();
boolean first = true;
for (ProfileDataInfo info: infos) {
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java
index 5259a7fe7..e1c543672 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileModifyCLI.java
@@ -13,15 +13,15 @@ import com.netscape.cmstools.cli.MainCLI;
public class ProfileModifyCLI extends CLI {
- public ProfileCLI parent;
+ public ProfileCLI profileCLI;
- public ProfileModifyCLI(ProfileCLI parent) {
- super("mod", "Modify profiles");
- this.parent = parent;
+ public ProfileModifyCLI(ProfileCLI profileCLI) {
+ super("mod", "Modify profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <file>", options);
+ formatter.printHelp(getFullName() + " <file>", options);
}
public void execute(String[] args) {
@@ -51,7 +51,7 @@ public class ProfileModifyCLI extends CLI {
try {
ProfileData data = ProfileCLI.readProfileFromFile(filename);
- parent.client.modifyProfile(data);
+ profileCLI.profileClient.modifyProfile(data);
MainCLI.printMessage("Modified profile " + data.getId());
} catch (FileNotFoundException | JAXBException e) {
System.err.println("Error: " + e.getMessage());
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java
index c2e3eae53..92c99ede8 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileRemoveCLI.java
@@ -5,15 +5,15 @@ import com.netscape.cmstools.cli.MainCLI;
public class ProfileRemoveCLI extends CLI {
- public ProfileCLI parent;
+ public ProfileCLI profileCLI;
- public ProfileRemoveCLI(ProfileCLI parent) {
- super("del", "Remove profiles");
- this.parent = parent;
+ public ProfileRemoveCLI(ProfileCLI profileCLI) {
+ super("del", "Remove profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <profile_id>", options);
+ formatter.printHelp(getFullName() + " <Profile ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -25,7 +25,7 @@ public class ProfileRemoveCLI extends CLI {
String profileId = args[0];
- parent.client.deleteProfile(profileId);
+ profileCLI.profileClient.deleteProfile(profileId);
MainCLI.printMessage("Deleted profile \"" + profileId + "\"");
}
diff --git a/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java b/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java
index c3f8675f2..6b09d7f9d 100644
--- a/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/profile/ProfileShowCLI.java
@@ -10,15 +10,15 @@ import com.netscape.cmstools.cli.MainCLI;
public class ProfileShowCLI extends CLI {
- public ProfileCLI parent;
+ public ProfileCLI profileCLI;
- public ProfileShowCLI(ProfileCLI parent) {
- super("show", "Show profiles");
- this.parent = parent;
+ public ProfileShowCLI(ProfileCLI profileCLI) {
+ super("show", "Show profiles", profileCLI);
+ this.profileCLI = profileCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <profile_id>", options);
+ formatter.printHelp(getFullName() + " <Profile ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -56,14 +56,14 @@ public class ProfileShowCLI extends CLI {
}
}
- ProfileData profileData = parent.client.retrieveProfile(profileId);
+ ProfileData profileData = profileCLI.profileClient.retrieveProfile(profileId);
MainCLI.printMessage("Profile \"" + profileId + "\"");
if (filename != null) {
ProfileCLI.saveProfileToFile(filename, profileData);
} else {
- ProfileCLI.printProfile(profileData, parent.parent.config.getServerURI());
+ ProfileCLI.printProfile(profileData, profileCLI.getClient().getConfig().getServerURI());
}
}
diff --git a/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorAddCLI.java b/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorAddCLI.java
index cc163341b..cc08d7513 100644
--- a/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorAddCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorAddCLI.java
@@ -33,15 +33,16 @@ import com.netscape.cmstools.cli.MainCLI;
* @author Ade Lee
*/
public class KRAConnectorAddCLI extends CLI {
- public KRAConnectorCLI parent;
- public KRAConnectorAddCLI(KRAConnectorCLI parent) {
- super("add", "Add KRA Connector");
- this.parent = parent;
+ public KRAConnectorCLI kraConnectorCLI;
+
+ public KRAConnectorAddCLI(KRAConnectorCLI kraConnectorCLI) {
+ super("add", "Add KRA Connector", kraConnectorCLI);
+ this.kraConnectorCLI = kraConnectorCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <File Name>", options);
+ formatter.printHelp(getFullName() + " <File Name>", options);
}
public void execute(String[] args) throws Exception {
@@ -70,7 +71,7 @@ public class KRAConnectorAddCLI extends CLI {
Unmarshaller unmarshaller = context.createUnmarshaller();
KRAConnectorInfo info = (KRAConnectorInfo) unmarshaller.unmarshal(fis);
- parent.client.addConnector(info);
+ kraConnectorCLI.kraConnectorClient.addConnector(info);
MainCLI.printMessage("Added KRA Connector");
}
diff --git a/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorCLI.java b/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorCLI.java
index 03db762d4..a24a4fd00 100644
--- a/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorCLI.java
@@ -19,8 +19,6 @@ package com.netscape.cmstools.system;
import java.util.Arrays;
-import org.apache.commons.lang.StringUtils;
-
import com.netscape.certsrv.system.KRAConnectorClient;
import com.netscape.cmstools.cli.CLI;
import com.netscape.cmstools.cli.MainCLI;
@@ -30,39 +28,28 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class KRAConnectorCLI extends CLI {
- public MainCLI parent;
- public KRAConnectorClient client;
+ public KRAConnectorClient kraConnectorClient;
+
+ public KRAConnectorCLI(CLI parent) {
+ super("kraconnector", "KRA Connector management commands", parent);
- public KRAConnectorCLI(MainCLI parent) {
- super("kraconnector", "KRA Connector management commands");
- this.parent = parent;
addModule(new KRAConnectorAddCLI(this));
addModule(new KRAConnectorRemoveCLI(this));
}
- public void printHelp() {
-
- System.out.println("Commands:");
-
- int leftPadding = 1;
- int rightPadding = 25;
-
- for (CLI module : modules.values()) {
- String label = name+"-"+module.getName();
-
- int padding = rightPadding - leftPadding - label.length();
- if (padding < 1) padding = 1;
-
- System.out.print(StringUtils.repeat(" ", leftPadding));
- System.out.print(label);
- System.out.print(StringUtils.repeat(" ", padding));
- System.out.println(module.getDescription());
+ public String getFullName() {
+ if (parent instanceof MainCLI) {
+ // do not include MainCLI's name
+ return name;
+ } else {
+ return parent.getFullName() + "-" + name;
}
}
public void execute(String[] args) throws Exception {
- client = new KRAConnectorClient(parent.client);
+ client = parent.getClient();
+ kraConnectorClient = new KRAConnectorClient(client);
if (args.length == 0) {
printHelp();
diff --git a/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorRemoveCLI.java b/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorRemoveCLI.java
index d69e08ed4..550b661d2 100644
--- a/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorRemoveCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorRemoveCLI.java
@@ -24,15 +24,16 @@ import com.netscape.cmstools.cli.MainCLI;
* @author Ade Lee
*/
public class KRAConnectorRemoveCLI extends CLI {
- public KRAConnectorCLI parent;
- public KRAConnectorRemoveCLI(KRAConnectorCLI parent) {
- super("del", "Remove KRA connector from CA");
- this.parent = parent;
+ public KRAConnectorCLI kraConnectorCLI;
+
+ public KRAConnectorRemoveCLI(KRAConnectorCLI kraConnectorCLI) {
+ super("del", "Remove KRA connector from CA", kraConnectorCLI);
+ this.kraConnectorCLI = kraConnectorCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <KRA Host> <KRA Port>", options);
+ formatter.printHelp(getFullName() + " <KRA Host> <KRA Port>", options);
}
public void execute(String[] args) throws Exception {
@@ -45,7 +46,7 @@ public class KRAConnectorRemoveCLI extends CLI {
String kraHost = args[0];
String kraPort = args[1];
- parent.client.removeConnector(kraHost, kraPort);
+ kraConnectorCLI.kraConnectorClient.removeConnector(kraHost, kraPort);
MainCLI.printMessage("Removed KRA connector \""+kraHost + ":" + kraPort +"\"");
}
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 fc23a5257..3ea3e78de 100644
--- a/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainCLI.java
@@ -20,8 +20,6 @@ package com.netscape.cmstools.system;
import java.util.Arrays;
-import org.apache.commons.lang.StringUtils;
-
import com.netscape.certsrv.system.DomainInfo;
import com.netscape.certsrv.system.SecurityDomainClient;
import com.netscape.certsrv.system.SecurityDomainHost;
@@ -34,41 +32,28 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class SecurityDomainCLI extends CLI {
- public MainCLI parent;
- public SecurityDomainClient client;
+ public SecurityDomainClient securityDomainClient;
- public SecurityDomainCLI(MainCLI parent) {
- super("securitydomain", "Security domain commands");
- this.parent = parent;
+ public SecurityDomainCLI(CLI parent) {
+ super("securitydomain", "Security domain commands", parent);
addModule(new SecurityDomainGetInstallTokenCLI(this));
addModule(new SecurityDomainShowCLI(this));
}
- public void printHelp() {
-
- System.out.println("Commands:");
-
- int leftPadding = 1;
- int rightPadding = 25;
-
- for (CLI module : modules.values()) {
- String label = name + "-" + module.getName();
-
- int padding = rightPadding - leftPadding - label.length();
- if (padding < 1)
- padding = 1;
-
- System.out.print(StringUtils.repeat(" ", leftPadding));
- System.out.print(label);
- System.out.print(StringUtils.repeat(" ", padding));
- System.out.println(module.getDescription());
+ public String getFullName() {
+ if (parent instanceof MainCLI) {
+ // do not include MainCLI's name
+ return name;
+ } else {
+ return parent.getFullName() + "-" + name;
}
}
public void execute(String[] args) throws Exception {
- client = new SecurityDomainClient(parent.client);
+ client = parent.getClient();
+ securityDomainClient = new SecurityDomainClient(client);
if (args.length == 0) {
printHelp();
diff --git a/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainGetInstallTokenCLI.java b/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainGetInstallTokenCLI.java
index 2d21f733d..f05535c94 100644
--- a/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainGetInstallTokenCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainGetInstallTokenCLI.java
@@ -32,15 +32,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class SecurityDomainGetInstallTokenCLI extends CLI {
- public SecurityDomainCLI parent;
+ public SecurityDomainCLI securityDomainCLI;
- public SecurityDomainGetInstallTokenCLI(SecurityDomainCLI parent) {
- super("get-install-token", "Get install token");
- this.parent = parent;
+ public SecurityDomainGetInstallTokenCLI(SecurityDomainCLI securityDomainCLI) {
+ super("get-install-token", "Get install token", securityDomainCLI);
+ this.securityDomainCLI = securityDomainCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -79,7 +79,7 @@ public class SecurityDomainGetInstallTokenCLI extends CLI {
String subsystem = cmd.getOptionValue("subsystem");
- InstallToken token = parent.client.getInstallToken(hostname, subsystem);
+ InstallToken token = securityDomainCLI.securityDomainClient.getInstallToken(hostname, subsystem);
MainCLI.printMessage("Install token: \"" + token.getToken() + "\"");
}
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 14664dbcf..c0efa9f83 100644
--- a/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainShowCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/system/SecurityDomainShowCLI.java
@@ -28,15 +28,15 @@ import com.netscape.cmstools.cli.CLI;
*/
public class SecurityDomainShowCLI extends CLI {
- public SecurityDomainCLI parent;
+ public SecurityDomainCLI securityDomainCLI;
- public SecurityDomainShowCLI(SecurityDomainCLI parent) {
- super("show", "Show domain info");
- this.parent = parent;
+ public SecurityDomainShowCLI(SecurityDomainCLI securityDomainCLI) {
+ super("show", "Show domain info", securityDomainCLI);
+ this.securityDomainCLI = securityDomainCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name, options);
+ formatter.printHelp(getFullName(), options);
}
public void execute(String[] args) throws Exception {
@@ -59,7 +59,7 @@ public class SecurityDomainShowCLI extends CLI {
System.exit(1);
}
- DomainInfo domain = parent.client.getDomainInfo();
+ DomainInfo domain = securityDomainCLI.securityDomainClient.getDomainInfo();
SecurityDomainCLI.printSecurityDomain(domain);
}
diff --git a/base/java-tools/src/com/netscape/cmstools/token/TokenCLI.java b/base/java-tools/src/com/netscape/cmstools/token/TokenCLI.java
index 539ce7bae..4584a5ef7 100644
--- a/base/java-tools/src/com/netscape/cmstools/token/TokenCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/token/TokenCLI.java
@@ -18,25 +18,24 @@
package com.netscape.cmstools.token;
-import org.apache.commons.lang.StringUtils;
+import java.util.Arrays;
+
import org.jboss.resteasy.plugins.providers.atom.Link;
import com.netscape.certsrv.token.TokenClient;
import com.netscape.certsrv.token.TokenData;
import com.netscape.cmstools.cli.CLI;
-import com.netscape.cmstools.cli.TPSCLI;
+import com.netscape.cmstools.cli.SubsystemCLI;
/**
* @author Endi S. Dewata
*/
public class TokenCLI extends CLI {
- public TPSCLI tpsCLI;
public TokenClient tokenClient;
- public TokenCLI(TPSCLI tpsCLI) {
- super("token", "Token management commands", tpsCLI);
- this.tpsCLI = tpsCLI;
+ public TokenCLI(SubsystemCLI subsystemCLI) {
+ super("token", "Token management commands", subsystemCLI);
addModule(new TokenAddCLI(this));
addModule(new TokenFindCLI(this));
@@ -45,34 +44,10 @@ public class TokenCLI extends CLI {
addModule(new TokenShowCLI(this));
}
- public String getFullName() {
- return parent.getName() + "-" + name;
- }
-
- public void printHelp() {
-
- System.out.println("Commands:");
-
- int leftPadding = 1;
- int rightPadding = 25;
-
- for (CLI module : modules.values()) {
- String label = getFullName() + "-" + module.getName();
-
- int padding = rightPadding - leftPadding - label.length();
- if (padding < 1)
- padding = 1;
-
- System.out.print(StringUtils.repeat(" ", leftPadding));
- System.out.print(label);
- System.out.print(StringUtils.repeat(" ", padding));
- System.out.println(module.getDescription());
- }
- }
-
public void execute(String[] args) throws Exception {
- tokenClient = new TokenClient(tpsCLI.mainCLI.client);
+ client = parent.getClient();
+ tokenClient = (TokenClient)parent.getClient("token");
if (args.length == 0) {
printHelp();
@@ -80,42 +55,22 @@ public class TokenCLI extends CLI {
}
String command = args[0];
- String moduleName;
- String moduleCommand;
-
- // If a command contains a '-' sign it will be
- // split into module name and module command.
- // Otherwise it's a single command.
- int i = command.indexOf('-');
- if (i >= 0) { // <module name>-<module command>
- moduleName = command.substring(0, i);
- moduleCommand = command.substring(i+1);
-
- } else { // <command>
- moduleName = command;
- moduleCommand = null;
- }
+ String[] commandArgs = Arrays.copyOfRange(args, 1, args.length);
- // get command module
- if (verbose) System.out.println("Module: " + moduleName);
- CLI module = getModule(moduleName);
- if (module == null) {
- throw new Error("Invalid module \"" + moduleName + "\".");
+ if (command == null) {
+ printHelp();
+ System.exit(1);
}
- // prepare module arguments
- String[] moduleArgs;
- if (moduleCommand != null) {
- moduleArgs = new String[args.length];
- moduleArgs[0] = moduleCommand;
- System.arraycopy(args, 1, moduleArgs, 1, args.length-1);
+ CLI module = getModule(command);
+ if (module != null) {
+ module.execute(commandArgs);
} else {
- moduleArgs = new String[args.length-1];
- System.arraycopy(args, 1, moduleArgs, 0, args.length-1);
+ System.err.println("Error: Invalid command \"" + command + "\"");
+ printHelp();
+ System.exit(1);
}
-
- module.execute(moduleArgs);
}
public static void printToken(TokenData token) {
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserAddCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserAddCLI.java
index 3db8fe533..33a6786e7 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserAddCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserAddCLI.java
@@ -30,15 +30,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class UserAddCLI extends CLI {
- public UserCLI parent;
+ public UserCLI userCLI;
- public UserAddCLI(UserCLI parent) {
- super("add", "Add user");
- this.parent = parent;
+ public UserAddCLI(UserCLI userCLI) {
+ super("add", "Add user", userCLI);
+ this.userCLI = userCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <User ID> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <User ID> [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -97,7 +97,7 @@ public class UserAddCLI extends CLI {
userData.setType(cmd.getOptionValue("type"));
userData.setState(cmd.getOptionValue("state"));
- userData = parent.client.addUser(userData);
+ userData = userCLI.userClient.addUser(userData);
MainCLI.printMessage("Added user \"" + userId + "\"");
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserAddCertCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserAddCertCLI.java
index 7bec2ff19..e3271c022 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserAddCertCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserAddCertCLI.java
@@ -33,15 +33,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class UserAddCertCLI extends CLI {
- public UserCLI parent;
+ public UserCLI userCLI;
- public UserAddCertCLI(UserCLI parent) {
- super("add-cert", "Add user cert");
- this.parent = parent;
+ public UserAddCertCLI(UserCLI userCLI) {
+ super("add-cert", "Add user cert", userCLI);
+ this.userCLI = userCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <User ID> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <User ID> [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -88,7 +88,7 @@ public class UserAddCertCLI extends CLI {
System.out.println(userCertData);
}
- userCertData = parent.client.addUserCert(userId, userCertData);
+ userCertData = userCLI.userClient.addUserCert(userId, userCertData);
MainCLI.printMessage("Added certificate \"" + userCertData.getID() + "\"");
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserAddMembershipCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserAddMembershipCLI.java
index 224f2266d..ab8e61fe1 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserAddMembershipCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserAddMembershipCLI.java
@@ -27,15 +27,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class UserAddMembershipCLI extends CLI {
- public UserCLI parent;
+ public UserCLI userCLI;
- public UserAddMembershipCLI(UserCLI parent) {
- super("add-membership", "Add user membership");
- this.parent = parent;
+ public UserAddMembershipCLI(UserCLI userCLI) {
+ super("add-membership", "Add user membership", userCLI);
+ this.userCLI = userCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <User ID> <Group ID>", options);
+ formatter.printHelp(getFullName() + " <User ID> <Group ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -48,7 +48,7 @@ public class UserAddMembershipCLI extends CLI {
String userID = args[0];
String groupID = args[1];
- UserMembershipData userMembershipData = parent.client.addUserMembership(userID, groupID);
+ UserMembershipData userMembershipData = userCLI.userClient.addUserMembership(userID, groupID);
MainCLI.printMessage("Added membership in \""+groupID+"\"");
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserCLI.java
index b111f1558..4f6d11ac3 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserCLI.java
@@ -36,12 +36,10 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class UserCLI extends CLI {
- public MainCLI parent;
- public UserClient client;
+ public UserClient userClient;
- public UserCLI(MainCLI parent) {
- super("user", "User management commands");
- this.parent = parent;
+ public UserCLI(CLI parent) {
+ super("user", "User management commands", parent);
addModule(new UserFindCLI(this));
addModule(new UserShowCLI(this));
@@ -59,30 +57,19 @@ public class UserCLI extends CLI {
addModule(new UserRemoveMembershipCLI(this));
}
- public void printHelp() {
-
- System.out.println("Commands:");
-
- int leftPadding = 1;
- int rightPadding = 25;
-
- for (CLI module : modules.values()) {
- String label = name + "-" + module.getName();
-
- int padding = rightPadding - leftPadding - label.length();
- if (padding < 1)
- padding = 1;
-
- System.out.print(StringUtils.repeat(" ", leftPadding));
- System.out.print(label);
- System.out.print(StringUtils.repeat(" ", padding));
- System.out.println(module.getDescription());
+ public String getFullName() {
+ if (parent instanceof MainCLI) {
+ // do not include MainCLI's name
+ return name;
+ } else {
+ return parent.getFullName() + "-" + name;
}
}
public void execute(String[] args) throws Exception {
- client = new UserClient(parent.client);
+ client = parent.getClient();
+ userClient = new UserClient(client);
if (args.length == 0) {
printHelp();
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java
index 187d4596d..4b081920e 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java
@@ -33,15 +33,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class UserFindCLI extends CLI {
- public UserCLI parent;
+ public UserCLI userCLI;
- public UserFindCLI(UserCLI parent) {
- super("find", "Find users");
- this.parent = parent;
+ public UserFindCLI(UserCLI userCLI) {
+ super("find", "Find users", userCLI);
+ this.userCLI = userCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " [FILTER] [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " [FILTER] [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -74,7 +74,7 @@ public class UserFindCLI extends CLI {
s = cmd.getOptionValue("size");
Integer size = s == null ? null : Integer.valueOf(s);
- UserCollection response = parent.client.findUsers(filter, start, size);
+ UserCollection response = userCLI.userClient.findUsers(filter, start, size);
Collection<UserData> entries = response.getUsers();
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserFindCertCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserFindCertCLI.java
index 08f687933..15bc4f753 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserFindCertCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserFindCertCLI.java
@@ -33,15 +33,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class UserFindCertCLI extends CLI {
- public UserCLI parent;
+ public UserCLI userCLI;
- public UserFindCertCLI(UserCLI parent) {
- super("find-cert", "Find user certs");
- this.parent = parent;
+ public UserFindCertCLI(UserCLI userCLI) {
+ super("find-cert", "Find user certs", userCLI);
+ this.userCLI = userCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <User ID> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <User ID> [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -80,7 +80,7 @@ public class UserFindCertCLI extends CLI {
s = cmd.getOptionValue("size");
Integer size = s == null ? null : Integer.valueOf(s);
- UserCertCollection response = parent.client.findUserCerts(userID, start, size);
+ UserCertCollection response = userCLI.userClient.findUserCerts(userID, start, size);
Collection<UserCertData> entries = response.getCerts();
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserFindMembershipCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserFindMembershipCLI.java
index 494c3c323..0c41635dd 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserFindMembershipCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserFindMembershipCLI.java
@@ -33,15 +33,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class UserFindMembershipCLI extends CLI {
- public UserCLI parent;
+ public UserCLI userCLI;
- public UserFindMembershipCLI(UserCLI parent) {
- super("find-membership", "Find user memberships");
- this.parent = parent;
+ public UserFindMembershipCLI(UserCLI userCLI) {
+ super("find-membership", "Find user memberships", userCLI);
+ this.userCLI = userCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <User ID> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <User ID> [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -80,7 +80,7 @@ public class UserFindMembershipCLI extends CLI {
s = cmd.getOptionValue("size");
Integer size = s == null ? null : Integer.valueOf(s);
- UserMembershipCollection response = parent.client.findUserMemberships(userID, start, size);
+ UserMembershipCollection response = userCLI.userClient.findUserMemberships(userID, start, size);
Collection<UserMembershipData> entries = response.getMemberships();
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserModifyCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserModifyCLI.java
index 706224ef9..a09e0fcdf 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserModifyCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserModifyCLI.java
@@ -30,15 +30,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class UserModifyCLI extends CLI {
- public UserCLI parent;
+ public UserCLI userCLI;
- public UserModifyCLI(UserCLI parent) {
- super("mod", "Modify user");
- this.parent = parent;
+ public UserModifyCLI(UserCLI userCLI) {
+ super("mod", "Modify user", userCLI);
+ this.userCLI = userCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <User ID> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <User ID> [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -98,7 +98,7 @@ public class UserModifyCLI extends CLI {
// userData.setType(cmd.getOptionValue("type"));
userData.setState(cmd.getOptionValue("state"));
- userData = parent.client.modifyUser(userId, userData);
+ userData = userCLI.userClient.modifyUser(userId, userData);
MainCLI.printMessage("Modified user \"" + userId + "\"");
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCLI.java
index e7a9ad5d1..b26b4ae8a 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCLI.java
@@ -26,15 +26,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class UserRemoveCLI extends CLI {
- public UserCLI parent;
+ public UserCLI userCLI;
- public UserRemoveCLI(UserCLI parent) {
- super("del", "Remove user");
- this.parent = parent;
+ public UserRemoveCLI(UserCLI userCLI) {
+ super("del", "Remove user", userCLI);
+ this.userCLI = userCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <User ID>", options);
+ formatter.printHelp(getFullName() + " <User ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -46,7 +46,7 @@ public class UserRemoveCLI extends CLI {
String userID = args[0];
- parent.client.removeUser(userID);
+ userCLI.userClient.removeUser(userID);
MainCLI.printMessage("Deleted user \"" + userID + "\"");
}
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCertCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCertCLI.java
index 264458b7f..5758c4ccd 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCertCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserRemoveCertCLI.java
@@ -29,15 +29,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class UserRemoveCertCLI extends CLI {
- public UserCLI parent;
+ public UserCLI userCLI;
- public UserRemoveCertCLI(UserCLI parent) {
- super("remove-cert", "Remove user cert");
- this.parent = parent;
+ public UserRemoveCertCLI(UserCLI userCLI) {
+ super("remove-cert", "Remove user cert", userCLI);
+ this.userCLI = userCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <User ID> <Cert ID>", options);
+ formatter.printHelp(getFullName() + " <User ID> <Cert ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -54,7 +54,7 @@ public class UserRemoveCertCLI extends CLI {
System.out.println("Removing cert "+certID+" from user "+userID+".");
}
- parent.client.removeUserCert(userID, URLEncoder.encode(certID, "UTF-8"));
+ userCLI.userClient.removeUserCert(userID, URLEncoder.encode(certID, "UTF-8"));
MainCLI.printMessage("Deleted certificate \"" + certID + "\"");
}
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserRemoveMembershipCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserRemoveMembershipCLI.java
index 26a5a6eec..62091efb0 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserRemoveMembershipCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserRemoveMembershipCLI.java
@@ -26,15 +26,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class UserRemoveMembershipCLI extends CLI {
- public UserCLI parent;
+ public UserCLI userCLI;
- public UserRemoveMembershipCLI(UserCLI parent) {
- super("remove-membership", "Remove user membership");
- this.parent = parent;
+ public UserRemoveMembershipCLI(UserCLI userCLI) {
+ super("remove-membership", "Remove user membership", userCLI);
+ this.userCLI = userCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <User ID> <Group ID>", options);
+ formatter.printHelp(getFullName() + " <User ID> <Group ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -47,7 +47,7 @@ public class UserRemoveMembershipCLI extends CLI {
String userID = args[0];
String groupID = args[1];
- parent.client.removeUserMembership(userID, groupID);
+ userCLI.userClient.removeUserMembership(userID, groupID);
MainCLI.printMessage("Deleted membership in group \""+groupID+"\"");
}
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserShowCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserShowCLI.java
index a04cd6da2..ce0623e3b 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserShowCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserShowCLI.java
@@ -27,15 +27,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class UserShowCLI extends CLI {
- public UserCLI parent;
+ public UserCLI userCLI;
- public UserShowCLI(UserCLI parent) {
- super("show", "Show user");
- this.parent = parent;
+ public UserShowCLI(UserCLI userCLI) {
+ super("show", "Show user", userCLI);
+ this.userCLI = userCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <User ID>", options);
+ formatter.printHelp(getFullName() + " <User ID>", options);
}
public void execute(String[] args) throws Exception {
@@ -47,7 +47,7 @@ public class UserShowCLI extends CLI {
String userId = args[0];
- UserData userData = parent.client.getUser(userId);
+ UserData userData = userCLI.userClient.getUser(userId);
MainCLI.printMessage("User \"" + userId + "\"");
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserShowCertCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserShowCertCLI.java
index f30c72327..87e535f6a 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserShowCertCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserShowCertCLI.java
@@ -34,15 +34,15 @@ import com.netscape.cmstools.cli.MainCLI;
*/
public class UserShowCertCLI extends CLI {
- public UserCLI parent;
+ public UserCLI userCLI;
- public UserShowCertCLI(UserCLI parent) {
- super("show-cert", "Show user cert");
- this.parent = parent;
+ public UserShowCertCLI(UserCLI userCLI) {
+ super("show-cert", "Show user cert", userCLI);
+ this.userCLI = userCLI;
}
public void printHelp() {
- formatter.printHelp(parent.name + "-" + name + " <User ID> <Cert ID> [OPTIONS...]", options);
+ formatter.printHelp(getFullName() + " <User ID> <Cert ID> [OPTIONS...]", options);
}
public void execute(String[] args) throws Exception {
@@ -79,7 +79,7 @@ public class UserShowCertCLI extends CLI {
String certID = cmdArgs[1];
String file = cmd.getOptionValue("output");
- UserCertData userCertData = parent.client.getUserCert(userID, URLEncoder.encode(certID, "UTF-8"));
+ UserCertData userCertData = userCLI.userClient.getUserCert(userID, URLEncoder.encode(certID, "UTF-8"));
String encoded = userCertData.getEncoded();
if (encoded != null && file != null) {