summaryrefslogtreecommitdiffstats
path: root/base/java-tools/src
diff options
context:
space:
mode:
Diffstat (limited to 'base/java-tools/src')
-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) {