summaryrefslogtreecommitdiff
path: root/core/src/test/java/org/elasticsearch
diff options
context:
space:
mode:
authorNik Everett <nik9000@gmail.com>2016-07-11 21:16:52 -0400
committerNik Everett <nik9000@gmail.com>2016-07-20 12:33:51 -0400
commit3a82c613e43ebfaa010e5cf5e79cc54cee2d9468 (patch)
tree27a3595109e0c6e21c6cd04f69a3dcb8effd3894 /core/src/test/java/org/elasticsearch
parent2cf94d2d8a420813619fd1aeb6f5744f8c094b05 (diff)
Migrate query registration from push to pull
Remove `ParseField` constants used for names where there are no deprecated names and just use the `String` version of the registration method instead. This is step 2 in cleaning up the plugin interface for extending search time actions. Aggregations are next. This is breaking for plugins because those that register a new query should now implement `SearchPlugin` rather than `onModule(SearchModule)`.
Diffstat (limited to 'core/src/test/java/org/elasticsearch')
-rw-r--r--core/src/test/java/org/elasticsearch/action/search/MultiSearchRequestTests.java2
-rw-r--r--core/src/test/java/org/elasticsearch/index/query/plugin/DummyQueryBuilder.java4
-rw-r--r--core/src/test/java/org/elasticsearch/index/query/plugin/DummyQueryParserPlugin.java12
-rw-r--r--core/src/test/java/org/elasticsearch/search/SearchModuleTests.java19
-rw-r--r--core/src/test/java/org/elasticsearch/search/SearchServiceTests.java14
-rw-r--r--core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsSignificanceScoreIT.java4
-rw-r--r--core/src/test/java/org/elasticsearch/search/searchafter/SearchAfterBuilderTests.java2
-rw-r--r--core/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java2
8 files changed, 33 insertions, 26 deletions
diff --git a/core/src/test/java/org/elasticsearch/action/search/MultiSearchRequestTests.java b/core/src/test/java/org/elasticsearch/action/search/MultiSearchRequestTests.java
index f0f0334777..690f49171a 100644
--- a/core/src/test/java/org/elasticsearch/action/search/MultiSearchRequestTests.java
+++ b/core/src/test/java/org/elasticsearch/action/search/MultiSearchRequestTests.java
@@ -142,7 +142,7 @@ public class MultiSearchRequestTests extends ESTestCase {
private IndicesQueriesRegistry registry() {
IndicesQueriesRegistry registry = new IndicesQueriesRegistry();
QueryParser<MatchAllQueryBuilder> parser = MatchAllQueryBuilder::fromXContent;
- registry.register(parser, MatchAllQueryBuilder.QUERY_NAME_FIELD);
+ registry.register(parser, MatchAllQueryBuilder.NAME);
return registry;
}
}
diff --git a/core/src/test/java/org/elasticsearch/index/query/plugin/DummyQueryBuilder.java b/core/src/test/java/org/elasticsearch/index/query/plugin/DummyQueryBuilder.java
index 334244559c..08b9ee6474 100644
--- a/core/src/test/java/org/elasticsearch/index/query/plugin/DummyQueryBuilder.java
+++ b/core/src/test/java/org/elasticsearch/index/query/plugin/DummyQueryBuilder.java
@@ -20,7 +20,6 @@
package org.elasticsearch.index.query.plugin;
import org.apache.lucene.search.Query;
-import org.elasticsearch.common.ParseField;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.XContentBuilder;
@@ -34,8 +33,7 @@ import java.io.IOException;
import java.util.Optional;
public class DummyQueryBuilder extends AbstractQueryBuilder<DummyQueryBuilder> {
- private static final String NAME = "dummy";
- static final ParseField QUERY_NAME_FIELD = new ParseField(NAME);
+ public static final String NAME = "dummy";
public DummyQueryBuilder() {
}
diff --git a/core/src/test/java/org/elasticsearch/index/query/plugin/DummyQueryParserPlugin.java b/core/src/test/java/org/elasticsearch/index/query/plugin/DummyQueryParserPlugin.java
index e61fe24d29..86c03c7273 100644
--- a/core/src/test/java/org/elasticsearch/index/query/plugin/DummyQueryParserPlugin.java
+++ b/core/src/test/java/org/elasticsearch/index/query/plugin/DummyQueryParserPlugin.java
@@ -24,14 +24,18 @@ import org.apache.lucene.search.MatchAllDocsQuery;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Weight;
import org.elasticsearch.plugins.Plugin;
-import org.elasticsearch.search.SearchModule;
+import org.elasticsearch.plugins.SearchPlugin;
import java.io.IOException;
+import java.util.List;
-public class DummyQueryParserPlugin extends Plugin {
+import static java.util.Collections.singletonList;
- public void onModule(SearchModule module) {
- module.registerQuery(DummyQueryBuilder::new, DummyQueryBuilder::fromXContent, DummyQueryBuilder.QUERY_NAME_FIELD);
+public class DummyQueryParserPlugin extends Plugin implements SearchPlugin {
+
+ @Override
+ public List<QuerySpec<?>> getQueries() {
+ return singletonList(new QuerySpec<>(DummyQueryBuilder.NAME, DummyQueryBuilder::new, DummyQueryBuilder::fromXContent));
}
public static class DummyQuery extends Query {
diff --git a/core/src/test/java/org/elasticsearch/search/SearchModuleTests.java b/core/src/test/java/org/elasticsearch/search/SearchModuleTests.java
index 282ac98251..839a42aa09 100644
--- a/core/src/test/java/org/elasticsearch/search/SearchModuleTests.java
+++ b/core/src/test/java/org/elasticsearch/search/SearchModuleTests.java
@@ -94,8 +94,8 @@ public class SearchModuleTests extends ModuleTestCase {
SearchPlugin registersDupeSignificanceHeuristic = new SearchPlugin() {
@Override
- public List<SearchPluginSpec<SignificanceHeuristic, SignificanceHeuristicParser>> getSignificanceHeuristics() {
- return singletonList(new SearchPluginSpec<>(ChiSquare.NAME, ChiSquare::new, ChiSquare.PARSER));
+ public List<SearchExtensionSpec<SignificanceHeuristic, SignificanceHeuristicParser>> getSignificanceHeuristics() {
+ return singletonList(new SearchExtensionSpec<>(ChiSquare.NAME, ChiSquare::new, ChiSquare.PARSER));
}
};
expectThrows(IllegalArgumentException.class, () -> new SearchModule(Settings.EMPTY, new NamedWriteableRegistry(), false,
@@ -103,8 +103,8 @@ public class SearchModuleTests extends ModuleTestCase {
SearchPlugin registersDupeMovAvgModel = new SearchPlugin() {
@Override
- public List<SearchPluginSpec<MovAvgModel, MovAvgModel.AbstractModelParser>> getMovingAverageModels() {
- return singletonList(new SearchPluginSpec<>(SimpleModel.NAME, SimpleModel::new, SimpleModel.PARSER));
+ public List<SearchExtensionSpec<MovAvgModel, MovAvgModel.AbstractModelParser>> getMovingAverageModels() {
+ return singletonList(new SearchExtensionSpec<>(SimpleModel.NAME, SimpleModel::new, SimpleModel.PARSER));
}
};
expectThrows(IllegalArgumentException.class, () -> new SearchModule(Settings.EMPTY, new NamedWriteableRegistry(), false,
@@ -119,10 +119,13 @@ public class SearchModuleTests extends ModuleTestCase {
expectThrows(IllegalArgumentException.class, () -> new SearchModule(Settings.EMPTY, new NamedWriteableRegistry(), false,
singletonList(registersDupeFetchSubPhase)));
- SearchModule module = new SearchModule(Settings.EMPTY, new NamedWriteableRegistry(), false, emptyList());
- IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> module
- .registerQuery(TermQueryBuilder::new, TermQueryBuilder::fromXContent, TermQueryBuilder.QUERY_NAME_FIELD));
- assertThat(e.getMessage(), containsString("] already registered for [query][term] while trying to register [org.elasticsearch."));
+ SearchPlugin registersDupeFetchQuery = new SearchPlugin() {
+ public List<SearchPlugin.QuerySpec<?>> getQueries() {
+ return singletonList(new QuerySpec<>(TermQueryBuilder.NAME, TermQueryBuilder::new, TermQueryBuilder::fromXContent));
+ }
+ };
+ expectThrows(IllegalArgumentException.class, () -> new SearchModule(Settings.EMPTY, new NamedWriteableRegistry(), false,
+ singletonList(registersDupeFetchQuery)));
}
public void testRegisterSuggester() {
diff --git a/core/src/test/java/org/elasticsearch/search/SearchServiceTests.java b/core/src/test/java/org/elasticsearch/search/SearchServiceTests.java
index 1c63ac7b62..fba71499cc 100644
--- a/core/src/test/java/org/elasticsearch/search/SearchServiceTests.java
+++ b/core/src/test/java/org/elasticsearch/search/SearchServiceTests.java
@@ -22,7 +22,6 @@ package org.elasticsearch.search;
import org.apache.lucene.search.Query;
import org.elasticsearch.action.search.SearchPhaseExecutionException;
import org.elasticsearch.action.search.SearchResponse;
-import org.elasticsearch.common.ParseField;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.XContentBuilder;
@@ -34,12 +33,15 @@ import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.index.shard.IndexShard;
import org.elasticsearch.indices.IndicesService;
import org.elasticsearch.plugins.Plugin;
+import org.elasticsearch.plugins.SearchPlugin;
import org.elasticsearch.test.ESSingleNodeTestCase;
import java.io.IOException;
import java.util.Collection;
+import java.util.List;
import java.util.concurrent.ExecutionException;
+import static java.util.Collections.singletonList;
import static org.elasticsearch.action.support.WriteRequest.RefreshPolicy.IMMEDIATE;
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
import static org.hamcrest.Matchers.is;
@@ -110,12 +112,12 @@ public class SearchServiceTests extends ESSingleNodeTestCase {
assertEquals(activeRefs, indexShard.store().refCount());
}
- public static class FailOnRewriteQueryPlugin extends Plugin {
-
- public void onModule(SearchModule module) {
- module.registerQuery(FailOnRewriteQueryBuilder::new, parseContext -> {
+ public static class FailOnRewriteQueryPlugin extends Plugin implements SearchPlugin {
+ @Override
+ public List<QuerySpec<?>> getQueries() {
+ return singletonList(new QuerySpec<>("fail_on_rewrite_query", FailOnRewriteQueryBuilder::new, parseContext -> {
throw new UnsupportedOperationException("No query parser for this plugin");
- }, new ParseField("fail_on_rewrite_query"));
+ }));
}
}
diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsSignificanceScoreIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsSignificanceScoreIT.java
index 64a5b33659..1027a1097a 100644
--- a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsSignificanceScoreIT.java
+++ b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsSignificanceScoreIT.java
@@ -169,8 +169,8 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
public static class CustomSignificanceHeuristicPlugin extends Plugin implements ScriptPlugin, SearchPlugin {
@Override
- public List<SearchPluginSpec<SignificanceHeuristic, SignificanceHeuristicParser>> getSignificanceHeuristics() {
- return singletonList(new SearchPluginSpec<SignificanceHeuristic, SignificanceHeuristicParser>(SimpleHeuristic.NAME,
+ public List<SearchExtensionSpec<SignificanceHeuristic, SignificanceHeuristicParser>> getSignificanceHeuristics() {
+ return singletonList(new SearchExtensionSpec<SignificanceHeuristic, SignificanceHeuristicParser>(SimpleHeuristic.NAME,
SimpleHeuristic::new, SimpleHeuristic::parse));
}
diff --git a/core/src/test/java/org/elasticsearch/search/searchafter/SearchAfterBuilderTests.java b/core/src/test/java/org/elasticsearch/search/searchafter/SearchAfterBuilderTests.java
index 88af1ddf2b..89881a9000 100644
--- a/core/src/test/java/org/elasticsearch/search/searchafter/SearchAfterBuilderTests.java
+++ b/core/src/test/java/org/elasticsearch/search/searchafter/SearchAfterBuilderTests.java
@@ -56,7 +56,7 @@ public class SearchAfterBuilderTests extends ESTestCase {
namedWriteableRegistry = new NamedWriteableRegistry();
indicesQueriesRegistry = new IndicesQueriesRegistry();
QueryParser<MatchAllQueryBuilder> parser = MatchAllQueryBuilder::fromXContent;
- indicesQueriesRegistry.register(parser, MatchAllQueryBuilder.QUERY_NAME_FIELD);
+ indicesQueriesRegistry.register(parser, MatchAllQueryBuilder.NAME);
}
@AfterClass
diff --git a/core/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java b/core/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java
index 668351c6db..fd83fe3add 100644
--- a/core/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java
+++ b/core/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java
@@ -79,7 +79,7 @@ public class SliceBuilderTests extends ESTestCase {
namedWriteableRegistry = new NamedWriteableRegistry();
indicesQueriesRegistry = new IndicesQueriesRegistry();
QueryParser<MatchAllQueryBuilder> parser = MatchAllQueryBuilder::fromXContent;
- indicesQueriesRegistry.register(parser, MatchAllQueryBuilder.QUERY_NAME_FIELD);
+ indicesQueriesRegistry.register(parser, MatchAllQueryBuilder.NAME);
}
@AfterClass