You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by ge...@apache.org on 2022/10/11 16:00:53 UTC
[solr] branch main updated: SOLR-16392: Minor CollectionsHandler cleanup (#1065)
This is an automated email from the ASF dual-hosted git repository.
gerlowskija pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/main by this push:
new e0a72e28f60 SOLR-16392: Minor CollectionsHandler cleanup (#1065)
e0a72e28f60 is described below
commit e0a72e28f60e5d7eb60bf7532c45a101239e0048
Author: Jason Gerlowski <ge...@apache.org>
AuthorDate: Tue Oct 11 12:00:48 2022 -0400
SOLR-16392: Minor CollectionsHandler cleanup (#1065)
This commit removes the switch-case in
CollectionsHandler.handleRequestBody, in favor of just putting the case
logic in the CollectionsOperation enum where needed.
(Credit to Bruno R for the suggestion.)
---
.../solr/handler/admin/CollectionsHandler.java | 61 +++++++++++-----------
1 file changed, 30 insertions(+), 31 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
index 73ede1bbe33..6a6ec8076b1 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
@@ -54,6 +54,7 @@ import static org.apache.solr.common.params.CollectionAdminParams.PROPERTY_PREFI
import static org.apache.solr.common.params.CollectionAdminParams.PROPERTY_VALUE;
import static org.apache.solr.common.params.CollectionAdminParams.SKIP_NODE_ASSIGNMENT;
import static org.apache.solr.common.params.CollectionParams.CollectionAction.ADDREPLICA;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.ADDREPLICAPROP;
import static org.apache.solr.common.params.CollectionParams.CollectionAction.ADDROLE;
import static org.apache.solr.common.params.CollectionParams.CollectionAction.ALIASPROP;
import static org.apache.solr.common.params.CollectionParams.CollectionAction.BACKUP;
@@ -319,37 +320,9 @@ public class CollectionsHandler extends RequestHandlerBase implements Permission
"Invoked Collection Action: {} with params {}", action.toLower(), req.getParamString());
}
- switch (action) {
- case ADDREPLICAPROP:
- // Convert query-params to v2 acceptable format
- final RequiredSolrParams requiredParams = req.getParams().required();
- final AddReplicaPropertyAPI.AddReplicaPropertyRequestBody requestBody =
- new AddReplicaPropertyAPI.AddReplicaPropertyRequestBody();
- requestBody.value = requiredParams.get(PROPERTY_VALUE_PROP);
- requestBody.shardUnique = req.getParams().getBool(SHARD_UNIQUE);
- final String propName = requiredParams.get(PROPERTY_PROP);
- final String trimmedPropName =
- propName.startsWith(PROPERTY_PREFIX)
- ? propName.substring(PROPERTY_PREFIX.length())
- : propName;
-
- final AddReplicaPropertyAPI addReplicaPropertyAPI =
- new AddReplicaPropertyAPI(coreContainer, req, rsp);
- final SolrJerseyResponse addReplicaPropResponse =
- addReplicaPropertyAPI.addReplicaProperty(
- requiredParams.get(COLLECTION_PROP),
- requiredParams.get(SHARD_ID_PROP),
- requiredParams.get(REPLICA_PROP),
- trimmedPropName,
- requestBody);
- V2ApiUtils.squashIntoSolrResponseWithoutHeader(rsp, addReplicaPropResponse);
- break;
- default:
- CollectionOperation operation = CollectionOperation.get(action);
- invokeAction(req, rsp, cores, action, operation);
- rsp.setHttpCaching(false);
- break;
- }
+ CollectionOperation operation = CollectionOperation.get(action);
+ invokeAction(req, rsp, cores, action, operation);
+ rsp.setHttpCaching(false);
}
protected CoreContainer checkErrors() {
@@ -1299,6 +1272,32 @@ public class CollectionsHandler extends RequestHandlerBase implements Permission
.getClusterStatus(rsp.getValues());
return null;
}),
+ ADDREPLICAPROP_OP(
+ ADDREPLICAPROP,
+ (req, rsp, h) -> {
+ final RequiredSolrParams requiredParams = req.getParams().required();
+ final AddReplicaPropertyAPI.AddReplicaPropertyRequestBody requestBody =
+ new AddReplicaPropertyAPI.AddReplicaPropertyRequestBody();
+ requestBody.value = requiredParams.get(PROPERTY_VALUE_PROP);
+ requestBody.shardUnique = req.getParams().getBool(SHARD_UNIQUE);
+ final String propName = requiredParams.get(PROPERTY_PROP);
+ final String trimmedPropName =
+ propName.startsWith(PROPERTY_PREFIX)
+ ? propName.substring(PROPERTY_PREFIX.length())
+ : propName;
+
+ final AddReplicaPropertyAPI addReplicaPropertyAPI =
+ new AddReplicaPropertyAPI(h.coreContainer, req, rsp);
+ final SolrJerseyResponse addReplicaPropResponse =
+ addReplicaPropertyAPI.addReplicaProperty(
+ requiredParams.get(COLLECTION_PROP),
+ requiredParams.get(SHARD_ID_PROP),
+ requiredParams.get(REPLICA_PROP),
+ trimmedPropName,
+ requestBody);
+ V2ApiUtils.squashIntoSolrResponseWithoutHeader(rsp, addReplicaPropResponse);
+ return null;
+ }),
// XXX should this command support followAliases?
DELETEREPLICAPROP_OP(
DELETEREPLICAPROP,