You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by tf...@apache.org on 2017/05/12 23:39:08 UTC
[41/58] [abbrv] lucene-solr:jira/solr-10233: SOLR-10647: Move the V1
<-> V2 API mapping to SolrJ
SOLR-10647: Move the V1 <-> V2 API mapping to SolrJ
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/ccec2b95
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/ccec2b95
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/ccec2b95
Branch: refs/heads/jira/solr-10233
Commit: ccec2b95eee1bc5c5147383f43b273fb74192505
Parents: 0184d6b
Author: Noble Paul <no...@apache.org>
Authored: Thu May 11 19:19:20 2017 +0930
Committer: Noble Paul <no...@apache.org>
Committed: Thu May 11 19:19:20 2017 +0930
----------------------------------------------------------------------
.../handler/admin/BaseHandlerApiSupport.java | 30 +---
.../handler/admin/CollectionHandlerApi.java | 113 +++++++--------
.../handler/admin/ConfigSetsHandlerApi.java | 66 ++++-----
.../solr/handler/admin/CoreAdminHandlerApi.java | 108 ++++++---------
.../solrj/request/CollectionApiMapping.java | 138 ++++++++++++-------
.../client/solrj/request/CoreApiMapping.java | 43 +++---
6 files changed, 236 insertions(+), 262 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccec2b95/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java b/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java
index 6e2ec36..083ec33 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java
@@ -31,7 +31,7 @@ import org.apache.solr.api.Api;
import org.apache.solr.api.ApiBag;
import org.apache.solr.api.ApiSupport;
import org.apache.solr.client.solrj.SolrRequest;
-import org.apache.solr.client.solrj.request.CollectionApiMapping;
+import org.apache.solr.client.solrj.request.CollectionApiMapping.CommandMeta;
import org.apache.solr.client.solrj.request.CollectionApiMapping.V2EndPoint;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.SolrParams;
@@ -182,35 +182,13 @@ public abstract class BaseHandlerApiSupport implements ApiSupport {
}
+ protected abstract Collection<ApiCommand> getCommands();
- public static Collection<String> getParamNames(CommandOperation op, ApiCommand command) {
- List<String> result = new ArrayList<>();
- Object o = op.getCommandData();
- if (o instanceof Map) {
- Map map = (Map) o;
- collectKeyNames(map, result, "");
- }
- return result;
-
- }
-
- public static void collectKeyNames(Map<String, Object> map, List<String> result, String prefix) {
- for (Map.Entry<String, Object> e : map.entrySet()) {
- if (e.getValue() instanceof Map) {
- collectKeyNames((Map) e.getValue(), result, prefix + e.getKey() + ".");
- } else {
- result.add(prefix + e.getKey());
- }
- }
- }
-
- protected abstract List<ApiCommand> getCommands();
-
- protected abstract List<V2EndPoint> getEndPoints();
+ protected abstract Collection<V2EndPoint> getEndPoints();
public interface ApiCommand {
- CollectionApiMapping.CommandMeta meta();
+ CommandMeta meta();
void invoke(SolrQueryRequest req, SolrQueryResponse rsp, BaseHandlerApiSupport apiHandler) throws Exception;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccec2b95/solr/core/src/java/org/apache/solr/handler/admin/CollectionHandlerApi.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionHandlerApi.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionHandlerApi.java
index 8513e090..b2da158 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionHandlerApi.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionHandlerApi.java
@@ -18,27 +18,70 @@
package org.apache.solr.handler.admin;
import java.util.Arrays;
+import java.util.Collection;
+import java.util.EnumMap;
import java.util.List;
+import java.util.Map;
import org.apache.solr.client.solrj.request.CollectionApiMapping;
+import org.apache.solr.client.solrj.request.CollectionApiMapping.CommandMeta;
import org.apache.solr.client.solrj.request.CollectionApiMapping.Meta;
import org.apache.solr.client.solrj.request.CollectionApiMapping.V2EndPoint;
import org.apache.solr.handler.admin.CollectionsHandler.CollectionOperation;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
-import static org.apache.solr.handler.admin.CollectionsHandler.CollectionOperation.*;
-
public class CollectionHandlerApi extends BaseHandlerApiSupport {
final CollectionsHandler handler;
+ static Collection<ApiCommand> apiCommands = createCollMapping();
+
+ private static Collection<ApiCommand> createCollMapping() {
+ Map<Meta, ApiCommand> result = new EnumMap<>(Meta.class);
+
+ for (Meta meta : Meta.values()) {
+ for (CollectionOperation op : CollectionOperation.values()) {
+ if (op.action == meta.action) {
+ result.put(meta, new ApiCommand() {
+ @Override
+ public CommandMeta meta() {
+ return meta;
+ }
+
+ @Override
+ public void invoke(SolrQueryRequest req, SolrQueryResponse rsp, BaseHandlerApiSupport apiHandler) throws Exception {
+ ((CollectionHandlerApi) apiHandler).handler.invokeAction(req, rsp, ((CollectionHandlerApi) apiHandler).handler.coreContainer, op.action, op);
+ }
+ });
+ }
+ }
+ }
+ result.put(Meta.GET_NODES, new ApiCommand() {
+ @Override
+ public CommandMeta meta() {
+ return Meta.GET_NODES;
+ }
+
+ @Override
+ public void invoke(SolrQueryRequest req, SolrQueryResponse rsp, BaseHandlerApiSupport apiHandler) throws Exception {
+ rsp.add("nodes", ((CollectionHandlerApi) apiHandler).handler.coreContainer.getZkController().getClusterState().getLiveNodes());
+ }
+ });
+ for (Meta meta : Meta.values()) {
+ if(result.get(meta) == null){
+ throw new RuntimeException("No implementation for "+ meta.name());
+ }
+ }
+
+ return result.values();
+ }
public CollectionHandlerApi(CollectionsHandler handler) {
this.handler = handler;
}
@Override
- protected List<ApiCommand> getCommands() {
- return Arrays.asList(Cmd.values());
+ protected Collection<ApiCommand> getCommands() {
+ return apiCommands;
}
@Override
@@ -46,66 +89,4 @@ public class CollectionHandlerApi extends BaseHandlerApiSupport {
return Arrays.asList(CollectionApiMapping.EndPoint.values());
}
-
- enum Cmd implements ApiCommand {
- GET_COLLECTIONS(Meta.GET_COLLECTIONS,LIST_OP),
- GET_CLUSTER(Meta.GET_CLUSTER,LIST_OP),
- GET_CLUSTER_OVERSEER(Meta.GET_CLUSTER_OVERSEER,OVERSEERSTATUS_OP),
- GET_CLUSTER_STATUS_CMD(Meta.GET_CLUSTER_STATUS_CMD,REQUESTSTATUS_OP),
- DELETE_CLUSTER_STATUS(Meta.DELETE_CLUSTER_STATUS,DELETESTATUS_OP),
- GET_A_COLLECTION(Meta.GET_A_COLLECTION,CLUSTERSTATUS_OP),
- LIST_ALIASES(Meta.LIST_ALIASES,LISTALIASES_OP),
- CREATE_COLLECTION(Meta.CREATE_COLLECTION, CREATE_OP),
- DELETE_COLL(Meta.DELETE_COLL, DELETE_OP),
- RELOAD_COLL(Meta.RELOAD_COLL, RELOAD_OP),
- MODIFYCOLLECTION(Meta.MODIFYCOLLECTION, MODIFYCOLLECTION_OP),
- MIGRATE_DOCS(Meta.MIGRATE_DOCS,MIGRATE_OP),
- REBALANCELEADERS(Meta.REBALANCELEADERS, REBALANCELEADERS_OP),
- CREATE_ALIAS(Meta.CREATE_ALIAS, CREATEALIAS_OP),
- DELETE_ALIAS(Meta.DELETE_ALIAS, DELETEALIAS_OP),
- CREATE_SHARD(Meta.CREATE_SHARD,CREATESHARD_OP),
- SPLIT_SHARD(Meta.SPLIT_SHARD, SPLITSHARD_OP),
- DELETE_SHARD(Meta.DELETE_SHARD,DELETESHARD_OP),
- CREATE_REPLICA(Meta.CREATE_REPLICA,ADDREPLICA_OP),
- DELETE_REPLICA(Meta.DELETE_REPLICA,DELETEREPLICA_OP),
- SYNC_SHARD(Meta.SYNC_SHARD, SYNCSHARD_OP),
- ADDREPLICAPROP(Meta.ADDREPLICAPROP, ADDREPLICAPROP_OP),
- DELETEREPLICAPROP(Meta.DELETEREPLICAPROP, DELETEREPLICAPROP_OP),
- ADDROLE(Meta.ADDROLE, ADDROLE_OP),
- REMOVEROLE(Meta.REMOVEROLE, REMOVEROLE_OP),
- CLUSTERPROP(Meta.CLUSTERPROP,CLUSTERPROP_OP),
- BACKUP(Meta.BACKUP, BACKUP_OP),
- RESTORE(Meta.RESTORE, RESTORE_OP),
- GET_NODES(Meta.GET_NODES, null) {
- @Override
- public void invoke(SolrQueryRequest req, SolrQueryResponse rsp, BaseHandlerApiSupport apiHandler) throws Exception {
- rsp.add("nodes", ((CollectionHandlerApi) apiHandler).handler.coreContainer.getZkController().getClusterState().getLiveNodes());
- }
- },
- FORCELEADER(Meta.FORCELEADER,FORCELEADER_OP),
- SYNCSHARD(Meta.SYNCSHARD,SYNCSHARD_OP),
- BALANCESHARDUNIQUE(Meta.BALANCESHARDUNIQUE,BALANCESHARDUNIQUE_OP)
-
- ;
-
- public final CollectionApiMapping.CommandMeta meta;
-
- public final CollectionOperation target;
-
- Cmd(CollectionApiMapping.CommandMeta meta, CollectionOperation target) {
- this.meta = meta;
- this.target = target;
- }
-
- @Override
- public CollectionApiMapping.CommandMeta meta() {
- return meta;
- }
-
- public void invoke(SolrQueryRequest req, SolrQueryResponse rsp, BaseHandlerApiSupport apiHandler)
- throws Exception {
- ((CollectionHandlerApi) apiHandler).handler.invokeAction(req, rsp, ((CollectionHandlerApi) apiHandler).handler.coreContainer, target.action, target);
- }
- }
-
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccec2b95/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandlerApi.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandlerApi.java b/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandlerApi.java
index db396d3..a4138a2 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandlerApi.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/ConfigSetsHandlerApi.java
@@ -18,7 +18,10 @@
package org.apache.solr.handler.admin;
import java.util.Arrays;
+import java.util.Collection;
+import java.util.EnumMap;
import java.util.List;
+import java.util.Map;
import org.apache.solr.client.solrj.request.CollectionApiMapping;
import org.apache.solr.client.solrj.request.CollectionApiMapping.ConfigSetMeta;
@@ -26,13 +29,39 @@ import org.apache.solr.handler.admin.ConfigSetsHandler.ConfigSetOperation;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
-import static org.apache.solr.handler.admin.ConfigSetsHandler.ConfigSetOperation.CREATE_OP;
-import static org.apache.solr.handler.admin.ConfigSetsHandler.ConfigSetOperation.DELETE_OP;
-import static org.apache.solr.handler.admin.ConfigSetsHandler.ConfigSetOperation.LIST_OP;
-
public class ConfigSetsHandlerApi extends BaseHandlerApiSupport {
final ConfigSetsHandler configSetHandler;
+ static Collection<ApiCommand> apiCommands = createMapping();
+
+ private static Collection<ApiCommand> createMapping() {
+ Map<ConfigSetMeta, ApiCommand> result = new EnumMap<>(ConfigSetMeta.class);
+
+ for (ConfigSetMeta meta : ConfigSetMeta.values())
+ for (ConfigSetOperation op : ConfigSetOperation.values()) {
+ if (op.action == meta.action) {
+ result.put(meta, new ApiCommand() {
+ @Override
+ public CollectionApiMapping.CommandMeta meta() {
+ return meta;
+ }
+
+ @Override
+ public void invoke(SolrQueryRequest req, SolrQueryResponse rsp, BaseHandlerApiSupport apiHandler) throws Exception {
+ ((ConfigSetsHandlerApi) apiHandler).configSetHandler.invokeAction(req, rsp, op.action);
+ }
+ });
+ }
+ }
+
+ for (ConfigSetMeta meta : ConfigSetMeta.values()) {
+ if(result.get(meta) == null){
+ throw new RuntimeException("No implementation for "+ meta.name());
+ }
+ }
+
+ return result.values();
+ }
public ConfigSetsHandlerApi(ConfigSetsHandler configSetHandler) {
this.configSetHandler = configSetHandler;
@@ -40,8 +69,8 @@ public class ConfigSetsHandlerApi extends BaseHandlerApiSupport {
@Override
- protected List<ApiCommand> getCommands() {
- return Arrays.asList(Cmd.values());
+ protected Collection<ApiCommand> getCommands() {
+ return apiCommands;
}
@Override
@@ -49,29 +78,4 @@ public class ConfigSetsHandlerApi extends BaseHandlerApiSupport {
return Arrays.asList(CollectionApiMapping.ConfigSetEndPoint.values());
}
- enum Cmd implements ApiCommand {
- LIST(ConfigSetMeta.LIST, LIST_OP),
- CREATE(ConfigSetMeta.CREATE, CREATE_OP),
- DEL(ConfigSetMeta.DEL,DELETE_OP);
-
- public ConfigSetMeta meta;
-
- private final ConfigSetOperation op;
-
- Cmd(ConfigSetMeta meta, ConfigSetOperation op) {
- this.meta = meta;
- this.op = op;
- }
-
- @Override
- public CollectionApiMapping.CommandMeta meta() {
- return meta;
- }
-
- @Override
- public void invoke(SolrQueryRequest req, SolrQueryResponse rsp, BaseHandlerApiSupport apiHandler) throws Exception {
- ((ConfigSetsHandlerApi) apiHandler).configSetHandler.invokeAction(req, rsp, op.action);
- }
-
- }
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccec2b95/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandlerApi.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandlerApi.java b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandlerApi.java
index e9d8474..cb2623d 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandlerApi.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandlerApi.java
@@ -18,94 +18,66 @@
package org.apache.solr.handler.admin;
import java.util.Arrays;
-import java.util.List;
+import java.util.Collection;
+import java.util.EnumMap;
+import java.util.Map;
-import org.apache.solr.client.solrj.request.CollectionApiMapping;
+import org.apache.solr.client.solrj.request.CollectionApiMapping.CommandMeta;
import org.apache.solr.client.solrj.request.CollectionApiMapping.V2EndPoint;
import org.apache.solr.client.solrj.request.CoreApiMapping;
-import org.apache.solr.client.solrj.request.CoreApiMapping.Meta;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
-import static org.apache.solr.handler.admin.CoreAdminOperation.CREATE_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.FORCEPREPAREFORLEADERSHIP_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.INVOKE_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.MERGEINDEXES_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.OVERSEEROP_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.PREPRECOVERY_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.REJOINLEADERELECTION_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.RELOAD_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.RENAME_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.REQUESTAPPLYUPDATES_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.REQUESTBUFFERUPDATES_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.REQUESTRECOVERY_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.REQUESTSTATUS_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.REQUESTSYNCSHARD_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.SPLIT_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.STATUS_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.SWAP_OP;
-import static org.apache.solr.handler.admin.CoreAdminOperation.UNLOAD_OP;
-
public class CoreAdminHandlerApi extends BaseHandlerApiSupport {
private final CoreAdminHandler handler;
-
- public CoreAdminHandlerApi(CoreAdminHandler handler) {
- this.handler = handler;
- }
-
- enum Cmd implements ApiCommand {
- CREATE(Meta.CREATE, CREATE_OP),
- UNLOAD(Meta.UNLOAD, UNLOAD_OP),
- RELOAD(Meta.RELOAD, RELOAD_OP),
- STATUS(Meta.STATUS, STATUS_OP),
- SWAP(Meta.SWAP, SWAP_OP),
- RENAME(Meta.RENAME, RENAME_OP),
- MERGEINDEXES(Meta.MERGEINDEXES, MERGEINDEXES_OP),
- SPLIT(Meta.SPLIT, SPLIT_OP),
- PREPRECOVERY(Meta.PREPRECOVERY, PREPRECOVERY_OP),
- REQUESTRECOVERY(Meta.REQUESTRECOVERY, REQUESTRECOVERY_OP),
- REQUESTSYNCSHARD(Meta.REQUESTSYNCSHARD, REQUESTSYNCSHARD_OP),
- REQUESTBUFFERUPDATES(Meta.REQUESTBUFFERUPDATES, REQUESTBUFFERUPDATES_OP),
- REQUESTAPPLYUPDATES(Meta.REQUESTAPPLYUPDATES, REQUESTAPPLYUPDATES_OP),
- REQUESTSTATUS(Meta.REQUESTSTATUS, REQUESTSTATUS_OP),
- OVERSEEROP(Meta.OVERSEEROP, OVERSEEROP_OP),
- REJOINLEADERELECTION(Meta.REJOINLEADERELECTION, REJOINLEADERELECTION_OP),
- INVOKE(Meta.INVOKE, INVOKE_OP),
- FORCEPREPAREFORLEADERSHIP(Meta.FORCEPREPAREFORLEADERSHIP, FORCEPREPAREFORLEADERSHIP_OP);
-
- public final Meta meta;
- public final CoreAdminOperation target;
-
-
- Cmd(Meta meta, CoreAdminOperation target) {
- this.meta = meta;
- this.target = target;
+ static Collection<ApiCommand> apiCommands = createMapping();
+
+ private static Collection<ApiCommand> createMapping() {
+ Map<CoreApiMapping.Meta, ApiCommand> result = new EnumMap<>(CoreApiMapping.Meta.class);
+
+ for (CoreApiMapping.Meta meta : CoreApiMapping.Meta.values()) {
+
+ for (CoreAdminOperation op : CoreAdminOperation.values()) {
+ if (op.action == meta.action) {
+ result.put(meta, new ApiCommand() {
+ @Override
+ public CommandMeta meta() {
+ return meta;
+ }
+
+ @Override
+ public void invoke(SolrQueryRequest req, SolrQueryResponse rsp, BaseHandlerApiSupport apiHandler) throws Exception {
+ op.execute(new CoreAdminHandler.CallInfo(((CoreAdminHandlerApi) apiHandler).handler,
+ req,
+ rsp,
+ op));
+ }
+ });
+ }
+ }
}
-
- @Override
- public CollectionApiMapping.CommandMeta meta() {
- return meta;
+ for (CoreApiMapping.Meta meta : CoreApiMapping.Meta.values()) {
+ if (result.get(meta) == null) {
+ throw new RuntimeException("No implementation for " + meta.name());
+ }
}
- @Override
- public void invoke(SolrQueryRequest req, SolrQueryResponse rsp, BaseHandlerApiSupport apiHandler) throws Exception {
- target.execute(new CoreAdminHandler.CallInfo(((CoreAdminHandlerApi) apiHandler).handler,
- req,
- rsp,
- target));
+ return result.values();
+ }
- }
+ public CoreAdminHandlerApi(CoreAdminHandler handler) {
+ this.handler = handler;
}
@Override
- protected List<ApiCommand> getCommands() {
- return Arrays.asList(Cmd.values());
+ protected Collection<ApiCommand> getCommands() {
+ return apiCommands;
}
@Override
- protected List<V2EndPoint> getEndPoints() {
+ protected Collection<V2EndPoint> getEndPoints() {
return Arrays.asList(CoreApiMapping.EndPoint.values());
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccec2b95/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java
index 9d7ec8a..e622c4b 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java
@@ -26,12 +26,31 @@ import java.util.Map;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.common.params.CollectionParams.CollectionAction;
+import org.apache.solr.common.params.ConfigSetParams.ConfigSetAction;
import org.apache.solr.common.util.CommandOperation;
import org.apache.solr.common.util.Utils;
import static org.apache.solr.client.solrj.SolrRequest.METHOD.DELETE;
import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET;
import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.ConfigSetEndPoint.CONFIG_COMMANDS;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.ConfigSetEndPoint.CONFIG_DEL;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.ConfigSetEndPoint.LIST_CONFIG;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.CLUSTER;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.CLUSTER_ALIASES;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.CLUSTER_CMD;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.CLUSTER_CMD_STATUS;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.CLUSTER_CMD_STATUS_DELETE;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.CLUSTER_NODES;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.COLLECTIONS;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.COLLECTIONS_COMMANDS;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.COLLECTION_STATE;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.PER_COLLECTION;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.PER_COLLECTION_PER_SHARD_COMMANDS;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.PER_COLLECTION_PER_SHARD_DELETE;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.PER_COLLECTION_PER_SHARD_PER_REPLICA_DELETE;
+import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.PER_COLLECTION_SHARDS_COMMANDS;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.*;
import static org.apache.solr.common.params.CommonParams.NAME;
/** stores the mapping of v1 API parameters to v2 API parameters
@@ -41,16 +60,17 @@ import static org.apache.solr.common.params.CommonParams.NAME;
public class CollectionApiMapping {
public enum Meta implements CommandMeta {
- GET_COLLECTIONS(EndPoint.COLLECTIONS, GET),
- GET_CLUSTER(EndPoint.CLUSTER, GET, "/cluster", null),
- GET_CLUSTER_OVERSEER(EndPoint.CLUSTER, GET, "/cluster/overseer", null),
- GET_CLUSTER_STATUS_CMD(EndPoint.CLUSTER_CMD_STATUS, GET ),
- DELETE_CLUSTER_STATUS(EndPoint.CLUSTER_CMD_STATUS_DELETE, DELETE),
- GET_A_COLLECTION(EndPoint.COLLECTION_STATE, GET),
- LIST_ALIASES(EndPoint.CLUSTER_ALIASES, GET),
- CREATE_COLLECTION(EndPoint.COLLECTIONS_COMMANDS,
+ GET_COLLECTIONS(COLLECTIONS, GET, LIST),
+ GET_CLUSTER(CLUSTER, GET, LIST, "/cluster", null),
+ GET_CLUSTER_OVERSEER(CLUSTER, GET, OVERSEERSTATUS, "/cluster/overseer", null),
+ GET_CLUSTER_STATUS_CMD(CLUSTER_CMD_STATUS, GET, REQUESTSTATUS),
+ DELETE_CLUSTER_STATUS(CLUSTER_CMD_STATUS_DELETE, DELETE, DELETESTATUS),
+ GET_A_COLLECTION(COLLECTION_STATE, GET, CLUSTERSTATUS),
+ LIST_ALIASES(CLUSTER_ALIASES, GET, LISTALIASES),
+ CREATE_COLLECTION(COLLECTIONS_COMMANDS,
POST,
- CollectionAction.CREATE.toLower(),
+ CREATE,
+ CREATE.toLower(),
Utils.makeMap(
"collection.configName", "config",
"createNodeSet.shuffle", "shuffleNodes",
@@ -60,37 +80,45 @@ public class CollectionApiMapping {
DELETE_COLL(EndPoint.PER_COLLECTION_DELETE,
DELETE,
+ CollectionAction.DELETE,
CollectionAction.DELETE.toLower(),
Utils.makeMap(NAME, "collection")),
- RELOAD_COLL(EndPoint.PER_COLLECTION,
+ RELOAD_COLL(PER_COLLECTION,
POST,
- CollectionAction.RELOAD.toLower(),
+ RELOAD,
+ RELOAD.toLower(),
Utils.makeMap(NAME, "collection")),
- MODIFYCOLLECTION(EndPoint.PER_COLLECTION,
+ MODIFY_COLLECTION(PER_COLLECTION,
POST,
+ MODIFYCOLLECTION,
"modify",null),
- MIGRATE_DOCS(EndPoint.PER_COLLECTION,
+ MIGRATE_DOCS(PER_COLLECTION,
POST,
+ MIGRATE,
"migrate-docs",
Utils.makeMap("split.key", "splitKey",
"target.collection", "target",
"forward.timeout", "forwardTimeout"
)),
- REBALANCELEADERS(EndPoint.PER_COLLECTION,
+ REBALANCE_LEADERS(PER_COLLECTION,
POST,
+ REBALANCELEADERS,
"rebalance-leaders", null),
- CREATE_ALIAS(EndPoint.COLLECTIONS_COMMANDS,
+ CREATE_ALIAS(COLLECTIONS_COMMANDS,
POST,
+ CREATEALIAS,
"create-alias",
null),
- DELETE_ALIAS(EndPoint.COLLECTIONS_COMMANDS,
+ DELETE_ALIAS(COLLECTIONS_COMMANDS,
POST,
+ DELETEALIAS,
"delete-alias",
null),
- CREATE_SHARD(EndPoint.PER_COLLECTION_SHARDS_COMMANDS,
+ CREATE_SHARD(PER_COLLECTION_SHARDS_COMMANDS,
POST,
+ CREATESHARD,
"create",
Utils.makeMap("createNodeSet", "nodeSet"),
Utils.makeMap("coreProperties.", "property.")) {
@@ -100,60 +128,69 @@ public class CollectionApiMapping {
}
},
- SPLIT_SHARD(EndPoint.PER_COLLECTION_SHARDS_COMMANDS,
+ SPLIT_SHARD(PER_COLLECTION_SHARDS_COMMANDS,
POST,
+ SPLITSHARD,
"split",
Utils.makeMap(
"split.key", "splitKey"),
Utils.makeMap("coreProperties.", "property.")),
- DELETE_SHARD(EndPoint.PER_COLLECTION_PER_SHARD_DELETE,
- DELETE),
+ DELETE_SHARD(PER_COLLECTION_PER_SHARD_DELETE,
+ DELETE, DELETESHARD),
- CREATE_REPLICA(EndPoint.PER_COLLECTION_SHARDS_COMMANDS,
+ CREATE_REPLICA(PER_COLLECTION_SHARDS_COMMANDS,
POST,
+ ADDREPLICA,
"add-replica",
null,
Utils.makeMap("coreProperties.", "property.")),
- DELETE_REPLICA(EndPoint.PER_COLLECTION_PER_SHARD_PER_REPLICA_DELETE,
- DELETE),
+ DELETE_REPLICA(PER_COLLECTION_PER_SHARD_PER_REPLICA_DELETE,
+ DELETE, DELETEREPLICA),
- SYNC_SHARD(EndPoint.PER_COLLECTION_PER_SHARD_COMMANDS,
+ SYNC_SHARD(PER_COLLECTION_PER_SHARD_COMMANDS,
POST,
+ CollectionAction.SYNCSHARD,
"synch-shard",
null),
- ADDREPLICAPROP(EndPoint.PER_COLLECTION,
+ ADD_REPLICA_PROPERTY(PER_COLLECTION,
POST,
+ CollectionAction.ADDREPLICAPROP,
"add-replica-property",
Utils.makeMap("property", "name", "property.value", "value")),
- DELETEREPLICAPROP(EndPoint.PER_COLLECTION,
+ DELETE_REPLICA_PROPERTY(PER_COLLECTION,
POST,
+ DELETEREPLICAPROP,
"delete-replica-property",
null),
- ADDROLE(EndPoint.CLUSTER_CMD,
+ ADD_ROLE(CLUSTER_CMD,
POST,
+ ADDROLE,
"add-role",null),
- REMOVEROLE(EndPoint.CLUSTER_CMD,
+ REMOVE_ROLE(CLUSTER_CMD,
POST,
+ REMOVEROLE,
"remove-role",null),
- CLUSTERPROP(EndPoint.CLUSTER_CMD,
+ SET_CLUSTER_PROPERTY(CLUSTER_CMD,
POST,
+ CLUSTERPROP,
"set-property",null),
- BACKUP(EndPoint.COLLECTIONS_COMMANDS,
+ BACKUP_COLLECTION(COLLECTIONS_COMMANDS,
POST,
+ BACKUP,
"backup-collection", null
),
- RESTORE(EndPoint.COLLECTIONS_COMMANDS,
+ RESTORE_COLLECTION(COLLECTIONS_COMMANDS,
POST,
+ RESTORE,
"restore-collection",
null
),
- GET_NODES(EndPoint.CLUSTER_NODES, null),
- FORCELEADER(EndPoint.PER_COLLECTION_PER_SHARD_COMMANDS,POST, "force-leader",null),
- SYNCSHARD(EndPoint.PER_COLLECTION_PER_SHARD_COMMANDS,POST, "sync-shard",null),
- BALANCESHARDUNIQUE(EndPoint.PER_COLLECTION, POST, "balance-shard-unique",null)
+ GET_NODES(CLUSTER_NODES, GET, null),
+ FORCE_LEADER(PER_COLLECTION_PER_SHARD_COMMANDS, POST, CollectionAction.FORCELEADER, "force-leader", null),
+ BALANCE_SHARD_UNIQUE(PER_COLLECTION, POST, BALANCESHARDUNIQUE,"balance-shard-unique" , null)
;
public final String commandName;
@@ -163,24 +200,26 @@ public class CollectionApiMapping {
public final Map<String, String> paramstoAttr;
//mapping of old prefix to new for instance properties.a=val can be substituted with property:{a:val}
public final Map<String, String> prefixSubstitutes;
+ public final CollectionAction action;
public SolrRequest.METHOD getMethod() {
return method;
}
- Meta(EndPoint endPoint, SolrRequest.METHOD method) {
- this(endPoint, method, null, null);
+ Meta(EndPoint endPoint, SolrRequest.METHOD method, CollectionAction action) {
+ this(endPoint, method, action, null, null);
}
- Meta(EndPoint endPoint, SolrRequest.METHOD method,
+ Meta(EndPoint endPoint, SolrRequest.METHOD method, CollectionAction action,
String commandName, Map paramstoAttr) {
- this(endPoint, method, commandName, paramstoAttr, Collections.EMPTY_MAP);
+ this(endPoint, method, action, commandName, paramstoAttr, Collections.EMPTY_MAP);
}
- Meta(EndPoint endPoint, SolrRequest.METHOD method,
+ Meta(EndPoint endPoint, SolrRequest.METHOD method, CollectionAction action,
String commandName, Map paramstoAttr, Map prefixSubstitutes) {
+ this.action = action;
this.commandName = commandName;
this.endPoint = endPoint;
this.method = method;
@@ -273,22 +312,21 @@ public class CollectionApiMapping {
}
public enum ConfigSetMeta implements CommandMeta {
- LIST(ConfigSetEndPoint.LIST_CONFIG, GET),
- CREATE(ConfigSetEndPoint.CONFIG_COMMANDS, POST, "create"),
- DEL(ConfigSetEndPoint.CONFIG_DEL, DELETE)
+ LIST(LIST_CONFIG, GET,null, ConfigSetAction.LIST),
+ CREATE(CONFIG_COMMANDS, POST, "create", ConfigSetAction.CREATE),
+ DEL(CONFIG_DEL, DELETE, null, ConfigSetAction.DELETE)
;
- private final ConfigSetEndPoint endPoint;
- private final SolrRequest.METHOD method;
- private final String cmdName;
+ public final ConfigSetEndPoint endPoint;
+ public final SolrRequest.METHOD method;
+ public final String cmdName;
+ public final ConfigSetAction action;
- ConfigSetMeta(ConfigSetEndPoint endPoint, SolrRequest.METHOD method) {
- this(endPoint, method, null);
- }
- ConfigSetMeta(ConfigSetEndPoint endPoint, SolrRequest.METHOD method, String cmdName) {
+ ConfigSetMeta(ConfigSetEndPoint endPoint, SolrRequest.METHOD method, String cmdName, ConfigSetAction action) {
this.cmdName = cmdName;
this.endPoint = endPoint;
this.method = method;
+ this.action = action;
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccec2b95/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreApiMapping.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreApiMapping.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreApiMapping.java
index c7e20f9..febd384 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreApiMapping.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreApiMapping.java
@@ -19,7 +19,6 @@ package org.apache.solr.client.solrj.request;
import java.util.Collections;
-import java.util.Locale;
import java.util.Map;
import org.apache.solr.client.solrj.SolrRequest;
@@ -41,36 +40,38 @@ import static org.apache.solr.client.solrj.request.CoreApiMapping.EndPoint.PER_C
*/
public class CoreApiMapping {
public enum Meta implements CommandMeta {
- CREATE(CORES_COMMANDS, POST, CoreAdminAction.CREATE, Utils.makeMap("config", "configSet")),
- UNLOAD(PER_CORE_COMMANDS, POST, CoreAdminAction.UNLOAD, null),
- RELOAD(PER_CORE_COMMANDS, POST, CoreAdminAction.RELOAD, null),
- STATUS(CORES_STATUS, GET, CoreAdminAction.STATUS, null),
- SWAP(PER_CORE_COMMANDS, POST, CoreAdminAction.SWAP, Utils.makeMap("other", "with")),
- RENAME(PER_CORE_COMMANDS, POST, CoreAdminAction.RENAME, null),
- MERGEINDEXES(PER_CORE_COMMANDS, POST, "merge-indexes", null),
- SPLIT(PER_CORE_COMMANDS, POST, CoreAdminAction.SPLIT, Utils.makeMap("split.key", "splitKey")),
- PREPRECOVERY(PER_CORE_COMMANDS, POST, "prep-recovery", null),
- REQUESTRECOVERY(PER_CORE_COMMANDS, POST, CoreAdminAction.REQUESTRECOVERY, null),
- REQUESTSYNCSHARD(PER_CORE_COMMANDS, POST, "request-sync-shard", null),
- REQUESTBUFFERUPDATES(PER_CORE_COMMANDS, POST, "request-buffer-updates", null),
- REQUESTAPPLYUPDATES(PER_CORE_COMMANDS, POST, "request-apply-updates", null),
- REQUESTSTATUS(PER_CORE_COMMANDS, POST, CoreAdminAction.REQUESTSTATUS, null),
- OVERSEEROP(NODEAPIS, POST, "overseer-op", null),
- REJOINLEADERELECTION(NODEAPIS, POST, "rejoin-leader-election", null),
- INVOKE(NODEINVOKE, GET, CoreAdminAction.INVOKE, null),
- FORCEPREPAREFORLEADERSHIP(PER_CORE_COMMANDS, POST, "force-prepare-for-leadership", null);
+ CREATE(CORES_COMMANDS, POST, CoreAdminAction.CREATE, "create", Utils.makeMap("config", "configSet")),
+ UNLOAD(PER_CORE_COMMANDS, POST, CoreAdminAction.UNLOAD, "unload", null),
+ RELOAD(PER_CORE_COMMANDS, POST, CoreAdminAction.RELOAD, "reload", null),
+ STATUS(CORES_STATUS, GET, CoreAdminAction.STATUS, "status", null),
+ SWAP(PER_CORE_COMMANDS, POST, CoreAdminAction.SWAP, "swap", Utils.makeMap("other", "with")),
+ RENAME(PER_CORE_COMMANDS, POST, CoreAdminAction.RENAME, "rename", null),
+ MERGEINDEXES(PER_CORE_COMMANDS, POST, CoreAdminAction.MERGEINDEXES, "merge-indexes", null),
+ SPLIT(PER_CORE_COMMANDS, POST, CoreAdminAction.SPLIT, "split", Utils.makeMap("split.key", "splitKey")),
+ PREPRECOVERY(PER_CORE_COMMANDS, POST, CoreAdminAction.PREPRECOVERY, "prep-recovery", null),
+ REQUESTRECOVERY(PER_CORE_COMMANDS, POST, CoreAdminAction.REQUESTRECOVERY, "request-recovery", null),
+ REQUESTSYNCSHARD(PER_CORE_COMMANDS, POST, CoreAdminAction.REQUESTSYNCSHARD, "request-sync-shard", null),
+ REQUESTBUFFERUPDATES(PER_CORE_COMMANDS, POST, CoreAdminAction.REQUESTBUFFERUPDATES, "request-buffer-updates", null),
+ REQUESTAPPLYUPDATES(PER_CORE_COMMANDS, POST, CoreAdminAction.REQUESTAPPLYUPDATES, "request-apply-updates", null),
+ REQUESTSTATUS(PER_CORE_COMMANDS, GET, CoreAdminAction.REQUESTSTATUS, "request-status", null),/*TODO*/
+ OVERSEEROP(NODEAPIS, POST, CoreAdminAction.OVERSEEROP, "overseer-op", null),
+ REJOINLEADERELECTION(NODEAPIS, POST, CoreAdminAction.REJOINLEADERELECTION, "rejoin-leader-election", null),
+ INVOKE(NODEINVOKE, GET, CoreAdminAction.INVOKE,"invoke", null),
+ FORCEPREPAREFORLEADERSHIP(PER_CORE_COMMANDS, POST, CoreAdminAction.FORCEPREPAREFORLEADERSHIP, "force-prepare-for-leadership", null);
public final String commandName;
public final EndPoint endPoint;
public final SolrRequest.METHOD method;
+ public final CoreAdminAction action;
public final Map<String, String> paramstoAttr;
- Meta(EndPoint endPoint, SolrRequest.METHOD method, Object commandName,
+ Meta(EndPoint endPoint, SolrRequest.METHOD method, CoreAdminAction action, String commandName,
Map paramstoAttr) {
- this.commandName = commandName.toString().toLowerCase(Locale.ROOT);
+ this.commandName = commandName;
this.endPoint = endPoint;
this.method = method;
this.paramstoAttr = paramstoAttr == null ? Collections.EMPTY_MAP : Collections.unmodifiableMap(paramstoAttr);
+ this.action = action;
}
@Override