From 8803f28aca4d0b4b55825d13c29772b87aa0de92 Mon Sep 17 00:00:00 2001 From: "Endi S. Dewata" Date: Thu, 15 Jun 2017 04:00:52 +0200 Subject: Added search filter for pki ca-authority-find. The pki ca-authority-find CLI has been modified to provide search filter based on the authority ID, parent ID, authority DN, and issuer DN. https://pagure.io/dogtagpki/issue/2652 Change-Id: I563a0b93eb7a00ae4771069812455ecc552f407c --- .../cmstools/authority/AuthorityFindCLI.java | 29 ++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'base/java-tools/src/com/netscape/cmstools') diff --git a/base/java-tools/src/com/netscape/cmstools/authority/AuthorityFindCLI.java b/base/java-tools/src/com/netscape/cmstools/authority/AuthorityFindCLI.java index 6cd06be9f..75f83c0d5 100644 --- a/base/java-tools/src/com/netscape/cmstools/authority/AuthorityFindCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/authority/AuthorityFindCLI.java @@ -4,6 +4,7 @@ import java.util.Arrays; import java.util.List; import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.Option; import com.netscape.certsrv.authority.AuthorityClient; import com.netscape.certsrv.authority.AuthorityData; @@ -17,12 +18,32 @@ public class AuthorityFindCLI extends CLI { public AuthorityFindCLI(AuthorityCLI authorityCLI) { super("find", "Find CAs", authorityCLI); this.authorityCLI = authorityCLI; + + createOptions(); } public void printHelp() { formatter.printHelp(getFullName(), options); } + public void createOptions() { + Option option = new Option(null, "id", true, "Authority ID"); + option.setArgName("ID"); + options.addOption(option); + + option = new Option(null, "parent-id", true, "Authority parent ID"); + option.setArgName("ID"); + options.addOption(option); + + option = new Option(null, "dn", true, "Authority DN"); + option.setArgName("DN"); + options.addOption(option); + + option = new Option(null, "issuer-dn", true, "Authority issuer DN"); + option.setArgName("DN"); + options.addOption(option); + } + public void execute(String[] args) throws Exception { // Always check for "--help" prior to parsing if (Arrays.asList(args).contains("--help")) { @@ -30,11 +51,15 @@ public class AuthorityFindCLI extends CLI { return; } - @SuppressWarnings("unused") CommandLine cmd = parser.parse(options, args); + String id = cmd.getOptionValue("id"); + String parentID = cmd.getOptionValue("parent-id"); + String dn = cmd.getOptionValue("dn"); + String issuerDN = cmd.getOptionValue("issuer-dn"); + AuthorityClient authorityClient = authorityCLI.getAuthorityClient(); - List datas = authorityClient.listCAs(); + List datas = authorityClient.findCAs(id, parentID, dn, issuerDN); MainCLI.printMessage(datas.size() + " entries matched"); if (datas.size() == 0) return; -- cgit