diff options
author | Christoph Büscher <christoph@elastic.co> | 2017-07-05 09:50:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-05 09:50:10 +0200 |
commit | 3185eaece86365992e3e3ea3221b2400c22950c7 (patch) | |
tree | 0a68c8aedd0f8fb5e0ecfe43355908a7087d3b58 /core/src | |
parent | 3da3632021925741624b4144f3062a1fd4a92fa1 (diff) |
QueryBuilders should implement ToXContentObject (#25530)
All query builders written as self contained xContent objects, to we should mark
them accordingly using ToXContentObject. This also makes it possible to use
things like XContentHelper#toXContent to render query builders in tests.
Diffstat (limited to 'core/src')
4 files changed, 4 insertions, 6 deletions
diff --git a/core/src/main/java/org/elasticsearch/index/query/AbstractQueryBuilder.java b/core/src/main/java/org/elasticsearch/index/query/AbstractQueryBuilder.java index 7db9fb3bb9..109ba42d28 100644 --- a/core/src/main/java/org/elasticsearch/index/query/AbstractQueryBuilder.java +++ b/core/src/main/java/org/elasticsearch/index/query/AbstractQueryBuilder.java @@ -311,7 +311,6 @@ public abstract class AbstractQueryBuilder<QB extends AbstractQueryBuilder<QB>> } QueryBuilder result; try { - // TODO what can we pass in here result = parser.namedObject(QueryBuilder.class, queryName, null); } catch (UnknownNamedObjectException e) { // Preserve the error message from 5.0 until we have a compellingly better message so we don't break BWC. diff --git a/core/src/main/java/org/elasticsearch/index/query/QueryBuilder.java b/core/src/main/java/org/elasticsearch/index/query/QueryBuilder.java index 197af655d5..7c6b332f4a 100644 --- a/core/src/main/java/org/elasticsearch/index/query/QueryBuilder.java +++ b/core/src/main/java/org/elasticsearch/index/query/QueryBuilder.java @@ -21,11 +21,11 @@ package org.elasticsearch.index.query; import org.apache.lucene.search.Query; import org.elasticsearch.common.io.stream.NamedWriteable; -import org.elasticsearch.common.xcontent.ToXContent; +import org.elasticsearch.common.xcontent.ToXContentObject; import java.io.IOException; -public interface QueryBuilder extends NamedWriteable, ToXContent { +public interface QueryBuilder extends NamedWriteable, ToXContentObject { /** * Converts this QueryBuilder to a lucene {@link Query}. diff --git a/core/src/test/java/org/elasticsearch/index/query/ConstantScoreQueryBuilderTests.java b/core/src/test/java/org/elasticsearch/index/query/ConstantScoreQueryBuilderTests.java index d8925af70a..3e4f0caaba 100644 --- a/core/src/test/java/org/elasticsearch/index/query/ConstantScoreQueryBuilderTests.java +++ b/core/src/test/java/org/elasticsearch/index/query/ConstantScoreQueryBuilderTests.java @@ -23,7 +23,6 @@ import org.apache.lucene.search.ConstantScoreQuery; import org.apache.lucene.search.Query; import org.elasticsearch.common.ParsingException; import org.elasticsearch.common.xcontent.XContent; -import org.elasticsearch.common.xcontent.json.JsonXContent; import org.elasticsearch.search.internal.SearchContext; import org.elasticsearch.test.AbstractQueryTestCase; @@ -94,7 +93,7 @@ public class ConstantScoreQueryBuilderTests extends AbstractQueryTestCase<Consta } @Override - public void testUnknownField() throws IOException { + public void testUnknownField() { assumeTrue("test doesn't apply for query filter queries", false); } diff --git a/core/src/test/java/org/elasticsearch/index/query/WrapperQueryBuilderTests.java b/core/src/test/java/org/elasticsearch/index/query/WrapperQueryBuilderTests.java index 8299b18dca..4a5837d3f7 100644 --- a/core/src/test/java/org/elasticsearch/index/query/WrapperQueryBuilderTests.java +++ b/core/src/test/java/org/elasticsearch/index/query/WrapperQueryBuilderTests.java @@ -78,7 +78,7 @@ public class WrapperQueryBuilderTests extends AbstractQueryTestCase<WrapperQuery * anything else. */ @Override - public void testUnknownField() throws IOException { + public void testUnknownField() { String json = "{ \"" + WrapperQueryBuilder.NAME + "\" : {\"bogusField\" : \"someValue\"} }"; ParsingException e = expectThrows(ParsingException.class, () -> parseQuery(json)); assertTrue(e.getMessage().contains("bogusField")); |