diff --git a/core/src/main/java/org/elasticsearch/index/query/QueryBuilders.java b/core/src/main/java/org/elasticsearch/index/query/QueryBuilders.java index 08d5d2da411..75bc64b0d21 100644 --- a/core/src/main/java/org/elasticsearch/index/query/QueryBuilders.java +++ b/core/src/main/java/org/elasticsearch/index/query/QueryBuilders.java @@ -556,8 +556,8 @@ public abstract class QueryBuilders { /** * A Query builder which allows building a query thanks to a JSON string or binary data. */ - public static WrapperQueryBuilder wrapperQuery(byte[] source) { - return new WrapperQueryBuilder(source); + public static WrapperQueryBuilder wrapperQuery(byte[] source, int offset, int length) { + return new WrapperQueryBuilder(source, offset, length); } /** diff --git a/core/src/main/java/org/elasticsearch/index/query/WrapperQueryBuilder.java b/core/src/main/java/org/elasticsearch/index/query/WrapperQueryBuilder.java index a9fbc594ff4..aac8176a909 100644 --- a/core/src/main/java/org/elasticsearch/index/query/WrapperQueryBuilder.java +++ b/core/src/main/java/org/elasticsearch/index/query/WrapperQueryBuilder.java @@ -20,16 +20,11 @@ package org.elasticsearch.index.query; import com.google.common.base.Charsets; -import org.apache.lucene.search.Query; + import org.elasticsearch.common.bytes.BytesReference; -import org.elasticsearch.common.io.stream.StreamInput; -import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; import java.io.IOException; -import java.util.Arrays; /** * A Query builder which allows building a query given JSON string or binary data provided as input. This is useful when you want @@ -49,20 +44,26 @@ public class WrapperQueryBuilder extends AbstractQueryBuilder { - - @Override - protected boolean supportsBoostAndQueryName() { - return false; - } - - @Override - protected WrapperQueryBuilder doCreateTestQueryBuilder() { - QueryBuilder wrappedQuery = RandomQueryBuilder.createQuery(random()); - switch (randomInt(2)) { - case 0: - return new WrapperQueryBuilder(wrappedQuery.toString()); - case 1: - return new WrapperQueryBuilder(wrappedQuery.buildAsBytes().toBytes()); - case 2: - return new WrapperQueryBuilder(wrappedQuery.buildAsBytes()); - default: - throw new UnsupportedOperationException(); - } - } - - @Override - protected void doAssertLuceneQuery(WrapperQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException { - try (XContentParser qSourceParser = XContentFactory.xContent(queryBuilder.source()).createParser(queryBuilder.source())) { - final QueryParseContext parseContext = new QueryParseContext(context); - parseContext.reset(qSourceParser); - Query expected = parseContext.parseInnerQueryBuilder().toQuery(context); - if (expected != null) { - expected.setBoost(AbstractQueryBuilder.DEFAULT_BOOST); - } - assertThat(query, equalTo(expected)); - } - } - - @Test - public void testValidate() { - WrapperQueryBuilder wrapperQueryBuilder = new WrapperQueryBuilder((byte[]) null); - assertThat(wrapperQueryBuilder.validate().validationErrors().size(), is(1)); - - wrapperQueryBuilder = new WrapperQueryBuilder(""); - assertThat(wrapperQueryBuilder.validate().validationErrors().size(), is(1)); - } -} diff --git a/docs/reference/migration/migrate_query_refactoring.asciidoc b/docs/reference/migration/migrate_query_refactoring.asciidoc index 61b86add484..970b37508ca 100644 --- a/docs/reference/migration/migrate_query_refactoring.asciidoc +++ b/docs/reference/migration/migrate_query_refactoring.asciidoc @@ -53,12 +53,6 @@ Removed the setter `queryName(String queryName)` since this field is not support in this type of query. Use `FQueryFilterBuilder.queryName(String queryName)` instead when in need to wrap a named query as a filter. -==== WrapperQueryBuilder - -Removed `wrapperQueryBuilder(byte[] source, int offset, int length)`. Instead simply -use `wrapperQueryBuilder(byte[] source)`. Updated the static factory methods in -QueryBuilders accordingly. - ==== Operator Removed the enums called `Operator` from `MatchQueryBuilder`, `QueryStringQueryBuilder`,