From 73a5016ea70a6d2bffc96d2214f2ecb5de194efb Mon Sep 17 00:00:00 2001 From: noble Date: Thu, 25 Jun 2020 16:12:54 +1000 Subject: [PATCH] Use simplified API signatures. @EndPoint annotation can be attached to a method and it's posisble to have just a single parameter for an end point --- .../solr/filestore/PackageStoreAPI.java | 19 +++++++-------- .../java/org/apache/solr/pkg/PackageAPI.java | 23 ++++++++----------- 2 files changed, 17 insertions(+), 25 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java b/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java index 523ae7ce41f..e71114e9c05 100644 --- a/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java +++ b/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java @@ -32,7 +32,6 @@ import java.util.function.Consumer; import java.util.function.Supplier; import org.apache.commons.codec.digest.DigestUtils; -import org.apache.solr.api.Command; import org.apache.solr.api.EndPoint; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.common.MapWriter; @@ -128,15 +127,14 @@ public class PackageStoreAPI { } - @EndPoint( - path = "/cluster/files/*", - method = SolrRequest.METHOD.PUT, - permission = PermissionNameProvider.Name.FILESTORE_WRITE_PERM) public class FSWrite { static final String TMP_ZK_NODE = "/packageStoreWriteInProgress"; - @Command + @EndPoint( + path = "/cluster/files/*", + method = SolrRequest.METHOD.PUT, + permission = PermissionNameProvider.Name.FILESTORE_WRITE_PERM) public void upload(SolrQueryRequest req, SolrQueryResponse rsp) { if (!coreContainer.getPackageLoader().getPackageAPI().isEnabled()) { throw new RuntimeException(PackageAPI.ERR_MSG); @@ -230,12 +228,11 @@ public class PackageStoreAPI { return new MetaData(vals); } - @EndPoint( - path = "/node/files/*", - method = SolrRequest.METHOD.GET, - permission = PermissionNameProvider.Name.FILESTORE_READ_PERM) public class FSRead { - @Command + @EndPoint( + path = "/node/files/*", + method = SolrRequest.METHOD.GET, + permission = PermissionNameProvider.Name.FILESTORE_READ_PERM) public void read(SolrQueryRequest req, SolrQueryResponse rsp) { String path = req.getPathTemplateValues().get("*"); String pathCopy = path; diff --git a/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java b/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java index cc48ee74aa7..93260be5c86 100644 --- a/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java +++ b/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java @@ -60,7 +60,6 @@ import static org.apache.solr.security.PermissionNameProvider.Name.PACKAGE_READ_ * */ public class PackageAPI { - public static final String PACKAGES = "packages"; public final boolean enablePackages = Boolean.parseBoolean(System.getProperty("enable.packages", "false")); private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); @@ -231,7 +230,7 @@ public class PackageAPI { public class Edit { @Command(name = "refresh") - public void refresh(SolrQueryRequest req, SolrQueryResponse rsp, PayloadObj payload) { + public void refresh(PayloadObj payload) { String p = payload.get(); if (p == null) { payload.addError("Package null"); @@ -249,14 +248,11 @@ public class PackageAPI { coreContainer.getZkController().zkStateReader.getBaseUrlForNodeName(s).replace("/solr", "/api") + "/cluster/package?wt=javabin&omitHeader=true&refreshPackage=" + p, Utils.JAVABINCONSUMER); } - - } - @Command(name = "add") @SuppressWarnings({"unchecked"}) - public void add(SolrQueryRequest req, SolrQueryResponse rsp, PayloadObj payload) { + public void add(PayloadObj payload) { if (!checkEnabled(payload)) return; Package.AddVersion add = payload.get(); if (add.files.isEmpty()) { @@ -307,7 +303,7 @@ public class PackageAPI { } @Command(name = "delete") - public void del(SolrQueryRequest req, SolrQueryResponse rsp, PayloadObj payload) { + public void del(PayloadObj payload) { if (!checkEnabled(payload)) return; Package.DelVersion delVersion = payload.get(); try { @@ -362,14 +358,13 @@ public class PackageAPI { return true; } - @EndPoint( - method = SolrRequest.METHOD.GET, - path = {"/cluster/package/", - "/cluster/package/{name}"}, - permission = PACKAGE_READ_PERM - ) public class Read { - @Command() + @EndPoint( + method = SolrRequest.METHOD.GET, + path = {"/cluster/package/", + "/cluster/package/{name}"}, + permission = PACKAGE_READ_PERM + ) public void get(SolrQueryRequest req, SolrQueryResponse rsp) { String refresh = req.getParams().get("refreshPackage"); if (refresh != null) {