summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Büscher <christoph@elastic.co>2017-07-03 17:30:40 +0200
committerGitHub <noreply@github.com>2017-07-03 17:30:40 +0200
commitf576c987ce2615f77a8de75741b0f5448229805f (patch)
tree11f9e39ce1ad847b65c8c423d99d7c46d8fd7cca
parent0e2cfc66bb8ad091d3cf5ade2833f9688af1240c (diff)
Remove QueryParseContext (#25486)
QueryParseContext is currently only used as a wrapper for an XContentParser, so this change removes it entirely and changes the appropriate APIs that use it so far to only accept a parser instead.
-rw-r--r--core/src/main/java/org/elasticsearch/common/ParsingException.java7
-rw-r--r--core/src/main/java/org/elasticsearch/index/query/AbstractQueryBuilder.java1
-rw-r--r--core/src/main/java/org/elasticsearch/index/query/IdsQueryBuilder.java2
-rw-r--r--core/src/main/java/org/elasticsearch/index/query/InnerHitBuilder.java2
-rw-r--r--core/src/main/java/org/elasticsearch/index/query/MatchAllQueryBuilder.java2
-rw-r--r--core/src/main/java/org/elasticsearch/index/query/MoreLikeThisQueryBuilder.java2
-rw-r--r--core/src/main/java/org/elasticsearch/index/query/QueryParseContext.java37
-rw-r--r--core/src/main/java/org/elasticsearch/index/query/QueryRewriteContext.java7
-rw-r--r--core/src/main/java/org/elasticsearch/index/query/TermsQueryBuilder.java2
-rw-r--r--core/src/main/java/org/elasticsearch/rest/action/search/RestMultiSearchAction.java4
-rw-r--r--core/src/main/java/org/elasticsearch/rest/action/search/RestSearchAction.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/SearchModule.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/AggregationBuilder.java9
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/Aggregator.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/AggregatorFactories.java25
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/InternalOrder.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/adjacency/AdjacencyMatrixAggregationBuilder.java48
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/adjacency/AdjacencyMatrixAggregator.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/filter/FilterAggregationBuilder.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoGridAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/global/GlobalAggregationBuilder.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/DateHistogramAggregationBuilder.java9
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/HistogramAggregationBuilder.java10
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/missing/MissingAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/NestedAggregationBuilder.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/ReverseNestedAggregationBuilder.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregationBuilder.java11
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/date/DateRangeAggregationBuilder.java11
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/GeoDistanceAggregationBuilder.java13
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/ip/IpRangeAggregationBuilder.java11
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/DiversifiedAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/SamplerAggregationBuilder.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTermsAggregationBuilder.java32
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTextAggregationBuilder.java34
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/GND.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/JLHScore.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/NXYSignificanceHeuristic.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/PercentageScore.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/ScriptHeuristic.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/SignificanceHeuristicParser.java3
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/TermsAggregationBuilder.java14
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/support/IncludeExclude.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/AvgAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/cardinality/CardinalityAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/geobounds/GeoBoundsAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/geocentroid/GeoCentroidAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/max/MaxAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/min/MinAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentileRanksAggregationBuilder.java12
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentilesAggregationBuilder.java12
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/scripted/ScriptedMetricAggregationBuilder.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/StatsAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/ExtendedStatsAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/SumAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/tophits/TopHitsAggregationBuilder.java14
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/metrics/valuecount/ValueCountAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/BucketHelpers.java9
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/PipelineAggregator.java9
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsParser.java18
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregationBuilder.java5
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/extended/ExtendedStatsBucketParser.java3
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketselector/BucketSelectorPipelineAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/cumulativesum/CumulativeSumPipelineAggregationBuilder.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/derivative/DerivativePipelineAggregationBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/movavg/MovAvgPipelineAggregationBuilder.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/pipeline/serialdiff/SerialDiffPipelineAggregationBuilder.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceParserHelper.java11
-rw-r--r--core/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java37
-rw-r--r--core/src/main/java/org/elasticsearch/search/collapse/CollapseBuilder.java7
-rw-r--r--core/src/main/java/org/elasticsearch/search/fetch/StoredFieldsContext.java4
-rw-r--r--core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/AbstractHighlighterBuilder.java7
-rw-r--r--core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightBuilder.java9
-rw-r--r--core/src/main/java/org/elasticsearch/search/rescore/QueryRescorerBuilder.java8
-rw-r--r--core/src/main/java/org/elasticsearch/search/rescore/RescoreBuilder.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/slice/SliceBuilder.java9
-rw-r--r--core/src/main/java/org/elasticsearch/search/sort/FieldSortBuilder.java5
-rw-r--r--core/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java3
-rw-r--r--core/src/main/java/org/elasticsearch/search/sort/ScoreSortBuilder.java7
-rw-r--r--core/src/main/java/org/elasticsearch/search/sort/ScriptSortBuilder.java7
-rw-r--r--core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java2
-rw-r--r--core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryContextMapping.java5
-rw-r--r--core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryQueryContext.java6
-rw-r--r--core/src/main/java/org/elasticsearch/search/suggest/completion/context/ContextMapping.java12
-rw-r--r--core/src/main/java/org/elasticsearch/search/suggest/completion/context/GeoContextMapping.java7
-rw-r--r--core/src/main/java/org/elasticsearch/search/suggest/completion/context/GeoQueryContext.java4
-rw-r--r--core/src/test/java/org/elasticsearch/index/query/AbstractQueryBuilderTests.java (renamed from core/src/test/java/org/elasticsearch/index/query/QueryParseContextTests.java)23
-rw-r--r--core/src/test/java/org/elasticsearch/index/query/RangeQueryBuilderTests.java18
-rw-r--r--core/src/test/java/org/elasticsearch/search/SearchModuleTests.java12
-rw-r--r--core/src/test/java/org/elasticsearch/search/SearchServiceTests.java3
-rw-r--r--core/src/test/java/org/elasticsearch/search/aggregations/AggregationCollectorTests.java4
-rw-r--r--core/src/test/java/org/elasticsearch/search/aggregations/AggregatorFactoriesTests.java20
-rw-r--r--core/src/test/java/org/elasticsearch/search/aggregations/BasePipelineAggregationTestCase.java4
-rw-r--r--core/src/test/java/org/elasticsearch/search/aggregations/InternalOrderTests.java4
-rw-r--r--core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsSignificanceScoreIT.java80
-rw-r--r--core/src/test/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoHashGridParserTests.java20
-rw-r--r--core/src/test/java/org/elasticsearch/search/aggregations/bucket/significant/SignificanceHeuristicTests.java9
-rw-r--r--core/src/test/java/org/elasticsearch/search/aggregations/metrics/FiltersTests.java10
-rw-r--r--core/src/test/java/org/elasticsearch/search/aggregations/metrics/TopHitsTests.java5
-rw-r--r--core/src/test/java/org/elasticsearch/search/aggregations/support/IncludeExcludeTests.java11
-rw-r--r--core/src/test/java/org/elasticsearch/search/builder/SearchSourceBuilderTests.java36
-rw-r--r--core/src/test/java/org/elasticsearch/search/collapse/CollapseBuilderTests.java4
-rw-r--r--core/src/test/java/org/elasticsearch/search/rescore/QueryRescoreBuilderTests.java37
-rw-r--r--core/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java4
-rw-r--r--core/src/test/java/org/elasticsearch/search/suggest/completion/CategoryContextMappingTests.java40
-rw-r--r--core/src/test/java/org/elasticsearch/search/suggest/completion/CategoryQueryContextTests.java6
-rw-r--r--core/src/test/java/org/elasticsearch/search/suggest/completion/GeoContextMappingTests.java15
-rw-r--r--core/src/test/java/org/elasticsearch/search/suggest/completion/GeoQueryContextTests.java6
-rw-r--r--core/src/test/java/org/elasticsearch/search/suggest/completion/QueryContextTestCase.java5
-rw-r--r--modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceParser.java4
-rw-r--r--modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/TransportSearchTemplateAction.java4
-rw-r--r--modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ChildrenAggregationBuilder.java4
-rw-r--r--modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java2
-rw-r--r--modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java14
-rw-r--r--modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestReindexAction.java3
-rw-r--r--test/framework/src/main/java/org/elasticsearch/search/aggregations/BaseAggregationTestCase.java5
-rw-r--r--test/framework/src/main/java/org/elasticsearch/test/AbstractQueryTestCase.java5
118 files changed, 484 insertions, 701 deletions
diff --git a/core/src/main/java/org/elasticsearch/common/ParsingException.java b/core/src/main/java/org/elasticsearch/common/ParsingException.java
index 5dc2c8a74e..dffea8db80 100644
--- a/core/src/main/java/org/elasticsearch/common/ParsingException.java
+++ b/core/src/main/java/org/elasticsearch/common/ParsingException.java
@@ -24,13 +24,14 @@ 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.XContentLocation;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.rest.RestStatus;
import java.io.IOException;
/**
- * Exception that can be used when parsing queries with a given {@link QueryParseContext}.
+ * Exception that can be used when parsing queries with a given {@link
+ * XContentParser}.
* Can contain information about location of the error.
*/
public class ParsingException extends ElasticsearchException {
@@ -57,7 +58,7 @@ public class ParsingException extends ElasticsearchException {
/**
* This constructor is provided for use in unit tests where a
- * {@link QueryParseContext} may not be available
+ * {@link XContentParser} may not be available
*/
public ParsingException(int line, int col, String msg, Throwable cause) {
super(msg, cause);
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 0ed05e299c..7db9fb3bb9 100644
--- a/core/src/main/java/org/elasticsearch/index/query/AbstractQueryBuilder.java
+++ b/core/src/main/java/org/elasticsearch/index/query/AbstractQueryBuilder.java
@@ -35,7 +35,6 @@ import org.elasticsearch.common.xcontent.NamedXContentRegistry.UnknownNamedObjec
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentLocation;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.common.xcontent.XContentParser.Token;
import org.elasticsearch.common.xcontent.XContentType;
import java.io.IOException;
diff --git a/core/src/main/java/org/elasticsearch/index/query/IdsQueryBuilder.java b/core/src/main/java/org/elasticsearch/index/query/IdsQueryBuilder.java
index d4511ca83a..e7a5972dc2 100644
--- a/core/src/main/java/org/elasticsearch/index/query/IdsQueryBuilder.java
+++ b/core/src/main/java/org/elasticsearch/index/query/IdsQueryBuilder.java
@@ -138,7 +138,7 @@ public class IdsQueryBuilder extends AbstractQueryBuilder<IdsQueryBuilder> {
builder.endObject();
}
- private static ObjectParser<IdsQueryBuilder, QueryParseContext> PARSER = new ObjectParser<>(NAME,
+ private static ObjectParser<IdsQueryBuilder, Void> PARSER = new ObjectParser<>(NAME,
() -> new IdsQueryBuilder());
static {
diff --git a/core/src/main/java/org/elasticsearch/index/query/InnerHitBuilder.java b/core/src/main/java/org/elasticsearch/index/query/InnerHitBuilder.java
index fb0f2850c1..85c4fc0c59 100644
--- a/core/src/main/java/org/elasticsearch/index/query/InnerHitBuilder.java
+++ b/core/src/main/java/org/elasticsearch/index/query/InnerHitBuilder.java
@@ -53,7 +53,7 @@ public final class InnerHitBuilder extends ToXContentToBytes implements Writeabl
public static final ParseField IGNORE_UNMAPPED = new ParseField("ignore_unmapped");
public static final QueryBuilder DEFAULT_INNER_HIT_QUERY = new MatchAllQueryBuilder();
- private static final ObjectParser<InnerHitBuilder, QueryParseContext> PARSER = new ObjectParser<>("inner_hits", InnerHitBuilder::new);
+ private static final ObjectParser<InnerHitBuilder, Void> PARSER = new ObjectParser<>("inner_hits", InnerHitBuilder::new);
static {
PARSER.declareString(InnerHitBuilder::setName, NAME_FIELD);
diff --git a/core/src/main/java/org/elasticsearch/index/query/MatchAllQueryBuilder.java b/core/src/main/java/org/elasticsearch/index/query/MatchAllQueryBuilder.java
index 2f50aa731f..06561c6a83 100644
--- a/core/src/main/java/org/elasticsearch/index/query/MatchAllQueryBuilder.java
+++ b/core/src/main/java/org/elasticsearch/index/query/MatchAllQueryBuilder.java
@@ -58,7 +58,7 @@ public class MatchAllQueryBuilder extends AbstractQueryBuilder<MatchAllQueryBuil
builder.endObject();
}
- private static final ObjectParser<MatchAllQueryBuilder, QueryParseContext> PARSER = new ObjectParser<>(NAME, MatchAllQueryBuilder::new);
+ private static final ObjectParser<MatchAllQueryBuilder, Void> PARSER = new ObjectParser<>(NAME, MatchAllQueryBuilder::new);
static {
declareStandardFields(PARSER);
diff --git a/core/src/main/java/org/elasticsearch/index/query/MoreLikeThisQueryBuilder.java b/core/src/main/java/org/elasticsearch/index/query/MoreLikeThisQueryBuilder.java
index a4872b1244..b0147492c1 100644
--- a/core/src/main/java/org/elasticsearch/index/query/MoreLikeThisQueryBuilder.java
+++ b/core/src/main/java/org/elasticsearch/index/query/MoreLikeThisQueryBuilder.java
@@ -1202,7 +1202,7 @@ public class MoreLikeThisQueryBuilder extends AbstractQueryBuilder<MoreLikeThisQ
}
@Override
- protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws IOException {
+ protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) {
// TODO this needs heavy cleanups before we can rewrite it
return this;
}
diff --git a/core/src/main/java/org/elasticsearch/index/query/QueryParseContext.java b/core/src/main/java/org/elasticsearch/index/query/QueryParseContext.java
deleted file mode 100644
index fb61202816..0000000000
--- a/core/src/main/java/org/elasticsearch/index/query/QueryParseContext.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to Elasticsearch under one or more contributor
- * license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright
- * ownership. Elasticsearch licenses this file to you under
- * the Apache License, Version 2.0 (the "License"); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.elasticsearch.index.query;
-
-import org.elasticsearch.common.xcontent.XContentParser;
-
-import java.util.Objects;
-
-public class QueryParseContext {
-
- private final XContentParser parser;
-
- public QueryParseContext(XContentParser parser) {
- this.parser = Objects.requireNonNull(parser, "parser cannot be null");
- }
-
- public XContentParser parser() {
- return this.parser;
- }
-}
diff --git a/core/src/main/java/org/elasticsearch/index/query/QueryRewriteContext.java b/core/src/main/java/org/elasticsearch/index/query/QueryRewriteContext.java
index 3fefb7141b..bf9474550d 100644
--- a/core/src/main/java/org/elasticsearch/index/query/QueryRewriteContext.java
+++ b/core/src/main/java/org/elasticsearch/index/query/QueryRewriteContext.java
@@ -95,13 +95,6 @@ public class QueryRewriteContext {
return xContentRegistry;
}
- /**
- * Returns a new {@link QueryParseContext} that wraps the provided parser.
- */
- public QueryParseContext newParseContext(XContentParser parser) {
- return new QueryParseContext(parser);
- }
-
public long nowInMillis() {
return nowInMillis.getAsLong();
}
diff --git a/core/src/main/java/org/elasticsearch/index/query/TermsQueryBuilder.java b/core/src/main/java/org/elasticsearch/index/query/TermsQueryBuilder.java
index 96873bb600..feebac02ad 100644
--- a/core/src/main/java/org/elasticsearch/index/query/TermsQueryBuilder.java
+++ b/core/src/main/java/org/elasticsearch/index/query/TermsQueryBuilder.java
@@ -437,7 +437,7 @@ public class TermsQueryBuilder extends AbstractQueryBuilder<TermsQueryBuilder> {
}
@Override
- protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws IOException {
+ protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) {
if (this.termsLookup != null) {
TermsLookup termsLookup = new TermsLookup(this.termsLookup);
if (termsLookup.index() == null) { // TODO this should go away?
diff --git a/core/src/main/java/org/elasticsearch/rest/action/search/RestMultiSearchAction.java b/core/src/main/java/org/elasticsearch/rest/action/search/RestMultiSearchAction.java
index 3857a4c5b4..0d9c389d0c 100644
--- a/core/src/main/java/org/elasticsearch/rest/action/search/RestMultiSearchAction.java
+++ b/core/src/main/java/org/elasticsearch/rest/action/search/RestMultiSearchAction.java
@@ -31,7 +31,6 @@ import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.xcontent.XContent;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.XContentType;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.rest.BaseRestHandler;
import org.elasticsearch.rest.RestController;
import org.elasticsearch.rest.RestRequest;
@@ -91,8 +90,7 @@ public class RestMultiSearchAction extends BaseRestHandler {
parseMultiLineRequest(restRequest, multiRequest.indicesOptions(), allowExplicitIndex, (searchRequest, parser) -> {
try {
- final QueryParseContext queryParseContext = new QueryParseContext(parser);
- searchRequest.source(SearchSourceBuilder.fromXContent(queryParseContext));
+ searchRequest.source(SearchSourceBuilder.fromXContent(parser));
multiRequest.add(searchRequest);
} catch (IOException e) {
throw new ElasticsearchParseException("Exception when parsing search request", e);
diff --git a/core/src/main/java/org/elasticsearch/rest/action/search/RestSearchAction.java b/core/src/main/java/org/elasticsearch/rest/action/search/RestSearchAction.java
index e08fd0c652..115c86dda5 100644
--- a/core/src/main/java/org/elasticsearch/rest/action/search/RestSearchAction.java
+++ b/core/src/main/java/org/elasticsearch/rest/action/search/RestSearchAction.java
@@ -26,7 +26,6 @@ import org.elasticsearch.common.Strings;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.rest.BaseRestHandler;
import org.elasticsearch.rest.RestController;
import org.elasticsearch.rest.RestRequest;
@@ -94,8 +93,7 @@ public class RestSearchAction extends BaseRestHandler {
}
searchRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
if (requestContentParser != null) {
- QueryParseContext context = new QueryParseContext(requestContentParser);
- searchRequest.source().parseXContent(context);
+ searchRequest.source().parseXContent(requestContentParser);
}
final int batchedReduceSize = request.paramAsInt("batched_reduce_size", searchRequest.getBatchedReduceSize());
diff --git a/core/src/main/java/org/elasticsearch/search/SearchModule.java b/core/src/main/java/org/elasticsearch/search/SearchModule.java
index 2a72c1904e..ff4c0bd158 100644
--- a/core/src/main/java/org/elasticsearch/search/SearchModule.java
+++ b/core/src/main/java/org/elasticsearch/search/SearchModule.java
@@ -356,7 +356,7 @@ public class SearchModule {
registerAggregation(new AggregationSpec(FiltersAggregationBuilder.NAME, FiltersAggregationBuilder::new,
FiltersAggregationBuilder::parse).addResultReader(InternalFilters::new));
registerAggregation(new AggregationSpec(AdjacencyMatrixAggregationBuilder.NAME, AdjacencyMatrixAggregationBuilder::new,
- AdjacencyMatrixAggregationBuilder.getParser()).addResultReader(InternalAdjacencyMatrix::new));
+ AdjacencyMatrixAggregationBuilder::parse).addResultReader(InternalAdjacencyMatrix::new));
registerAggregation(new AggregationSpec(SamplerAggregationBuilder.NAME, SamplerAggregationBuilder::new,
SamplerAggregationBuilder::parse)
.addResultReader(InternalSampler.NAME, InternalSampler::new)
@@ -410,7 +410,7 @@ public class SearchModule {
if (false == transportClient) {
namedXContents.add(new NamedXContentRegistry.Entry(BaseAggregationBuilder.class, spec.getName(), (p, c) -> {
AggregatorFactories.AggParseContext context = (AggregatorFactories.AggParseContext) c;
- return spec.getParser().parse(context.name, context.queryParseContext);
+ return spec.getParser().parse(context.name, p);
}));
}
namedWriteables.add(
@@ -507,7 +507,7 @@ public class SearchModule {
if (false == transportClient) {
namedXContents.add(new NamedXContentRegistry.Entry(BaseAggregationBuilder.class, spec.getName(), (p, c) -> {
AggregatorFactories.AggParseContext context = (AggregatorFactories.AggParseContext) c;
- return spec.getParser().parse(context.name, context.queryParseContext);
+ return spec.getParser().parse(context.name, p);
}));
}
namedWriteables.add(
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/AggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/AggregationBuilder.java
index 694a78f9d1..97c1a0165a 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/AggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/AggregationBuilder.java
@@ -23,7 +23,7 @@ import org.elasticsearch.action.support.ToXContentToBytes;
import org.elasticsearch.common.ParseField;
import org.elasticsearch.common.io.stream.NamedWriteable;
import org.elasticsearch.common.xcontent.ToXContent;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.internal.SearchContext;
import java.io.IOException;
@@ -84,9 +84,10 @@ public abstract class AggregationBuilder
}
/**
- * Internal: Registers sub-factories with this factory. The sub-factory will be
- * responsible for the creation of sub-aggregators under the aggregator
- * created by this factory. This is only for use by {@link AggregatorFactories#parseAggregators(QueryParseContext)}.
+ * Internal: Registers sub-factories with this factory. The sub-factory will
+ * be responsible for the creation of sub-aggregators under the aggregator
+ * created by this factory. This is only for use by
+ * {@link AggregatorFactories#parseAggregators(XContentParser)}.
*
* @param subFactories
* The sub-factories
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/Aggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/Aggregator.java
index 41a0fa6dd3..d067f84e3f 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/Aggregator.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/Aggregator.java
@@ -25,7 +25,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.io.stream.Writeable;
import org.elasticsearch.common.lease.Releasable;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.bucket.BucketsAggregator;
import org.elasticsearch.search.internal.SearchContext;
@@ -50,11 +50,11 @@ public abstract class Aggregator extends BucketCollector implements Releasable {
* aggregation should be skipped (e.g. when trying to aggregate on unmapped fields).
*
* @param aggregationName The name of the aggregation
- * @param context The parse context
+ * @param parser The parser
* @return The resolved aggregator factory or {@code null} in case the aggregation should be skipped
* @throws java.io.IOException When parsing fails
*/
- AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException;
+ AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException;
}
/**
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/AggregatorFactories.java b/core/src/main/java/org/elasticsearch/search/aggregations/AggregatorFactories.java
index 90b1c7e58c..fc62d981c8 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/AggregatorFactories.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/AggregatorFactories.java
@@ -25,7 +25,6 @@ import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.io.stream.Writeable;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
import org.elasticsearch.search.aggregations.support.AggregationPath;
import org.elasticsearch.search.aggregations.support.AggregationPath.PathElement;
@@ -50,24 +49,18 @@ public class AggregatorFactories {
public static final Pattern VALID_AGG_NAME = Pattern.compile("[^\\[\\]>]+");
/**
- * Parses the aggregation request recursively generating aggregator factories in turn.
- *
- * @param parseContext The parse context.
- *
- * @return The parsed aggregator factories.
- *
- * @throws IOException When parsing fails for unknown reasons.
+ * Parses the aggregation request recursively generating aggregator
+ * factories in turn.
*/
- public static AggregatorFactories.Builder parseAggregators(QueryParseContext parseContext) throws IOException {
- return parseAggregators(parseContext, 0);
+ public static AggregatorFactories.Builder parseAggregators(XContentParser parser) throws IOException {
+ return parseAggregators(parser, 0);
}
- private static AggregatorFactories.Builder parseAggregators(QueryParseContext parseContext, int level) throws IOException {
+ private static AggregatorFactories.Builder parseAggregators(XContentParser parser, int level) throws IOException {
Matcher validAggMatcher = VALID_AGG_NAME.matcher("");
AggregatorFactories.Builder factories = new AggregatorFactories.Builder();
XContentParser.Token token = null;
- XContentParser parser = parseContext.parser();
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
if (token != XContentParser.Token.FIELD_NAME) {
throw new ParsingException(parser.getTokenLocation(),
@@ -111,7 +104,7 @@ public class AggregatorFactories {
throw new ParsingException(parser.getTokenLocation(),
"Found two sub aggregation definitions under [" + aggregationName + "]");
}
- subFactories = parseAggregators(parseContext, level + 1);
+ subFactories = parseAggregators(parser, level + 1);
break;
default:
if (aggBuilder != null) {
@@ -120,7 +113,7 @@ public class AggregatorFactories {
}
aggBuilder = parser.namedObject(BaseAggregationBuilder.class, fieldName,
- new AggParseContext(aggregationName, parseContext));
+ new AggParseContext(aggregationName));
}
} else {
throw new ParsingException(parser.getTokenLocation(), "Expected [" + XContentParser.Token.START_OBJECT + "] under ["
@@ -156,11 +149,9 @@ public class AggregatorFactories {
*/
public static final class AggParseContext {
public final String name;
- public final QueryParseContext queryParseContext;
- public AggParseContext(String name, QueryParseContext queryParseContext) {
+ public AggParseContext(String name) {
this.name = name;
- this.queryParseContext = queryParseContext;
}
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/InternalOrder.java b/core/src/main/java/org/elasticsearch/search/aggregations/InternalOrder.java
index 31594e2804..fafcb5c37f 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/InternalOrder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/InternalOrder.java
@@ -28,7 +28,6 @@ import org.elasticsearch.common.util.Comparators;
import org.elasticsearch.common.xcontent.XContent;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.bucket.MultiBucketsAggregation.Bucket;
import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregator;
import org.elasticsearch.search.aggregations.support.AggregationPath;
@@ -527,11 +526,10 @@ public class InternalOrder extends BucketOrder {
* Parse a {@link BucketOrder} from {@link XContent}.
*
* @param parser for parsing {@link XContent} that contains the order.
- * @param context parsing context.
* @return bucket ordering strategy
* @throws IOException on error a {@link XContent} parsing error.
*/
- public static BucketOrder parseOrderParam(XContentParser parser, QueryParseContext context) throws IOException {
+ public static BucketOrder parseOrderParam(XContentParser parser) throws IOException {
XContentParser.Token token;
String orderKey = null;
boolean orderAsc = false;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/adjacency/AdjacencyMatrixAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/adjacency/AdjacencyMatrixAggregationBuilder.java
index eeb60d393e..1a9e590457 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/adjacency/AdjacencyMatrixAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/adjacency/AdjacencyMatrixAggregationBuilder.java
@@ -24,12 +24,11 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
import org.elasticsearch.search.aggregations.AggregationBuilder;
-import org.elasticsearch.search.aggregations.Aggregator;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
import org.elasticsearch.search.aggregations.bucket.adjacency.AdjacencyMatrixAggregator.KeyedFilter;
@@ -56,26 +55,23 @@ public class AdjacencyMatrixAggregationBuilder extends AbstractAggregationBuilde
private List<KeyedFilter> filters;
private String separator = DEFAULT_SEPARATOR;
- public static Aggregator.Parser getParser() {
- ObjectParser<AdjacencyMatrixAggregationBuilder, QueryParseContext> parser = new ObjectParser<>(
- AdjacencyMatrixAggregationBuilder.NAME);
- parser.declareString(AdjacencyMatrixAggregationBuilder::separator, SEPARATOR_FIELD);
- parser.declareNamedObjects(AdjacencyMatrixAggregationBuilder::setFiltersAsList, KeyedFilter.PARSER, FILTERS_FIELD);
- return new Aggregator.Parser() {
- @Override
- public AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- AdjacencyMatrixAggregationBuilder result = parser.parse(context.parser(),
- new AdjacencyMatrixAggregationBuilder(aggregationName), context);
- result.checkConsistency();
- return result;
- }
- };
+ private static final ObjectParser<AdjacencyMatrixAggregationBuilder, Void> PARSER = new ObjectParser<>(
+ AdjacencyMatrixAggregationBuilder.NAME);
+ static {
+ PARSER.declareString(AdjacencyMatrixAggregationBuilder::separator, SEPARATOR_FIELD);
+ PARSER.declareNamedObjects(AdjacencyMatrixAggregationBuilder::setFiltersAsList, KeyedFilter.PARSER, FILTERS_FIELD);
+ }
+
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ AdjacencyMatrixAggregationBuilder result = PARSER.parse(parser, new AdjacencyMatrixAggregationBuilder(aggregationName), null);
+ result.checkConsistency();
+ return result;
}
protected void checkConsistency() {
if ((filters == null) || (filters.size() == 0)) {
throw new IllegalStateException("[" + name + "] is missing : " + FILTERS_FIELD.getPreferredName() + " parameter");
- }
+ }
}
@@ -96,17 +92,17 @@ public class AdjacencyMatrixAggregationBuilder extends AbstractAggregationBuilde
// the order of the filters in the request
Collections.sort(this.filters, Comparator.comparing(KeyedFilter::key));
}
-
-
+
+
/**
* @param name
* the name of this aggregation
*/
protected AdjacencyMatrixAggregationBuilder(String name) {
super(name);
- }
-
-
+ }
+
+
/**
* @param name
* the name of this aggregation
@@ -171,8 +167,8 @@ public class AdjacencyMatrixAggregationBuilder extends AbstractAggregationBuilde
*/
public String separator() {
return separator;
- }
-
+ }
+
/**
* Get the filters. This will be an unmodifiable map
*/
@@ -182,8 +178,8 @@ public class AdjacencyMatrixAggregationBuilder extends AbstractAggregationBuilde
result.put(keyedFilter.key(), keyedFilter.filter());
}
return result;
- }
-
+ }
+
@Override
protected AggregatorFactory<?> doBuild(SearchContext context, AggregatorFactory<?> parent, Builder subFactoriesBuilder)
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/adjacency/AdjacencyMatrixAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/adjacency/AdjacencyMatrixAggregator.java
index 8e6fffbd47..35d4fe8617 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/adjacency/AdjacencyMatrixAggregator.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/adjacency/AdjacencyMatrixAggregator.java
@@ -32,7 +32,6 @@ import org.elasticsearch.common.xcontent.ToXContent;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.Aggregator;
import org.elasticsearch.search.aggregations.AggregatorFactories;
import org.elasticsearch.search.aggregations.InternalAggregation;
@@ -68,11 +67,10 @@ public class AdjacencyMatrixAggregator extends BucketsAggregator {
private final String key;
private final QueryBuilder filter;
- public static final NamedObjectParser<KeyedFilter, QueryParseContext> PARSER =
- (XContentParser p, QueryParseContext c, String name) ->
+ public static final NamedObjectParser<KeyedFilter, Void> PARSER =
+ (XContentParser p, Void c, String name) ->
new KeyedFilter(name, parseInnerQueryBuilder(p));
-
public KeyedFilter(String key, QueryBuilder filter) {
if (key == null) {
throw new IllegalArgumentException("[key] must not be null");
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/filter/FilterAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/filter/FilterAggregationBuilder.java
index d3f5696bfc..2306f4c9f4 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/filter/FilterAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/filter/FilterAggregationBuilder.java
@@ -22,8 +22,8 @@ package org.elasticsearch.search.aggregations.bucket.filter;
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.XContentParser;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -84,8 +84,8 @@ public class FilterAggregationBuilder extends AbstractAggregationBuilder<FilterA
return builder;
}
- public static FilterAggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- QueryBuilder filter = parseInnerQueryBuilder(context.parser());
+ public static FilterAggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ QueryBuilder filter = parseInnerQueryBuilder(parser);
return new FilterAggregationBuilder(aggregationName, filter);
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregationBuilder.java
index 7c1e9756a0..ad4428e11a 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregationBuilder.java
@@ -26,7 +26,6 @@ import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -202,9 +201,8 @@ public class FiltersAggregationBuilder extends AbstractAggregationBuilder<Filter
return builder;
}
- public static FiltersAggregationBuilder parse(String aggregationName, QueryParseContext context)
+ public static FiltersAggregationBuilder parse(String aggregationName, XContentParser parser)
throws IOException {
- XContentParser parser = context.parser();
List<FiltersAggregator.KeyedFilter> keyedFilters = null;
List<QueryBuilder> nonKeyedFilters = null;
@@ -238,7 +236,7 @@ public class FiltersAggregationBuilder extends AbstractAggregationBuilder<Filter
if (token == XContentParser.Token.FIELD_NAME) {
key = parser.currentName();
} else {
- QueryBuilder filter = parseInnerQueryBuilder(context.parser());
+ QueryBuilder filter = parseInnerQueryBuilder(parser);
keyedFilters.add(new FiltersAggregator.KeyedFilter(key, filter));
}
}
@@ -250,7 +248,7 @@ public class FiltersAggregationBuilder extends AbstractAggregationBuilder<Filter
if (FILTERS_FIELD.match(currentFieldName)) {
nonKeyedFilters = new ArrayList<>();
while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) {
- QueryBuilder filter = parseInnerQueryBuilder(context.parser());
+ QueryBuilder filter = parseInnerQueryBuilder(parser);
nonKeyedFilters.add(filter);
}
} else {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoGridAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoGridAggregationBuilder.java
index 1c60247446..4722c86c98 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoGridAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoGridAggregationBuilder.java
@@ -28,11 +28,11 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.fielddata.AbstractSortingNumericDocValues;
import org.elasticsearch.index.fielddata.MultiGeoPointValues;
import org.elasticsearch.index.fielddata.SortedBinaryDocValues;
import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
import org.elasticsearch.search.aggregations.bucket.BucketUtils;
@@ -53,7 +53,7 @@ public class GeoGridAggregationBuilder extends ValuesSourceAggregationBuilder<Va
public static final int DEFAULT_PRECISION = 5;
public static final int DEFAULT_MAX_NUM_CELLS = 10000;
- private static final ObjectParser<GeoGridAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<GeoGridAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(GeoGridAggregationBuilder.NAME);
ValuesSourceParserHelper.declareGeoFields(PARSER, false, false);
@@ -62,8 +62,8 @@ public class GeoGridAggregationBuilder extends ValuesSourceAggregationBuilder<Va
PARSER.declareInt(GeoGridAggregationBuilder::shardSize, GeoHashGridParams.FIELD_SHARD_SIZE);
}
- public static GeoGridAggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new GeoGridAggregationBuilder(aggregationName), context);
+ public static GeoGridAggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new GeoGridAggregationBuilder(aggregationName), null);
}
private int precision = DEFAULT_PRECISION;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/global/GlobalAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/global/GlobalAggregationBuilder.java
index 2363ed498a..07bb2bac7c 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/global/GlobalAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/global/GlobalAggregationBuilder.java
@@ -22,7 +22,7 @@ package org.elasticsearch.search.aggregations.bucket.global;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -62,8 +62,8 @@ public class GlobalAggregationBuilder extends AbstractAggregationBuilder<GlobalA
return builder;
}
- public static GlobalAggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- context.parser().nextToken();
+ public static GlobalAggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ parser.nextToken();
return new GlobalAggregationBuilder(aggregationName);
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/DateHistogramAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/DateHistogramAggregationBuilder.java
index 4bbe2c5abe..d50eab9d8c 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/DateHistogramAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/DateHistogramAggregationBuilder.java
@@ -27,7 +27,6 @@ import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
import org.elasticsearch.search.aggregations.BucketOrder;
@@ -81,7 +80,7 @@ public class DateHistogramAggregationBuilder
DATE_FIELD_UNITS = unmodifiableMap(dateFieldUnits);
}
- private static final ObjectParser<DateHistogramAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<DateHistogramAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(DateHistogramAggregationBuilder.NAME);
ValuesSourceParserHelper.declareNumericFields(PARSER, true, true, true);
@@ -115,12 +114,12 @@ public class DateHistogramAggregationBuilder
PARSER.declareField(DateHistogramAggregationBuilder::extendedBounds, parser -> ExtendedBounds.PARSER.apply(parser, null),
ExtendedBounds.EXTENDED_BOUNDS_FIELD, ObjectParser.ValueType.OBJECT);
- PARSER.declareObjectArray(DateHistogramAggregationBuilder::order, InternalOrder.Parser::parseOrderParam,
+ PARSER.declareObjectArray(DateHistogramAggregationBuilder::order, (p, c) -> InternalOrder.Parser.parseOrderParam(p),
Histogram.ORDER_FIELD);
}
- public static DateHistogramAggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new DateHistogramAggregationBuilder(aggregationName), context);
+ public static DateHistogramAggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new DateHistogramAggregationBuilder(aggregationName), null);
}
private long interval;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/HistogramAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/HistogramAggregationBuilder.java
index 9362c0b8f7..2f36291f38 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/HistogramAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/HistogramAggregationBuilder.java
@@ -24,7 +24,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
import org.elasticsearch.search.aggregations.BucketOrder;
@@ -59,7 +59,7 @@ public class HistogramAggregationBuilder
EXTENDED_BOUNDS_PARSER.declareDouble((bounds, d) -> bounds[1] = d, new ParseField("max"));
}
- private static final ObjectParser<HistogramAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<HistogramAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(HistogramAggregationBuilder.NAME);
ValuesSourceParserHelper.declareNumericFields(PARSER, true, true, false);
@@ -76,12 +76,12 @@ public class HistogramAggregationBuilder
histogram.extendedBounds(extendedBounds[0], extendedBounds[1]);
}, parser -> EXTENDED_BOUNDS_PARSER.apply(parser, null), ExtendedBounds.EXTENDED_BOUNDS_FIELD, ObjectParser.ValueType.OBJECT);
- PARSER.declareObjectArray(HistogramAggregationBuilder::order, InternalOrder.Parser::parseOrderParam,
+ PARSER.declareObjectArray(HistogramAggregationBuilder::order, (p, c) -> InternalOrder.Parser.parseOrderParam(p),
Histogram.ORDER_FIELD);
}
- public static HistogramAggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new HistogramAggregationBuilder(aggregationName), context);
+ public static HistogramAggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new HistogramAggregationBuilder(aggregationName), null);
}
private double interval;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/missing/MissingAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/missing/MissingAggregationBuilder.java
index 9361acc8fc..76efba76e7 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/missing/MissingAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/missing/MissingAggregationBuilder.java
@@ -23,7 +23,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
import org.elasticsearch.search.aggregations.support.ValueType;
@@ -40,14 +40,14 @@ import java.io.IOException;
public class MissingAggregationBuilder extends ValuesSourceAggregationBuilder<ValuesSource, MissingAggregationBuilder> {
public static final String NAME = "missing";
- private static final ObjectParser<MissingAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<MissingAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(MissingAggregationBuilder.NAME);
ValuesSourceParserHelper.declareAnyFields(PARSER, true, true);
}
- public static MissingAggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new MissingAggregationBuilder(aggregationName, null), context);
+ public static MissingAggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new MissingAggregationBuilder(aggregationName, null), null);
}
public MissingAggregationBuilder(String name, ValueType targetValueType) {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/NestedAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/NestedAggregationBuilder.java
index f8f2602a47..cc2fb87a5d 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/NestedAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/NestedAggregationBuilder.java
@@ -25,7 +25,6 @@ import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.mapper.ObjectMapper;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
import org.elasticsearch.search.aggregations.AggregationExecutionException;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
@@ -104,12 +103,11 @@ public class NestedAggregationBuilder extends AbstractAggregationBuilder<NestedA
return builder;
}
- public static NestedAggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
+ public static NestedAggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
String path = null;
XContentParser.Token token;
String currentFieldName = null;
- XContentParser parser = context.parser();
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
if (token == XContentParser.Token.FIELD_NAME) {
currentFieldName = parser.currentName();
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/ReverseNestedAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/ReverseNestedAggregationBuilder.java
index 30bd72c6c6..4350f16550 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/ReverseNestedAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/ReverseNestedAggregationBuilder.java
@@ -25,7 +25,6 @@ import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.mapper.ObjectMapper;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.support.NestedScope;
import org.elasticsearch.search.SearchParseException;
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
@@ -128,12 +127,11 @@ public class ReverseNestedAggregationBuilder extends AbstractAggregationBuilder<
return builder;
}
- public static ReverseNestedAggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
+ public static ReverseNestedAggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
String path = null;
XContentParser.Token token;
String currentFieldName = null;
- XContentParser parser = context.parser();
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
if (token == XContentParser.Token.FIELD_NAME) {
currentFieldName = parser.currentName();
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregationBuilder.java
index 105dbbc545..aaa2b857ec 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregationBuilder.java
@@ -22,7 +22,6 @@ package org.elasticsearch.search.aggregations.bucket.range;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -37,7 +36,7 @@ import java.io.IOException;
public class RangeAggregationBuilder extends AbstractRangeBuilder<RangeAggregationBuilder, Range> {
public static final String NAME = "range";
- private static final ObjectParser<RangeAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<RangeAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(RangeAggregationBuilder.NAME);
ValuesSourceParserHelper.declareNumericFields(PARSER, true, true, false);
@@ -47,14 +46,14 @@ public class RangeAggregationBuilder extends AbstractRangeBuilder<RangeAggregati
for (Range range : ranges) {
agg.addRange(range);
}
- }, RangeAggregationBuilder::parseRange, RangeAggregator.RANGES_FIELD);
+ }, (p, c) -> RangeAggregationBuilder.parseRange(p), RangeAggregator.RANGES_FIELD);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new RangeAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new RangeAggregationBuilder(aggregationName), null);
}
- private static Range parseRange(XContentParser parser, QueryParseContext context) throws IOException {
+ private static Range parseRange(XContentParser parser) throws IOException {
return Range.fromXContent(parser);
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/date/DateRangeAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/date/DateRangeAggregationBuilder.java
index 2c686fbb97..10612fd5e2 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/date/DateRangeAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/date/DateRangeAggregationBuilder.java
@@ -22,7 +22,6 @@ package org.elasticsearch.search.aggregations.bucket.range.date;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -40,7 +39,7 @@ import java.io.IOException;
public class DateRangeAggregationBuilder extends AbstractRangeBuilder<DateRangeAggregationBuilder, RangeAggregator.Range> {
public static final String NAME = "date_range";
- private static final ObjectParser<DateRangeAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<DateRangeAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(DateRangeAggregationBuilder.NAME);
ValuesSourceParserHelper.declareNumericFields(PARSER, true, true, true);
@@ -50,14 +49,14 @@ public class DateRangeAggregationBuilder extends AbstractRangeBuilder<DateRangeA
for (Range range : ranges) {
agg.addRange(range);
}
- }, DateRangeAggregationBuilder::parseRange, RangeAggregator.RANGES_FIELD);
+ }, (p, c) -> DateRangeAggregationBuilder.parseRange(p), RangeAggregator.RANGES_FIELD);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new DateRangeAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new DateRangeAggregationBuilder(aggregationName), null);
}
- private static Range parseRange(XContentParser parser, QueryParseContext context) throws IOException {
+ private static Range parseRange(XContentParser parser) throws IOException {
return Range.fromXContent(parser);
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/GeoDistanceAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/GeoDistanceAggregationBuilder.java
index 1484fae8d4..99faf543c2 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/GeoDistanceAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/GeoDistanceAggregationBuilder.java
@@ -30,7 +30,6 @@ import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.XContentParser.Token;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -54,7 +53,7 @@ public class GeoDistanceAggregationBuilder extends ValuesSourceAggregationBuilde
static final ParseField UNIT_FIELD = new ParseField("unit");
static final ParseField DISTANCE_TYPE_FIELD = new ParseField("distance_type");
- private static final ObjectParser<GeoDistanceAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<GeoDistanceAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(GeoDistanceAggregationBuilder.NAME);
ValuesSourceParserHelper.declareGeoFields(PARSER, true, false);
@@ -65,7 +64,7 @@ public class GeoDistanceAggregationBuilder extends ValuesSourceAggregationBuilde
for (Range range : ranges) {
agg.addRange(range);
}
- }, GeoDistanceAggregationBuilder::parseRange, RangeAggregator.RANGES_FIELD);
+ }, (p, c) -> GeoDistanceAggregationBuilder.parseRange(p), RangeAggregator.RANGES_FIELD);
PARSER.declareField(GeoDistanceAggregationBuilder::unit, p -> DistanceUnit.fromString(p.text()),
UNIT_FIELD, ObjectParser.ValueType.STRING);
@@ -77,8 +76,8 @@ public class GeoDistanceAggregationBuilder extends ValuesSourceAggregationBuilde
ORIGIN_FIELD, ObjectParser.ValueType.OBJECT_ARRAY_OR_STRING);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- GeoDistanceAggregationBuilder builder = PARSER.parse(context.parser(), new GeoDistanceAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ GeoDistanceAggregationBuilder builder = PARSER.parse(parser, new GeoDistanceAggregationBuilder(aggregationName), null);
if (builder.origin() == null) {
throw new IllegalArgumentException("Aggregation [" + aggregationName + "] must define an [origin].");
}
@@ -116,7 +115,7 @@ public class GeoDistanceAggregationBuilder extends ValuesSourceAggregationBuilde
}
}
- private static GeoPoint parseGeoPoint(XContentParser parser, QueryParseContext context) throws IOException {
+ private static GeoPoint parseGeoPoint(XContentParser parser) throws IOException {
Token token = parser.currentToken();
if (token == XContentParser.Token.VALUE_STRING) {
GeoPoint point = new GeoPoint();
@@ -164,7 +163,7 @@ public class GeoDistanceAggregationBuilder extends ValuesSourceAggregationBuilde
throw new IllegalArgumentException("Unexpected token [" + token + "] while parsing geo point");
}
- private static Range parseRange(XContentParser parser, QueryParseContext context) throws IOException {
+ private static Range parseRange(XContentParser parser) throws IOException {
String fromAsStr = null;
String toAsStr = null;
double from = 0.0;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/ip/IpRangeAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/ip/IpRangeAggregationBuilder.java
index c530ecbfa9..99cc79f666 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/ip/IpRangeAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/ip/IpRangeAggregationBuilder.java
@@ -30,7 +30,6 @@ import org.elasticsearch.common.xcontent.ToXContent;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.XContentParser.Token;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.script.Script;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
@@ -61,7 +60,7 @@ public final class IpRangeAggregationBuilder
public static final String NAME = "ip_range";
private static final ParseField MASK_FIELD = new ParseField("mask");
- private static final ObjectParser<IpRangeAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<IpRangeAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(IpRangeAggregationBuilder.NAME);
ValuesSourceParserHelper.declareBytesFields(PARSER, false, false);
@@ -70,14 +69,14 @@ public final class IpRangeAggregationBuilder
PARSER.declareObjectArray((agg, ranges) -> {
for (Range range : ranges) agg.addRange(range);
- }, IpRangeAggregationBuilder::parseRange, RangeAggregator.RANGES_FIELD);
+ }, (p, c) -> IpRangeAggregationBuilder.parseRange(p), RangeAggregator.RANGES_FIELD);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new IpRangeAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new IpRangeAggregationBuilder(aggregationName), null);
}
- private static Range parseRange(XContentParser parser, QueryParseContext context) throws IOException {
+ private static Range parseRange(XContentParser parser) throws IOException {
String key = null;
String from = null;
String to = null;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/DiversifiedAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/DiversifiedAggregationBuilder.java
index 78f5bd0a7a..0fbd8da74c 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/DiversifiedAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/DiversifiedAggregationBuilder.java
@@ -23,7 +23,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -43,7 +43,7 @@ public class DiversifiedAggregationBuilder extends ValuesSourceAggregationBuilde
public static final int MAX_DOCS_PER_VALUE_DEFAULT = 1;
- private static final ObjectParser<DiversifiedAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<DiversifiedAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(DiversifiedAggregationBuilder.NAME);
ValuesSourceParserHelper.declareAnyFields(PARSER, true, false);
@@ -52,8 +52,8 @@ public class DiversifiedAggregationBuilder extends ValuesSourceAggregationBuilde
PARSER.declareString(DiversifiedAggregationBuilder::executionHint, SamplerAggregator.EXECUTION_HINT_FIELD);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new DiversifiedAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new DiversifiedAggregationBuilder(aggregationName), null);
}
private int shardSize = SamplerAggregationBuilder.DEFAULT_SHARD_SAMPLE_SIZE;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/SamplerAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/SamplerAggregationBuilder.java
index f69b66ffd1..6151e764bc 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/SamplerAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/SamplerAggregationBuilder.java
@@ -24,7 +24,6 @@ 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.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -86,12 +85,11 @@ public class SamplerAggregationBuilder extends AbstractAggregationBuilder<Sample
return builder;
}
- public static SamplerAggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
+ public static SamplerAggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
XContentParser.Token token;
String currentFieldName = null;
Integer shardSize = null;
- XContentParser parser = context.parser();
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
if (token == XContentParser.Token.FIELD_NAME) {
currentFieldName = parser.currentName();
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTermsAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTermsAggregationBuilder.java
index 4f297a73b8..34a62d93c6 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTermsAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTermsAggregationBuilder.java
@@ -24,8 +24,8 @@ import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.ParseFieldRegistry;
import org.elasticsearch.common.xcontent.XContentBuilder;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.Aggregator;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
@@ -62,43 +62,45 @@ public class SignificantTermsAggregationBuilder extends ValuesSourceAggregationB
static final SignificanceHeuristic DEFAULT_SIGNIFICANCE_HEURISTIC = new JLHScore();
public static Aggregator.Parser getParser(ParseFieldRegistry<SignificanceHeuristicParser> significanceHeuristicParserRegistry) {
- ObjectParser<SignificantTermsAggregationBuilder, QueryParseContext> parser =
+ ObjectParser<SignificantTermsAggregationBuilder, Void> aggregationParser =
new ObjectParser<>(SignificantTermsAggregationBuilder.NAME);
- ValuesSourceParserHelper.declareAnyFields(parser, true, true);
+ ValuesSourceParserHelper.declareAnyFields(aggregationParser, true, true);
- parser.declareInt(SignificantTermsAggregationBuilder::shardSize, TermsAggregationBuilder.SHARD_SIZE_FIELD_NAME);
+ aggregationParser.declareInt(SignificantTermsAggregationBuilder::shardSize, TermsAggregationBuilder.SHARD_SIZE_FIELD_NAME);
- parser.declareLong(SignificantTermsAggregationBuilder::minDocCount, TermsAggregationBuilder.MIN_DOC_COUNT_FIELD_NAME);
+ aggregationParser.declareLong(SignificantTermsAggregationBuilder::minDocCount, TermsAggregationBuilder.MIN_DOC_COUNT_FIELD_NAME);
- parser.declareLong(SignificantTermsAggregationBuilder::shardMinDocCount, TermsAggregationBuilder.SHARD_MIN_DOC_COUNT_FIELD_NAME);
+ aggregationParser.declareLong(SignificantTermsAggregationBuilder::shardMinDocCount,
+ TermsAggregationBuilder.SHARD_MIN_DOC_COUNT_FIELD_NAME);
- parser.declareInt(SignificantTermsAggregationBuilder::size, TermsAggregationBuilder.REQUIRED_SIZE_FIELD_NAME);
+ aggregationParser.declareInt(SignificantTermsAggregationBuilder::size, TermsAggregationBuilder.REQUIRED_SIZE_FIELD_NAME);
- parser.declareString(SignificantTermsAggregationBuilder::executionHint, TermsAggregationBuilder.EXECUTION_HINT_FIELD_NAME);
+ aggregationParser.declareString(SignificantTermsAggregationBuilder::executionHint,
+ TermsAggregationBuilder.EXECUTION_HINT_FIELD_NAME);
- parser.declareObject(SignificantTermsAggregationBuilder::backgroundFilter,
+ aggregationParser.declareObject(SignificantTermsAggregationBuilder::backgroundFilter,
(p, context) -> parseInnerQueryBuilder(p),
SignificantTermsAggregationBuilder.BACKGROUND_FILTER);
- parser.declareField((b, v) -> b.includeExclude(IncludeExclude.merge(v, b.includeExclude())),
+ aggregationParser.declareField((b, v) -> b.includeExclude(IncludeExclude.merge(v, b.includeExclude())),
IncludeExclude::parseInclude, IncludeExclude.INCLUDE_FIELD, ObjectParser.ValueType.OBJECT_ARRAY_OR_STRING);
- parser.declareField((b, v) -> b.includeExclude(IncludeExclude.merge(b.includeExclude(), v)),
+ aggregationParser.declareField((b, v) -> b.includeExclude(IncludeExclude.merge(b.includeExclude(), v)),
IncludeExclude::parseExclude, IncludeExclude.EXCLUDE_FIELD, ObjectParser.ValueType.STRING_ARRAY);
for (String name : significanceHeuristicParserRegistry.getNames()) {
- parser.declareObject(SignificantTermsAggregationBuilder::significanceHeuristic,
+ aggregationParser.declareObject(SignificantTermsAggregationBuilder::significanceHeuristic,
(p, context) -> {
SignificanceHeuristicParser significanceHeuristicParser = significanceHeuristicParserRegistry
.lookupReturningNullIfNotFound(name);
- return significanceHeuristicParser.parse(context);
+ return significanceHeuristicParser.parse(p);
},
new ParseField(name));
}
return new Aggregator.Parser() {
@Override
- public AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return parser.parse(context.parser(), new SignificantTermsAggregationBuilder(aggregationName, null), context);
+ public AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return aggregationParser.parse(parser, new SignificantTermsAggregationBuilder(aggregationName, null), null);
}
};
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTextAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTextAggregationBuilder.java
index a55d89bbc5..15004b3a79 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTextAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTextAggregationBuilder.java
@@ -25,9 +25,9 @@ import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.ParseFieldRegistry;
import org.elasticsearch.common.xcontent.XContentBuilder;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.query.AbstractQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregationInitializationException;
@@ -70,55 +70,55 @@ public class SignificantTextAggregationBuilder extends AbstractAggregationBuilde
public static Aggregator.Parser getParser(
ParseFieldRegistry<SignificanceHeuristicParser> significanceHeuristicParserRegistry) {
- ObjectParser<SignificantTextAggregationBuilder, QueryParseContext> parser = new ObjectParser<>(
+ ObjectParser<SignificantTextAggregationBuilder, Void> PARSER = new ObjectParser<>(
SignificantTextAggregationBuilder.NAME);
- parser.declareInt(SignificantTextAggregationBuilder::shardSize,
+ PARSER.declareInt(SignificantTextAggregationBuilder::shardSize,
TermsAggregationBuilder.SHARD_SIZE_FIELD_NAME);
- parser.declareLong(SignificantTextAggregationBuilder::minDocCount,
+ PARSER.declareLong(SignificantTextAggregationBuilder::minDocCount,
TermsAggregationBuilder.MIN_DOC_COUNT_FIELD_NAME);
- parser.declareLong(SignificantTextAggregationBuilder::shardMinDocCount,
+ PARSER.declareLong(SignificantTextAggregationBuilder::shardMinDocCount,
TermsAggregationBuilder.SHARD_MIN_DOC_COUNT_FIELD_NAME);
- parser.declareInt(SignificantTextAggregationBuilder::size,
+ PARSER.declareInt(SignificantTextAggregationBuilder::size,
TermsAggregationBuilder.REQUIRED_SIZE_FIELD_NAME);
- parser.declareString(SignificantTextAggregationBuilder::fieldName, FIELD_NAME);
+ PARSER.declareString(SignificantTextAggregationBuilder::fieldName, FIELD_NAME);
- parser.declareStringArray(SignificantTextAggregationBuilder::sourceFieldNames, SOURCE_FIELDS_NAME);
+ PARSER.declareStringArray(SignificantTextAggregationBuilder::sourceFieldNames, SOURCE_FIELDS_NAME);
- parser.declareBoolean(SignificantTextAggregationBuilder::filterDuplicateText,
+ PARSER.declareBoolean(SignificantTextAggregationBuilder::filterDuplicateText,
FILTER_DUPLICATE_TEXT_FIELD_NAME);
- parser.declareObject(SignificantTextAggregationBuilder::backgroundFilter,
+ PARSER.declareObject(SignificantTextAggregationBuilder::backgroundFilter,
(p, context) -> AbstractQueryBuilder.parseInnerQueryBuilder(p),
SignificantTermsAggregationBuilder.BACKGROUND_FILTER);
- parser.declareField((b, v) -> b.includeExclude(IncludeExclude.merge(v, b.includeExclude())),
+ PARSER.declareField((b, v) -> b.includeExclude(IncludeExclude.merge(v, b.includeExclude())),
IncludeExclude::parseInclude, IncludeExclude.INCLUDE_FIELD,
ObjectParser.ValueType.OBJECT_ARRAY_OR_STRING);
- parser.declareField((b, v) -> b.includeExclude(IncludeExclude.merge(b.includeExclude(), v)),
+ PARSER.declareField((b, v) -> b.includeExclude(IncludeExclude.merge(b.includeExclude(), v)),
IncludeExclude::parseExclude, IncludeExclude.EXCLUDE_FIELD,
ObjectParser.ValueType.STRING_ARRAY);
for (String name : significanceHeuristicParserRegistry.getNames()) {
- parser.declareObject(SignificantTextAggregationBuilder::significanceHeuristic,
+ PARSER.declareObject(SignificantTextAggregationBuilder::significanceHeuristic,
(p, context) -> {
SignificanceHeuristicParser significanceHeuristicParser = significanceHeuristicParserRegistry
.lookupReturningNullIfNotFound(name);
- return significanceHeuristicParser.parse(context);
+ return significanceHeuristicParser.parse(p);
}, new ParseField(name));
}
return new Aggregator.Parser() {
@Override
- public AggregationBuilder parse(String aggregationName, QueryParseContext context)
+ public AggregationBuilder parse(String aggregationName, XContentParser parser)
throws IOException {
- return parser.parse(context.parser(),
- new SignificantTextAggregationBuilder(aggregationName, null), context);
+ return PARSER.parse(parser,
+ new SignificantTextAggregationBuilder(aggregationName, null), null);
}
};
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/GND.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/GND.java
index 5968f42211..2c74fe1ba0 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/GND.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/GND.java
@@ -26,7 +26,6 @@ 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.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardException;
import java.io.IOException;
@@ -113,8 +112,7 @@ public class GND extends NXYSignificanceHeuristic {
}
@Override
- public SignificanceHeuristic parse(QueryParseContext context) throws IOException, QueryShardException {
- XContentParser parser = context.parser();
+ public SignificanceHeuristic parse(XContentParser parser) throws IOException, QueryShardException {
String givenName = parser.currentName();
boolean backgroundIsSuperset = true;
XContentParser.Token token = parser.nextToken();
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/JLHScore.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/JLHScore.java
index d8009818f7..2627008b47 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/JLHScore.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/JLHScore.java
@@ -26,7 +26,6 @@ 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.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardException;
import java.io.IOException;
@@ -104,9 +103,8 @@ public class JLHScore extends SignificanceHeuristic {
return builder;
}
- public static SignificanceHeuristic parse(QueryParseContext context)
+ public static SignificanceHeuristic parse(XContentParser parser)
throws IOException, QueryShardException {
- XContentParser parser = context.parser();
// move to the closing bracket
if (!parser.nextToken().equals(XContentParser.Token.END_OBJECT)) {
throw new ElasticsearchParseException(
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/NXYSignificanceHeuristic.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/NXYSignificanceHeuristic.java
index 5f92b5b40e..f34a77d32b 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/NXYSignificanceHeuristic.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/NXYSignificanceHeuristic.java
@@ -27,7 +27,6 @@ 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.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardException;
import java.io.IOException;
@@ -152,9 +151,8 @@ public abstract class NXYSignificanceHeuristic extends SignificanceHeuristic {
public abstract static class NXYParser implements SignificanceHeuristicParser {
@Override
- public SignificanceHeuristic parse(QueryParseContext context)
+ public SignificanceHeuristic parse(XContentParser parser)
throws IOException, QueryShardException {
- XContentParser parser = context.parser();
String givenName = parser.currentName();
boolean includeNegatives = false;
boolean backgroundIsSuperset = true;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/PercentageScore.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/PercentageScore.java
index f4a61fbfae..9220adf87d 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/PercentageScore.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/PercentageScore.java
@@ -26,7 +26,6 @@ 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.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardException;
import java.io.IOException;
@@ -56,9 +55,8 @@ public class PercentageScore extends SignificanceHeuristic {
return builder;
}
- public static SignificanceHeuristic parse(QueryParseContext context)
+ public static SignificanceHeuristic parse(XContentParser parser)
throws IOException, QueryShardException {
- XContentParser parser = context.parser();
// move to the closing bracket
if (!parser.nextToken().equals(XContentParser.Token.END_OBJECT)) {
throw new ElasticsearchParseException("failed to parse [percentage] significance heuristic. expected an empty object, but got [{}] instead", parser.currentToken());
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/ScriptHeuristic.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/ScriptHeuristic.java
index 99f3193b56..5f812ae4cc 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/ScriptHeuristic.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/ScriptHeuristic.java
@@ -26,7 +26,6 @@ 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.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.index.query.QueryShardException;
import org.elasticsearch.script.ExecutableScript;
@@ -149,9 +148,8 @@ public class ScriptHeuristic extends SignificanceHeuristic {
return Objects.equals(script, other.script);
}
- public static SignificanceHeuristic parse(QueryParseContext context)
+ public static SignificanceHeuristic parse(XContentParser parser)
throws IOException, QueryShardException {
- XContentParser parser = context.parser();
String heuristicName = parser.currentName();
Script script = null;
XContentParser.Token token;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/SignificanceHeuristicParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/SignificanceHeuristicParser.java
index 3c6f98c155..bab88555cb 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/SignificanceHeuristicParser.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/SignificanceHeuristicParser.java
@@ -22,7 +22,6 @@ package org.elasticsearch.search.aggregations.bucket.significant.heuristics;
import org.elasticsearch.common.ParsingException;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import java.io.IOException;
@@ -31,5 +30,5 @@ import java.io.IOException;
*/
@FunctionalInterface
public interface SignificanceHeuristicParser {
- SignificanceHeuristic parse(QueryParseContext context) throws IOException, ParsingException;
+ SignificanceHeuristic parse(XContentParser parser) throws IOException, ParsingException;
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/TermsAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/TermsAggregationBuilder.java
index d534b572f9..e95ee43316 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/TermsAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/TermsAggregationBuilder.java
@@ -23,16 +23,16 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.Aggregator.SubAggCollectionMode;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
-import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregator.BucketCountThresholds;
-import org.elasticsearch.search.aggregations.bucket.terms.support.IncludeExclude;
import org.elasticsearch.search.aggregations.BucketOrder;
import org.elasticsearch.search.aggregations.InternalOrder;
import org.elasticsearch.search.aggregations.InternalOrder.CompoundOrder;
+import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregator.BucketCountThresholds;
+import org.elasticsearch.search.aggregations.bucket.terms.support.IncludeExclude;
import org.elasticsearch.search.aggregations.support.ValueType;
import org.elasticsearch.search.aggregations.support.ValuesSource;
import org.elasticsearch.search.aggregations.support.ValuesSourceAggregationBuilder;
@@ -60,7 +60,7 @@ public class TermsAggregationBuilder extends ValuesSourceAggregationBuilder<Valu
public static final ParseField SHOW_TERM_DOC_COUNT_ERROR = new ParseField("show_term_doc_count_error");
public static final ParseField ORDER_FIELD = new ParseField("order");
- private static final ObjectParser<TermsAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<TermsAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(TermsAggregationBuilder.NAME);
ValuesSourceParserHelper.declareAnyFields(PARSER, true, true);
@@ -82,7 +82,7 @@ public class TermsAggregationBuilder extends ValuesSourceAggregationBuilder<Valu
(p, c) -> SubAggCollectionMode.parse(p.text()),
SubAggCollectionMode.KEY, ObjectParser.ValueType.STRING);
- PARSER.declareObjectArray(TermsAggregationBuilder::order, InternalOrder.Parser::parseOrderParam,
+ PARSER.declareObjectArray(TermsAggregationBuilder::order, (p, c) -> InternalOrder.Parser.parseOrderParam(p),
TermsAggregationBuilder.ORDER_FIELD);
PARSER.declareField((b, v) -> b.includeExclude(IncludeExclude.merge(v, b.includeExclude())),
@@ -92,8 +92,8 @@ public class TermsAggregationBuilder extends ValuesSourceAggregationBuilder<Valu
IncludeExclude::parseExclude, IncludeExclude.EXCLUDE_FIELD, ObjectParser.ValueType.STRING_ARRAY);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new TermsAggregationBuilder(aggregationName, null), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new TermsAggregationBuilder(aggregationName, null), null);
}
private BucketOrder order = BucketOrder.compound(BucketOrder.count(false)); // automatically adds tie-breaker key asc order
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/support/IncludeExclude.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/support/IncludeExclude.java
index dd0785b2d7..a1b4b7f510 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/support/IncludeExclude.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/support/IncludeExclude.java
@@ -44,7 +44,6 @@ import org.elasticsearch.common.io.stream.Writeable;
import org.elasticsearch.common.xcontent.ToXContent;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.DocValueFormat;
import java.io.IOException;
@@ -93,7 +92,7 @@ public class IncludeExclude implements Writeable, ToXContent {
}
}
- public static IncludeExclude parseInclude(XContentParser parser, QueryParseContext context) throws IOException {
+ public static IncludeExclude parseInclude(XContentParser parser) throws IOException {
XContentParser.Token token = parser.currentToken();
if (token == XContentParser.Token.VALUE_STRING) {
return new IncludeExclude(parser.text(), null);
@@ -128,7 +127,7 @@ public class IncludeExclude implements Writeable, ToXContent {
}
}
- public static IncludeExclude parseExclude(XContentParser parser, QueryParseContext context) throws IOException {
+ public static IncludeExclude parseExclude(XContentParser parser) throws IOException {
XContentParser.Token token = parser.currentToken();
if (token == XContentParser.Token.VALUE_STRING) {
return new IncludeExclude(null, parser.text());
@@ -170,6 +169,7 @@ public class IncludeExclude implements Writeable, ToXContent {
}
}
+ @Override
public boolean accept(long value) {
return ((valids == null) || (valids.contains(value))) && ((invalids == null) || (!invalids.contains(value)));
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/AvgAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/AvgAggregationBuilder.java
index 0d9bd6fc1a..50ebe291b1 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/AvgAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/AvgAggregationBuilder.java
@@ -23,7 +23,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -41,14 +41,14 @@ import java.io.IOException;
public class AvgAggregationBuilder extends ValuesSourceAggregationBuilder.LeafOnly<ValuesSource.Numeric, AvgAggregationBuilder> {
public static final String NAME = "avg";
- private static final ObjectParser<AvgAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<AvgAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(AvgAggregationBuilder.NAME);
ValuesSourceParserHelper.declareNumericFields(PARSER, true, true, false);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new AvgAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new AvgAggregationBuilder(aggregationName), null);
}
public AvgAggregationBuilder(String name) {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/cardinality/CardinalityAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/cardinality/CardinalityAggregationBuilder.java
index 1f76d8530f..5914b0a4f4 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/cardinality/CardinalityAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/cardinality/CardinalityAggregationBuilder.java
@@ -24,7 +24,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -47,7 +47,7 @@ public final class CardinalityAggregationBuilder
private static final ParseField REHASH = new ParseField("rehash").withAllDeprecated("no replacement - values will always be rehashed");
public static final ParseField PRECISION_THRESHOLD_FIELD = new ParseField("precision_threshold");
- private static final ObjectParser<CardinalityAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<CardinalityAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(CardinalityAggregationBuilder.NAME);
ValuesSourceParserHelper.declareAnyFields(PARSER, true, false);
@@ -55,8 +55,8 @@ public final class CardinalityAggregationBuilder
PARSER.declareLong((b, v) -> {/*ignore*/}, REHASH);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new CardinalityAggregationBuilder(aggregationName, null), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new CardinalityAggregationBuilder(aggregationName, null), null);
}
private Long precisionThreshold = null;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/geobounds/GeoBoundsAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/geobounds/GeoBoundsAggregationBuilder.java
index be3ad4db80..de45bb3149 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/geobounds/GeoBoundsAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/geobounds/GeoBoundsAggregationBuilder.java
@@ -23,7 +23,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -41,15 +41,15 @@ import java.util.Objects;
public class GeoBoundsAggregationBuilder extends ValuesSourceAggregationBuilder<ValuesSource.GeoPoint, GeoBoundsAggregationBuilder> {
public static final String NAME = "geo_bounds";
- private static final ObjectParser<GeoBoundsAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<GeoBoundsAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(GeoBoundsAggregationBuilder.NAME);
ValuesSourceParserHelper.declareGeoFields(PARSER, false, false);
PARSER.declareBoolean(GeoBoundsAggregationBuilder::wrapLongitude, GeoBoundsAggregator.WRAP_LONGITUDE_FIELD);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new GeoBoundsAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new GeoBoundsAggregationBuilder(aggregationName), null);
}
private boolean wrapLongitude = true;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/geocentroid/GeoCentroidAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/geocentroid/GeoCentroidAggregationBuilder.java
index 8e173e6592..f7c673b2e5 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/geocentroid/GeoCentroidAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/geocentroid/GeoCentroidAggregationBuilder.java
@@ -23,7 +23,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -41,14 +41,14 @@ public class GeoCentroidAggregationBuilder
extends ValuesSourceAggregationBuilder.LeafOnly<ValuesSource.GeoPoint, GeoCentroidAggregationBuilder> {
public static final String NAME = "geo_centroid";
- private static final ObjectParser<GeoCentroidAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<GeoCentroidAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(GeoCentroidAggregationBuilder.NAME);
ValuesSourceParserHelper.declareGeoFields(PARSER, true, false);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new GeoCentroidAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new GeoCentroidAggregationBuilder(aggregationName), null);
}
public GeoCentroidAggregationBuilder(String name) {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/max/MaxAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/max/MaxAggregationBuilder.java
index dafad9dacb..10a8b6cd11 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/max/MaxAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/max/MaxAggregationBuilder.java
@@ -23,7 +23,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -41,14 +41,14 @@ import java.io.IOException;
public class MaxAggregationBuilder extends ValuesSourceAggregationBuilder.LeafOnly<ValuesSource.Numeric, MaxAggregationBuilder> {
public static final String NAME = "max";
- private static final ObjectParser<MaxAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<MaxAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(MaxAggregationBuilder.NAME);
ValuesSourceParserHelper.declareNumericFields(PARSER, true, true, false);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new MaxAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new MaxAggregationBuilder(aggregationName), null);
}
public MaxAggregationBuilder(String name) {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/min/MinAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/min/MinAggregationBuilder.java
index 0f85748416..5b981a394f 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/min/MinAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/min/MinAggregationBuilder.java
@@ -23,7 +23,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -42,14 +42,14 @@ import java.io.IOException;
public class MinAggregationBuilder extends ValuesSourceAggregationBuilder.LeafOnly<ValuesSource.Numeric, MinAggregationBuilder> {
public static final String NAME = "min";
- private static final ObjectParser<MinAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<MinAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(AvgAggregationBuilder.NAME);
ValuesSourceParserHelper.declareNumericFields(PARSER, true, true, false);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new MinAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new MinAggregationBuilder(aggregationName), null);
}
public MinAggregationBuilder(String name) {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentileRanksAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentileRanksAggregationBuilder.java
index db322a8e70..ea8e7648b5 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentileRanksAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentileRanksAggregationBuilder.java
@@ -24,7 +24,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -53,7 +53,7 @@ public class PercentileRanksAggregationBuilder extends LeafOnly<ValuesSource.Num
Double compression;
}
- private static final ObjectParser<TDigestOptions, QueryParseContext> TDIGEST_OPTIONS_PARSER =
+ private static final ObjectParser<TDigestOptions, Void> TDIGEST_OPTIONS_PARSER =
new ObjectParser<>(PercentilesMethod.TDIGEST.getParseField().getPreferredName(), TDigestOptions::new);
static {
TDIGEST_OPTIONS_PARSER.declareDouble((opts, compression) -> opts.compression = compression, new ParseField("compression"));
@@ -63,14 +63,14 @@ public class PercentileRanksAggregationBuilder extends LeafOnly<ValuesSource.Num
Integer numberOfSigDigits;
}
- private static final ObjectParser<HDROptions, QueryParseContext> HDR_OPTIONS_PARSER =
+ private static final ObjectParser<HDROptions, Void> HDR_OPTIONS_PARSER =
new ObjectParser<>(PercentilesMethod.HDR.getParseField().getPreferredName(), HDROptions::new);
static {
HDR_OPTIONS_PARSER.declareInt((opts, numberOfSigDigits) -> opts.numberOfSigDigits = numberOfSigDigits,
new ParseField("number_of_significant_value_digits"));
}
- private static final ObjectParser<PercentileRanksAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<PercentileRanksAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(PercentileRanksAggregationBuilder.NAME);
ValuesSourceParserHelper.declareNumericFields(PARSER, true, false, false);
@@ -96,8 +96,8 @@ public class PercentileRanksAggregationBuilder extends LeafOnly<ValuesSource.Num
}, HDR_OPTIONS_PARSER::parse, PercentilesMethod.HDR.getParseField(), ObjectParser.ValueType.OBJECT);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new PercentileRanksAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new PercentileRanksAggregationBuilder(aggregationName), null);
}
private double[] values;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentilesAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentilesAggregationBuilder.java
index 767e875c13..eab9d68596 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentilesAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentilesAggregationBuilder.java
@@ -24,7 +24,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -58,7 +58,7 @@ public class PercentilesAggregationBuilder extends LeafOnly<ValuesSource.Numeric
Double compression;
}
- private static final ObjectParser<TDigestOptions, QueryParseContext> TDIGEST_OPTIONS_PARSER =
+ private static final ObjectParser<TDigestOptions, Void> TDIGEST_OPTIONS_PARSER =
new ObjectParser<>(PercentilesMethod.TDIGEST.getParseField().getPreferredName(), TDigestOptions::new);
static {
TDIGEST_OPTIONS_PARSER.declareDouble((opts, compression) -> opts.compression = compression, COMPRESSION_FIELD);
@@ -68,7 +68,7 @@ public class PercentilesAggregationBuilder extends LeafOnly<ValuesSource.Numeric
Integer numberOfSigDigits;
}
- private static final ObjectParser<HDROptions, QueryParseContext> HDR_OPTIONS_PARSER =
+ private static final ObjectParser<HDROptions, Void> HDR_OPTIONS_PARSER =
new ObjectParser<>(PercentilesMethod.HDR.getParseField().getPreferredName(), HDROptions::new);
static {
HDR_OPTIONS_PARSER.declareInt(
@@ -76,7 +76,7 @@ public class PercentilesAggregationBuilder extends LeafOnly<ValuesSource.Numeric
NUMBER_SIGNIFICANT_DIGITS_FIELD);
}
- private static final ObjectParser<PercentilesAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<PercentilesAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(PercentilesAggregationBuilder.NAME);
ValuesSourceParserHelper.declareNumericFields(PARSER, true, true, false);
@@ -102,8 +102,8 @@ public class PercentilesAggregationBuilder extends LeafOnly<ValuesSource.Numeric
}, HDR_OPTIONS_PARSER::parse, PercentilesMethod.HDR.getParseField(), ObjectParser.ValueType.OBJECT);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new PercentilesAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new PercentilesAggregationBuilder(aggregationName), null);
}
private double[] percents = DEFAULT_PERCENTS;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/scripted/ScriptedMetricAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/scripted/ScriptedMetricAggregationBuilder.java
index 4753884e43..b4dece56a5 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/scripted/ScriptedMetricAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/scripted/ScriptedMetricAggregationBuilder.java
@@ -25,11 +25,9 @@ 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.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.script.ExecutableScript;
import org.elasticsearch.script.Script;
-import org.elasticsearch.script.ScriptContext;
import org.elasticsearch.script.SearchScript;
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
@@ -39,7 +37,6 @@ import org.elasticsearch.search.internal.SearchContext;
import java.io.IOException;
import java.util.Map;
import java.util.Objects;
-import java.util.function.Function;
public class ScriptedMetricAggregationBuilder extends AbstractAggregationBuilder<ScriptedMetricAggregationBuilder> {
public static final String NAME = "scripted_metric";
@@ -228,7 +225,7 @@ public class ScriptedMetricAggregationBuilder extends AbstractAggregationBuilder
return builder;
}
- public static ScriptedMetricAggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
+ public static ScriptedMetricAggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
Script initScript = null;
Script mapScript = null;
Script combineScript = null;
@@ -237,7 +234,6 @@ public class ScriptedMetricAggregationBuilder extends AbstractAggregationBuilder
XContentParser.Token token;
String currentFieldName = null;
- XContentParser parser = context.parser();
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
if (token == XContentParser.Token.FIELD_NAME) {
currentFieldName = parser.currentName();
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/StatsAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/StatsAggregationBuilder.java
index 390be44d74..39386e79e3 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/StatsAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/StatsAggregationBuilder.java
@@ -23,7 +23,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -41,14 +41,14 @@ import java.io.IOException;
public class StatsAggregationBuilder extends ValuesSourceAggregationBuilder.LeafOnly<ValuesSource.Numeric, StatsAggregationBuilder> {
public static final String NAME = "stats";
- private static final ObjectParser<StatsAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<StatsAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(StatsAggregationBuilder.NAME);
ValuesSourceParserHelper.declareNumericFields(PARSER, true, true, false);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new StatsAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new StatsAggregationBuilder(aggregationName), null);
}
public StatsAggregationBuilder(String name) {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/ExtendedStatsAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/ExtendedStatsAggregationBuilder.java
index 94857c8753..ffcf6321d6 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/ExtendedStatsAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/ExtendedStatsAggregationBuilder.java
@@ -23,7 +23,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -43,15 +43,15 @@ public class ExtendedStatsAggregationBuilder
extends ValuesSourceAggregationBuilder.LeafOnly<ValuesSource.Numeric, ExtendedStatsAggregationBuilder> {
public static final String NAME = "extended_stats";
- private static final ObjectParser<ExtendedStatsAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<ExtendedStatsAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(ExtendedStatsAggregationBuilder.NAME);
ValuesSourceParserHelper.declareNumericFields(PARSER, true, true, false);
PARSER.declareDouble(ExtendedStatsAggregationBuilder::sigma, ExtendedStatsAggregator.SIGMA_FIELD);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new ExtendedStatsAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new ExtendedStatsAggregationBuilder(aggregationName), null);
}
private double sigma = 2.0;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/SumAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/SumAggregationBuilder.java
index 7118b14d0c..2528a7d880 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/SumAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/SumAggregationBuilder.java
@@ -23,7 +23,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -41,14 +41,14 @@ import java.io.IOException;
public class SumAggregationBuilder extends ValuesSourceAggregationBuilder.LeafOnly<ValuesSource.Numeric, SumAggregationBuilder> {
public static final String NAME = "sum";
- private static final ObjectParser<SumAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<SumAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(SumAggregationBuilder.NAME);
ValuesSourceParserHelper.declareNumericFields(PARSER, true, true, false);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new SumAggregationBuilder(aggregationName), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new SumAggregationBuilder(aggregationName), null);
}
public SumAggregationBuilder(String name) {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/tophits/TopHitsAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/tophits/TopHitsAggregationBuilder.java
index c131ecfee1..c5be9f3551 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/tophits/TopHitsAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/tophits/TopHitsAggregationBuilder.java
@@ -26,7 +26,6 @@ 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.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.script.Script;
import org.elasticsearch.script.SearchScript;
@@ -595,11 +594,10 @@ public class TopHitsAggregationBuilder extends AbstractAggregationBuilder<TopHit
return builder;
}
- public static TopHitsAggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
+ public static TopHitsAggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
TopHitsAggregationBuilder factory = new TopHitsAggregationBuilder(aggregationName);
XContentParser.Token token;
String currentFieldName = null;
- XContentParser parser = context.parser();
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
if (token == XContentParser.Token.FIELD_NAME) {
currentFieldName = parser.currentName();
@@ -615,10 +613,10 @@ public class TopHitsAggregationBuilder extends AbstractAggregationBuilder<TopHit
} else if (SearchSourceBuilder.TRACK_SCORES_FIELD.match(currentFieldName)) {
factory.trackScores(parser.booleanValue());
} else if (SearchSourceBuilder._SOURCE_FIELD.match(currentFieldName)) {
- factory.fetchSource(FetchSourceContext.fromXContent(context.parser()));
+ factory.fetchSource(FetchSourceContext.fromXContent(parser));
} else if (SearchSourceBuilder.STORED_FIELDS_FIELD.match(currentFieldName)) {
factory.storedFieldsContext =
- StoredFieldsContext.fromXContent(SearchSourceBuilder.STORED_FIELDS_FIELD.getPreferredName(), context);
+ StoredFieldsContext.fromXContent(SearchSourceBuilder.STORED_FIELDS_FIELD.getPreferredName(), parser);
} else if (SearchSourceBuilder.SORT_FIELD.match(currentFieldName)) {
factory.sort(parser.text());
} else {
@@ -627,7 +625,7 @@ public class TopHitsAggregationBuilder extends AbstractAggregationBuilder<TopHit
}
} else if (token == XContentParser.Token.START_OBJECT) {
if (SearchSourceBuilder._SOURCE_FIELD.match(currentFieldName)) {
- factory.fetchSource(FetchSourceContext.fromXContent(context.parser()));
+ factory.fetchSource(FetchSourceContext.fromXContent(parser));
} else if (SearchSourceBuilder.SCRIPT_FIELDS_FIELD.match(currentFieldName)) {
List<ScriptField> scriptFields = new ArrayList<>();
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
@@ -682,7 +680,7 @@ public class TopHitsAggregationBuilder extends AbstractAggregationBuilder<TopHit
if (SearchSourceBuilder.STORED_FIELDS_FIELD.match(currentFieldName)) {
factory.storedFieldsContext =
- StoredFieldsContext.fromXContent(SearchSourceBuilder.STORED_FIELDS_FIELD.getPreferredName(), context);
+ StoredFieldsContext.fromXContent(SearchSourceBuilder.STORED_FIELDS_FIELD.getPreferredName(), parser);
} else if (SearchSourceBuilder.DOCVALUE_FIELDS_FIELD.match(currentFieldName)) {
List<String> fieldDataFields = new ArrayList<>();
while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) {
@@ -698,7 +696,7 @@ public class TopHitsAggregationBuilder extends AbstractAggregationBuilder<TopHit
List<SortBuilder<?>> sorts = SortBuilder.fromXContent(parser);
factory.sorts(sorts);
} else if (SearchSourceBuilder._SOURCE_FIELD.match(currentFieldName)) {
- factory.fetchSource(FetchSourceContext.fromXContent(context.parser()));
+ factory.fetchSource(FetchSourceContext.fromXContent(parser));
} else {
throw new ParsingException(parser.getTokenLocation(), "Unknown key for a " + token + " in [" + currentFieldName + "].",
parser.getTokenLocation());
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/valuecount/ValueCountAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/valuecount/ValueCountAggregationBuilder.java
index 50916b4063..a6a1372608 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/valuecount/ValueCountAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/valuecount/ValueCountAggregationBuilder.java
@@ -23,7 +23,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregatorFactories;
import org.elasticsearch.search.aggregations.AggregatorFactory;
@@ -40,14 +40,14 @@ import java.io.IOException;
public class ValueCountAggregationBuilder extends ValuesSourceAggregationBuilder.LeafOnly<ValuesSource, ValueCountAggregationBuilder> {
public static final String NAME = "value_count";
- private static final ObjectParser<ValueCountAggregationBuilder, QueryParseContext> PARSER;
+ private static final ObjectParser<ValueCountAggregationBuilder, Void> PARSER;
static {
PARSER = new ObjectParser<>(ValueCountAggregationBuilder.NAME);
ValuesSourceParserHelper.declareAnyFields(PARSER, true, true);
}
- public static AggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
- return PARSER.parse(context.parser(), new ValueCountAggregationBuilder(aggregationName, null), context);
+ public static AggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
+ return PARSER.parse(parser, new ValueCountAggregationBuilder(aggregationName, null), null);
}
public ValueCountAggregationBuilder(String name, ValueType targetValueType) {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/BucketHelpers.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/BucketHelpers.java
index 90665eeb9b..6120ea5b4c 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/BucketHelpers.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/BucketHelpers.java
@@ -24,7 +24,6 @@ import org.elasticsearch.common.ParsingException;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.XContentLocation;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AggregationExecutionException;
import org.elasticsearch.search.aggregations.InternalMultiBucketAggregation;
import org.elasticsearch.search.aggregations.InvalidAggregationPathException;
@@ -58,11 +57,11 @@ public class BucketHelpers {
/**
* Parse a string GapPolicy into the byte enum
*
- * @param context SearchContext this is taking place in
- * @param text GapPolicy in string format (e.g. "ignore")
- * @return GapPolicy enum
+ * @param text
+ * GapPolicy in string format (e.g. "ignore")
+ * @return GapPolicy enum
*/
- public static GapPolicy parse(QueryParseContext context, String text, XContentLocation tokenLocation) {
+ public static GapPolicy parse(String text, XContentLocation tokenLocation) {
GapPolicy result = null;
for (GapPolicy policy : values()) {
if (policy.parseField.match(text)) {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/PipelineAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/PipelineAggregator.java
index f49ca1dd39..de5a8ac998 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/PipelineAggregator.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/PipelineAggregator.java
@@ -24,7 +24,7 @@ import org.elasticsearch.common.ParseField;
import org.elasticsearch.common.io.stream.NamedWriteable;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.aggregations.InternalAggregation;
import org.elasticsearch.search.aggregations.InternalAggregation.ReduceContext;
import org.elasticsearch.search.aggregations.PipelineAggregationBuilder;
@@ -34,7 +34,7 @@ import java.util.Map;
public abstract class PipelineAggregator implements NamedWriteable {
/**
- * Parse the {@link PipelineAggregationBuilder} from a {@link QueryParseContext}.
+ * Parse the {@link PipelineAggregationBuilder} from a {@link XContentParser}.
*/
@FunctionalInterface
public interface Parser {
@@ -48,13 +48,12 @@ public abstract class PipelineAggregator implements NamedWriteable {
*
* @param pipelineAggregatorName
* The name of the pipeline aggregation
- * @param context
- * The search context
+ * @param parser the parser
* @return The resolved pipeline aggregator factory
* @throws java.io.IOException
* When parsing fails
*/
- PipelineAggregationBuilder parse(String pipelineAggregatorName, QueryParseContext context)
+ PipelineAggregationBuilder parse(String pipelineAggregatorName, XContentParser parser)
throws IOException;
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsParser.java
index e7954174aa..d5a28100a5 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsParser.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/BucketMetricsParser.java
@@ -22,7 +22,6 @@ package org.elasticsearch.search.aggregations.pipeline.bucketmetrics;
import org.elasticsearch.common.ParseField;
import org.elasticsearch.common.ParsingException;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.pipeline.BucketHelpers.GapPolicy;
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
@@ -44,9 +43,8 @@ public abstract class BucketMetricsParser implements PipelineAggregator.Parser {
}
@Override
- public final BucketMetricsPipelineAggregationBuilder<?> parse(String pipelineAggregatorName, QueryParseContext context)
+ public final BucketMetricsPipelineAggregationBuilder<?> parse(String pipelineAggregatorName, XContentParser parser)
throws IOException {
- XContentParser parser = context.parser();
XContentParser.Token token;
String currentFieldName = null;
String[] bucketsPaths = null;
@@ -63,9 +61,9 @@ public abstract class BucketMetricsParser implements PipelineAggregator.Parser {
} else if (BUCKETS_PATH.match(currentFieldName)) {
bucketsPaths = new String[] { parser.text() };
} else if (GAP_POLICY.match(currentFieldName)) {
- gapPolicy = GapPolicy.parse(context, parser.text(), parser.getTokenLocation());
+ gapPolicy = GapPolicy.parse(parser.text(), parser.getTokenLocation());
} else {
- parseToken(pipelineAggregatorName, parser, context, currentFieldName, token, params);
+ parseToken(pipelineAggregatorName, parser, currentFieldName, token, params);
}
} else if (token == XContentParser.Token.START_ARRAY) {
if (BUCKETS_PATH.match(currentFieldName)) {
@@ -76,10 +74,10 @@ public abstract class BucketMetricsParser implements PipelineAggregator.Parser {
}
bucketsPaths = paths.toArray(new String[paths.size()]);
} else {
- parseToken(pipelineAggregatorName, parser, context, currentFieldName, token, params);
+ parseToken(pipelineAggregatorName, parser, currentFieldName, token, params);
}
} else {
- parseToken(pipelineAggregatorName, parser, context, currentFieldName, token, params);
+ parseToken(pipelineAggregatorName, parser, currentFieldName, token, params);
}
}
@@ -104,14 +102,14 @@ public abstract class BucketMetricsParser implements PipelineAggregator.Parser {
protected abstract BucketMetricsPipelineAggregationBuilder<?> buildFactory(String pipelineAggregatorName, String bucketsPaths,
Map<String, Object> params);
- protected boolean token(XContentParser parser, QueryParseContext context, String field,
+ protected boolean token(XContentParser parser, String field,
XContentParser.Token token, Map<String, Object> params) throws IOException {
return false;
}
- private void parseToken(String aggregationName, XContentParser parser, QueryParseContext context, String currentFieldName,
+ private void parseToken(String aggregationName, XContentParser parser, String currentFieldName,
XContentParser.Token currentToken, Map<String, Object> params) throws IOException {
- if (token(parser, context, currentFieldName, currentToken, params) == false) {
+ if (token(parser, currentFieldName, currentToken, params) == false) {
throw new ParsingException(parser.getTokenLocation(),
"Unexpected token " + currentToken + " [" + currentFieldName + "] in [" + aggregationName + "]");
}
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregationBuilder.java
index cea7d01136..266540aaa8 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/percentile/PercentilesBucketPipelineAggregationBuilder.java
@@ -26,7 +26,6 @@ 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.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.AggregatorFactory;
import org.elasticsearch.search.aggregations.PipelineAggregationBuilder;
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
@@ -136,8 +135,8 @@ public class PercentilesBucketPipelineAggregationBuilder
}
@Override
- protected boolean token(XContentParser parser, QueryParseContext context, String field,
- XContentParser.Token token, Map<String, Object> params) throws IOException {
+ protected boolean token(XContentParser parser, String field, XContentParser.Token token, Map<String, Object> params)
+ throws IOException {
if (PERCENTS_FIELD.match(field) && token == XContentParser.Token.START_ARRAY) {
DoubleArrayList percents = new DoubleArrayList(10);
while (parser.nextToken() != XContentParser.Token.END_ARRAY) {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/extended/ExtendedStatsBucketParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/extended/ExtendedStatsBucketParser.java
index dfa28c3dd2..83ad5a06fa 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/extended/ExtendedStatsBucketParser.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketmetrics/stats/extended/ExtendedStatsBucketParser.java
@@ -21,7 +21,6 @@ package org.elasticsearch.search.aggregations.pipeline.bucketmetrics.stats.exten
import org.elasticsearch.common.ParseField;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.pipeline.bucketmetrics.BucketMetricsParser;
import java.io.IOException;
@@ -44,7 +43,7 @@ public class ExtendedStatsBucketParser extends BucketMetricsParser {
}
@Override
- protected boolean token(XContentParser parser, QueryParseContext context, String field,
+ protected boolean token(XContentParser parser, String field,
XContentParser.Token token, Map<String, Object> params) throws IOException {
if (SIGMA.match(field) && token == XContentParser.Token.VALUE_NUMBER) {
params.put(SIGMA.getPreferredName(), parser.doubleValue());
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregationBuilder.java
index d84305e33f..7c7f138391 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketscript/BucketScriptPipelineAggregationBuilder.java
@@ -24,7 +24,6 @@ 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.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.script.Script;
import org.elasticsearch.search.DocValueFormat;
import org.elasticsearch.search.aggregations.pipeline.AbstractPipelineAggregationBuilder;
@@ -68,7 +67,7 @@ public class BucketScriptPipelineAggregationBuilder extends AbstractPipelineAggr
public BucketScriptPipelineAggregationBuilder(StreamInput in) throws IOException {
super(in, NAME);
int mapSize = in.readVInt();
- bucketsPathsMap = new HashMap<String, String>(mapSize);
+ bucketsPathsMap = new HashMap<>(mapSize);
for (int i = 0; i < mapSize; i++) {
bucketsPathsMap.put(in.readString(), in.readString());
}
@@ -157,8 +156,7 @@ public class BucketScriptPipelineAggregationBuilder extends AbstractPipelineAggr
return builder;
}
- public static BucketScriptPipelineAggregationBuilder parse(String reducerName, QueryParseContext context) throws IOException {
- XContentParser parser = context.parser();
+ public static BucketScriptPipelineAggregationBuilder parse(String reducerName, XContentParser parser) throws IOException {
XContentParser.Token token;
Script script = null;
String currentFieldName = null;
@@ -176,7 +174,7 @@ public class BucketScriptPipelineAggregationBuilder extends AbstractPipelineAggr
bucketsPathsMap = new HashMap<>();
bucketsPathsMap.put("_value", parser.text());
} else if (GAP_POLICY.match(currentFieldName)) {
- gapPolicy = GapPolicy.parse(context, parser.text(), parser.getTokenLocation());
+ gapPolicy = GapPolicy.parse(parser.text(), parser.getTokenLocation());
} else if (Script.SCRIPT_PARSE_FIELD.match(currentFieldName)) {
script = Script.parse(parser);
} else {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketselector/BucketSelectorPipelineAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketselector/BucketSelectorPipelineAggregationBuilder.java
index 402d1ba57b..219150667f 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketselector/BucketSelectorPipelineAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/bucketselector/BucketSelectorPipelineAggregationBuilder.java
@@ -24,7 +24,6 @@ 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.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.script.Script;
import org.elasticsearch.search.aggregations.pipeline.AbstractPipelineAggregationBuilder;
import org.elasticsearch.search.aggregations.pipeline.BucketHelpers.GapPolicy;
@@ -65,7 +64,7 @@ public class BucketSelectorPipelineAggregationBuilder extends AbstractPipelineAg
public BucketSelectorPipelineAggregationBuilder(StreamInput in) throws IOException {
super(in, NAME);
int mapSize = in.readVInt();
- bucketsPathsMap = new HashMap<String, String>(mapSize);
+ bucketsPathsMap = new HashMap<>(mapSize);
for (int i = 0; i < mapSize; i++) {
bucketsPathsMap.put(in.readString(), in.readString());
}
@@ -123,8 +122,7 @@ public class BucketSelectorPipelineAggregationBuilder extends AbstractPipelineAg
return builder;
}
- public static BucketSelectorPipelineAggregationBuilder parse(String reducerName, QueryParseContext context) throws IOException {
- XContentParser parser = context.parser();
+ public static BucketSelectorPipelineAggregationBuilder parse(String reducerName, XContentParser parser) throws IOException {
XContentParser.Token token;
Script script = null;
String currentFieldName = null;
@@ -139,7 +137,7 @@ public class BucketSelectorPipelineAggregationBuilder extends AbstractPipelineAg
bucketsPathsMap = new HashMap<>();
bucketsPathsMap.put("_value", parser.text());
} else if (GAP_POLICY.match(currentFieldName)) {
- gapPolicy = GapPolicy.parse(context, parser.text(), parser.getTokenLocation());
+ gapPolicy = GapPolicy.parse(parser.text(), parser.getTokenLocation());
} else if (Script.SCRIPT_PARSE_FIELD.match(currentFieldName)) {
script = Script.parse(parser);
} else {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/cumulativesum/CumulativeSumPipelineAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/cumulativesum/CumulativeSumPipelineAggregationBuilder.java
index 5ac185990b..7546b62426 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/cumulativesum/CumulativeSumPipelineAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/cumulativesum/CumulativeSumPipelineAggregationBuilder.java
@@ -24,7 +24,6 @@ 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.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.DocValueFormat;
import org.elasticsearch.search.aggregations.AggregatorFactory;
import org.elasticsearch.search.aggregations.PipelineAggregationBuilder;
@@ -129,9 +128,8 @@ public class CumulativeSumPipelineAggregationBuilder extends AbstractPipelineAgg
return builder;
}
- public static CumulativeSumPipelineAggregationBuilder parse(String pipelineAggregatorName, QueryParseContext context)
+ public static CumulativeSumPipelineAggregationBuilder parse(String pipelineAggregatorName, XContentParser parser)
throws IOException {
- XContentParser parser = context.parser();
XContentParser.Token token;
String currentFieldName = null;
String[] bucketsPaths = null;
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/derivative/DerivativePipelineAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/derivative/DerivativePipelineAggregationBuilder.java
index bb2a1c01a5..1e722ac0ba 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/derivative/DerivativePipelineAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/derivative/DerivativePipelineAggregationBuilder.java
@@ -27,12 +27,11 @@ import org.elasticsearch.common.rounding.DateTimeUnit;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.DocValueFormat;
import org.elasticsearch.search.aggregations.AggregatorFactory;
import org.elasticsearch.search.aggregations.PipelineAggregationBuilder;
-import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramAggregatorFactory;
import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramAggregationBuilder;
+import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramAggregatorFactory;
import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramInterval;
import org.elasticsearch.search.aggregations.bucket.histogram.HistogramAggregatorFactory;
import org.elasticsearch.search.aggregations.pipeline.AbstractPipelineAggregationBuilder;
@@ -194,8 +193,7 @@ public class DerivativePipelineAggregationBuilder extends AbstractPipelineAggreg
return builder;
}
- public static DerivativePipelineAggregationBuilder parse(String pipelineAggregatorName, QueryParseContext context) throws IOException {
- XContentParser parser = context.parser();
+ public static DerivativePipelineAggregationBuilder parse(String pipelineAggregatorName, XContentParser parser) throws IOException {
XContentParser.Token token;
String currentFieldName = null;
String[] bucketsPaths = null;
@@ -212,7 +210,7 @@ public class DerivativePipelineAggregationBuilder extends AbstractPipelineAggreg
} else if (BUCKETS_PATH_FIELD.match(currentFieldName)) {
bucketsPaths = new String[] { parser.text() };
} else if (GAP_POLICY_FIELD.match(currentFieldName)) {
- gapPolicy = GapPolicy.parse(context, parser.text(), parser.getTokenLocation());
+ gapPolicy = GapPolicy.parse(parser.text(), parser.getTokenLocation());
} else if (UNIT_FIELD.match(currentFieldName)) {
units = parser.text();
} else {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/movavg/MovAvgPipelineAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/movavg/MovAvgPipelineAggregationBuilder.java
index bc973ad442..f5f71b3ca7 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/movavg/MovAvgPipelineAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/movavg/MovAvgPipelineAggregationBuilder.java
@@ -26,7 +26,6 @@ import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ParseFieldRegistry;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.DocValueFormat;
import org.elasticsearch.search.aggregations.AggregatorFactory;
import org.elasticsearch.search.aggregations.PipelineAggregationBuilder;
@@ -304,8 +303,7 @@ public class MovAvgPipelineAggregationBuilder extends AbstractPipelineAggregatio
public static MovAvgPipelineAggregationBuilder parse(
ParseFieldRegistry<MovAvgModel.AbstractModelParser> movingAverageMdelParserRegistry,
- String pipelineAggregatorName, QueryParseContext context) throws IOException {
- XContentParser parser = context.parser();
+ String pipelineAggregatorName, XContentParser parser) throws IOException {
XContentParser.Token token;
String currentFieldName = null;
String[] bucketsPaths = null;
@@ -344,7 +342,7 @@ public class MovAvgPipelineAggregationBuilder extends AbstractPipelineAggregatio
} else if (BUCKETS_PATH.match(currentFieldName)) {
bucketsPaths = new String[] { parser.text() };
} else if (GAP_POLICY.match(currentFieldName)) {
- gapPolicy = GapPolicy.parse(context, parser.text(), parser.getTokenLocation());
+ gapPolicy = GapPolicy.parse(parser.text(), parser.getTokenLocation());
} else if (MODEL.match(currentFieldName)) {
model = parser.text();
} else {
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/serialdiff/SerialDiffPipelineAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/serialdiff/SerialDiffPipelineAggregationBuilder.java
index 0acd4c7f1b..b09c26cce7 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/serialdiff/SerialDiffPipelineAggregationBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/pipeline/serialdiff/SerialDiffPipelineAggregationBuilder.java
@@ -25,7 +25,6 @@ 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.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.DocValueFormat;
import org.elasticsearch.search.aggregations.pipeline.AbstractPipelineAggregationBuilder;
import org.elasticsearch.search.aggregations.pipeline.BucketHelpers.GapPolicy;
@@ -149,8 +148,7 @@ public class SerialDiffPipelineAggregationBuilder extends AbstractPipelineAggreg
return builder;
}
- public static SerialDiffPipelineAggregationBuilder parse(String reducerName, QueryParseContext context) throws IOException {
- XContentParser parser = context.parser();
+ public static SerialDiffPipelineAggregationBuilder parse(String reducerName, XContentParser parser) throws IOException {
XContentParser.Token token;
String currentFieldName = null;
String[] bucketsPaths = null;
@@ -167,7 +165,7 @@ public class SerialDiffPipelineAggregationBuilder extends AbstractPipelineAggreg
} else if (BUCKETS_PATH.match(currentFieldName)) {
bucketsPaths = new String[] { parser.text() };
} else if (GAP_POLICY.match(currentFieldName)) {
- gapPolicy = GapPolicy.parse(context, parser.text(), parser.getTokenLocation());
+ gapPolicy = GapPolicy.parse(parser.text(), parser.getTokenLocation());
} else {
throw new ParsingException(parser.getTokenLocation(),
"Unknown key for a " + token + " in [" + reducerName + "]: [" + currentFieldName + "].");
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceParserHelper.java b/core/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceParserHelper.java
index 907b117e0c..a28d98ff7b 100644
--- a/core/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceParserHelper.java
+++ b/core/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceParserHelper.java
@@ -23,7 +23,6 @@ import org.elasticsearch.common.ParseField;
import org.elasticsearch.common.ParsingException;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.script.Script;
import org.joda.time.DateTimeZone;
@@ -33,31 +32,31 @@ public final class ValuesSourceParserHelper {
private ValuesSourceParserHelper() {} // utility class, no instantiation
public static void declareAnyFields(
- ObjectParser<? extends ValuesSourceAggregationBuilder<ValuesSource, ?>, QueryParseContext> objectParser,
+ ObjectParser<? extends ValuesSourceAggregationBuilder<ValuesSource, ?>, Void> objectParser,
boolean scriptable, boolean formattable) {
declareFields(objectParser, scriptable, formattable, false, null);
}
public static void declareNumericFields(
- ObjectParser<? extends ValuesSourceAggregationBuilder<ValuesSource.Numeric, ?>, QueryParseContext> objectParser,
+ ObjectParser<? extends ValuesSourceAggregationBuilder<ValuesSource.Numeric, ?>, Void> objectParser,
boolean scriptable, boolean formattable, boolean timezoneAware) {
declareFields(objectParser, scriptable, formattable, timezoneAware, ValueType.NUMERIC);
}
public static void declareBytesFields(
- ObjectParser<? extends ValuesSourceAggregationBuilder<ValuesSource.Bytes, ?>, QueryParseContext> objectParser,
+ ObjectParser<? extends ValuesSourceAggregationBuilder<ValuesSource.Bytes, ?>, Void> objectParser,
boolean scriptable, boolean formattable) {
declareFields(objectParser, scriptable, formattable, false, ValueType.STRING);
}
public static void declareGeoFields(
- ObjectParser<? extends ValuesSourceAggregationBuilder<ValuesSource.GeoPoint, ?>, QueryParseContext> objectParser,
+ ObjectParser<? extends ValuesSourceAggregationBuilder<ValuesSource.GeoPoint, ?>, Void> objectParser,
boolean scriptable, boolean formattable) {
declareFields(objectParser, scriptable, formattable, false, ValueType.GEOPOINT);
}
private static <VS extends ValuesSource> void declareFields(
- ObjectParser<? extends ValuesSourceAggregationBuilder<VS, ?>, QueryParseContext> objectParser,
+ ObjectParser<? extends ValuesSourceAggregationBuilder<VS, ?>, Void> objectParser,
boolean scriptable, boolean formattable, boolean timezoneAware, ValueType targetValueType) {
diff --git a/core/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java b/core/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java
index 99f74d1f8e..91edc29160 100644
--- a/core/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java
@@ -36,7 +36,6 @@ import org.elasticsearch.common.xcontent.ToXContentObject;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.script.Script;
import org.elasticsearch.search.SearchExtBuilder;
@@ -109,9 +108,9 @@ public final class SearchSourceBuilder extends ToXContentToBytes implements Writ
public static final ParseField SLICE = new ParseField("slice");
public static final ParseField ALL_FIELDS_FIELDS = new ParseField("all_fields");
- public static SearchSourceBuilder fromXContent(QueryParseContext context) throws IOException {
+ public static SearchSourceBuilder fromXContent(XContentParser parser) throws IOException {
SearchSourceBuilder builder = new SearchSourceBuilder();
- builder.parseXContent(context);
+ builder.parseXContent(parser);
return builder;
}
@@ -959,10 +958,9 @@ public final class SearchSourceBuilder extends ToXContentToBytes implements Writ
/**
* Parse some xContent into this SearchSourceBuilder, overwriting any values specified in the xContent. Use this if you need to set up
* different defaults than a regular SearchSourceBuilder would have and use
- * {@link #fromXContent(QueryParseContext)} if you have normal defaults.
+ * {@link #fromXContent(XContentParser)} if you have normal defaults.
*/
- public void parseXContent(QueryParseContext context) throws IOException {
- XContentParser parser = context.parser();
+ public void parseXContent(XContentParser parser) throws IOException {
XContentParser.Token token = parser.currentToken();
String currentFieldName = null;
if (token != XContentParser.Token.START_OBJECT && (token = parser.nextToken()) != XContentParser.Token.START_OBJECT) {
@@ -992,10 +990,10 @@ public final class SearchSourceBuilder extends ToXContentToBytes implements Writ
} else if (TRACK_TOTAL_HITS_FIELD.match(currentFieldName)) {
trackTotalHits = parser.booleanValue();
} else if (_SOURCE_FIELD.match(currentFieldName)) {
- fetchSourceContext = FetchSourceContext.fromXContent(context.parser());
+ fetchSourceContext = FetchSourceContext.fromXContent(parser);
} else if (STORED_FIELDS_FIELD.match(currentFieldName)) {
storedFieldsContext =
- StoredFieldsContext.fromXContent(SearchSourceBuilder.STORED_FIELDS_FIELD.getPreferredName(), context);
+ StoredFieldsContext.fromXContent(SearchSourceBuilder.STORED_FIELDS_FIELD.getPreferredName(), parser);
} else if (SORT_FIELD.match(currentFieldName)) {
sort(parser.text());
} else if (PROFILE_FIELD.match(currentFieldName)) {
@@ -1014,7 +1012,7 @@ public final class SearchSourceBuilder extends ToXContentToBytes implements Writ
} else if (POST_FILTER_FIELD.match(currentFieldName)) {
postQueryBuilder = parseInnerQueryBuilder(parser);
} else if (_SOURCE_FIELD.match(currentFieldName)) {
- fetchSourceContext = FetchSourceContext.fromXContent(context.parser());
+ fetchSourceContext = FetchSourceContext.fromXContent(parser);
} else if (SCRIPT_FIELDS_FIELD.match(currentFieldName)) {
scriptFields = new ArrayList<>();
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
@@ -1035,16 +1033,16 @@ public final class SearchSourceBuilder extends ToXContentToBytes implements Writ
}
} else if (AGGREGATIONS_FIELD.match(currentFieldName)
|| AGGS_FIELD.match(currentFieldName)) {
- aggregations = AggregatorFactories.parseAggregators(context);
+ aggregations = AggregatorFactories.parseAggregators(parser);
} else if (HIGHLIGHT_FIELD.match(currentFieldName)) {
highlightBuilder = HighlightBuilder.fromXContent(parser);
} else if (SUGGEST_FIELD.match(currentFieldName)) {
- suggestBuilder = SuggestBuilder.fromXContent(context.parser());
+ suggestBuilder = SuggestBuilder.fromXContent(parser);
} else if (SORT_FIELD.match(currentFieldName)) {
sorts = new ArrayList<>(SortBuilder.fromXContent(parser));
} else if (RESCORE_FIELD.match(currentFieldName)) {
rescoreBuilders = new ArrayList<>();
- rescoreBuilders.add(RescoreBuilder.parseFromXContent(context));
+ rescoreBuilders.add(RescoreBuilder.parseFromXContent(parser));
} else if (EXT_FIELD.match(currentFieldName)) {
extBuilders = new ArrayList<>();
String extSectionName = null;
@@ -1062,16 +1060,16 @@ public final class SearchSourceBuilder extends ToXContentToBytes implements Writ
}
}
} else if (SLICE.match(currentFieldName)) {
- sliceBuilder = SliceBuilder.fromXContent(context);
+ sliceBuilder = SliceBuilder.fromXContent(parser);
} else if (COLLAPSE.match(currentFieldName)) {
- collapse = CollapseBuilder.fromXContent(context);
+ collapse = CollapseBuilder.fromXContent(parser);
} else {
throw new ParsingException(parser.getTokenLocation(), "Unknown key for a " + token + " in [" + currentFieldName + "].",
parser.getTokenLocation());
}
} else if (token == XContentParser.Token.START_ARRAY) {
if (STORED_FIELDS_FIELD.match(currentFieldName)) {
- storedFieldsContext = StoredFieldsContext.fromXContent(STORED_FIELDS_FIELD.getPreferredName(), context);
+ storedFieldsContext = StoredFieldsContext.fromXContent(STORED_FIELDS_FIELD.getPreferredName(), parser);
} else if (DOCVALUE_FIELDS_FIELD.match(currentFieldName)) {
docValueFields = new ArrayList<>();
while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) {
@@ -1084,14 +1082,14 @@ public final class SearchSourceBuilder extends ToXContentToBytes implements Writ
}
} else if (INDICES_BOOST_FIELD.match(currentFieldName)) {
while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) {
- indexBoosts.add(new IndexBoost(context));
+ indexBoosts.add(new IndexBoost(parser));
}
} else if (SORT_FIELD.match(currentFieldName)) {
sorts = new ArrayList<>(SortBuilder.fromXContent(parser));
} else if (RESCORE_FIELD.match(currentFieldName)) {
rescoreBuilders = new ArrayList<>();
while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) {
- rescoreBuilders.add(RescoreBuilder.parseFromXContent(context));
+ rescoreBuilders.add(RescoreBuilder.parseFromXContent(parser));
}
} else if (STATS_FIELD.match(currentFieldName)) {
stats = new ArrayList<>();
@@ -1104,7 +1102,7 @@ public final class SearchSourceBuilder extends ToXContentToBytes implements Writ
}
}
} else if (_SOURCE_FIELD.match(currentFieldName)) {
- fetchSourceContext = FetchSourceContext.fromXContent(context.parser());
+ fetchSourceContext = FetchSourceContext.fromXContent(parser);
} else if (SEARCH_AFTER.match(currentFieldName)) {
searchAfterBuilder = SearchAfterBuilder.fromXContent(parser);
} else if (FIELDS_FIELD.match(currentFieldName)) {
@@ -1276,8 +1274,7 @@ public final class SearchSourceBuilder extends ToXContentToBytes implements Writ
boost = in.readFloat();
}
- IndexBoost(QueryParseContext context) throws IOException {
- XContentParser parser = context.parser();
+ IndexBoost(XContentParser parser) throws IOException {
XContentParser.Token token = parser.currentToken();
if (token == XContentParser.Token.START_OBJECT) {
diff --git a/core/src/main/java/org/elasticsearch/search/collapse/CollapseBuilder.java b/core/src/main/java/org/elasticsearch/search/collapse/CollapseBuilder.java
index 91dd71d8a2..696e7f2c4e 100644
--- a/core/src/main/java/org/elasticsearch/search/collapse/CollapseBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/collapse/CollapseBuilder.java
@@ -35,7 +35,6 @@ import org.elasticsearch.index.mapper.KeywordFieldMapper;
import org.elasticsearch.index.mapper.MappedFieldType;
import org.elasticsearch.index.mapper.NumberFieldMapper;
import org.elasticsearch.index.query.InnerHitBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.SearchContextException;
import org.elasticsearch.search.internal.SearchContext;
@@ -52,7 +51,7 @@ public class CollapseBuilder implements Writeable, ToXContentObject {
public static final ParseField FIELD_FIELD = new ParseField("field");
public static final ParseField INNER_HITS_FIELD = new ParseField("inner_hits");
public static final ParseField MAX_CONCURRENT_GROUP_REQUESTS_FIELD = new ParseField("max_concurrent_group_searches");
- private static final ObjectParser<CollapseBuilder, QueryParseContext> PARSER =
+ private static final ObjectParser<CollapseBuilder, Void> PARSER =
new ObjectParser<>("collapse", CollapseBuilder::new);
static {
@@ -122,8 +121,8 @@ public class CollapseBuilder implements Writeable, ToXContentObject {
}
}
- public static CollapseBuilder fromXContent(QueryParseContext context) throws IOException {
- CollapseBuilder builder = PARSER.parse(context.parser(), new CollapseBuilder(), context);
+ public static CollapseBuilder fromXContent(XContentParser parser) throws IOException {
+ CollapseBuilder builder = PARSER.parse(parser, new CollapseBuilder(), null);
return builder;
}
diff --git a/core/src/main/java/org/elasticsearch/search/fetch/StoredFieldsContext.java b/core/src/main/java/org/elasticsearch/search/fetch/StoredFieldsContext.java
index 5d6c587e23..8cb175ae15 100644
--- a/core/src/main/java/org/elasticsearch/search/fetch/StoredFieldsContext.java
+++ b/core/src/main/java/org/elasticsearch/search/fetch/StoredFieldsContext.java
@@ -26,7 +26,6 @@ import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.io.stream.Writeable;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.rest.RestRequest;
import java.io.IOException;
@@ -164,8 +163,7 @@ public class StoredFieldsContext implements Writeable {
return new StoredFieldsContext(fieldNames);
}
- public static StoredFieldsContext fromXContent(String fieldName, QueryParseContext context) throws IOException {
- XContentParser parser = context.parser();
+ public static StoredFieldsContext fromXContent(String fieldName, XContentParser parser) throws IOException {
XContentParser.Token token = parser.currentToken();
if (token == XContentParser.Token.VALUE_STRING) {
diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/AbstractHighlighterBuilder.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/AbstractHighlighterBuilder.java
index 43e8bf1eb8..ece1f1df0c 100644
--- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/AbstractHighlighterBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/AbstractHighlighterBuilder.java
@@ -32,7 +32,6 @@ import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder.BoundaryScannerType;
import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder.Order;
@@ -595,7 +594,7 @@ public abstract class AbstractHighlighterBuilder<HB extends AbstractHighlighterB
}
static <HB extends AbstractHighlighterBuilder<HB>> BiFunction<XContentParser, HB, HB> setupParser(
- ObjectParser<HB, QueryParseContext> parser) {
+ ObjectParser<HB, Void> parser) {
parser.declareStringArray(fromList(String.class, HB::preTags), PRE_TAGS_FIELD);
parser.declareStringArray(fromList(String.class, HB::postTags), POST_TAGS_FIELD);
parser.declareString(HB::order, ORDER_FIELD);
@@ -612,14 +611,14 @@ public abstract class AbstractHighlighterBuilder<HB extends AbstractHighlighterB
parser.declareInt(HB::noMatchSize, NO_MATCH_SIZE_FIELD);
parser.declareBoolean(HB::forceSource, FORCE_SOURCE_FIELD);
parser.declareInt(HB::phraseLimit, PHRASE_LIMIT_FIELD);
- parser.declareObject(HB::options, (XContentParser p, QueryParseContext c) -> {
+ parser.declareObject(HB::options, (XContentParser p, Void c) -> {
try {
return p.map();
} catch (IOException e) {
throw new RuntimeException("Error parsing options", e);
}
}, OPTIONS_FIELD);
- parser.declareObject(HB::highlightQuery, (XContentParser p, QueryParseContext c) -> {
+ parser.declareObject(HB::highlightQuery, (XContentParser p, Void c) -> {
try {
return parseInnerQueryBuilder(p);
} catch (IOException e) {
diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightBuilder.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightBuilder.java
index 55310dafb0..ff45b9889f 100644
--- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightBuilder.java
@@ -30,7 +30,6 @@ import org.elasticsearch.common.xcontent.ObjectParser.NamedObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.search.fetch.subphase.highlight.SearchContextHighlight.FieldOptions;
@@ -258,7 +257,7 @@ public class HighlightBuilder extends AbstractHighlighterBuilder<HighlightBuilde
private static final BiFunction<XContentParser, HighlightBuilder, HighlightBuilder> PARSER;
static {
- ObjectParser<HighlightBuilder, QueryParseContext> parser = new ObjectParser<>("highlight");
+ ObjectParser<HighlightBuilder, Void> parser = new ObjectParser<>("highlight");
parser.declareString(HighlightBuilder::tagsSchema, new ParseField("tags_schema"));
parser.declareString(HighlightBuilder::encoder, ENCODER_FIELD);
parser.declareNamedObjects(HighlightBuilder::fields, Field.PARSER, (HighlightBuilder hb) -> hb.useExplicitFieldOrder(true),
@@ -417,13 +416,13 @@ public class HighlightBuilder extends AbstractHighlighterBuilder<HighlightBuilde
}
public static class Field extends AbstractHighlighterBuilder<Field> {
- static final NamedObjectParser<Field, QueryParseContext> PARSER;
+ static final NamedObjectParser<Field, Void> PARSER;
static {
- ObjectParser<Field, QueryParseContext> parser = new ObjectParser<>("highlight_field");
+ ObjectParser<Field, Void> parser = new ObjectParser<>("highlight_field");
parser.declareInt(Field::fragmentOffset, FRAGMENT_OFFSET_FIELD);
parser.declareStringArray(fromList(String.class, Field::matchedFields), MATCHED_FIELDS_FIELD);
BiFunction<XContentParser, Field, Field> decoratedParser = setupParser(parser);
- PARSER = (XContentParser p, QueryParseContext c, String name) -> decoratedParser.apply(p, new Field(name));
+ PARSER = (XContentParser p, Void c, String name) -> decoratedParser.apply(p, new Field(name));
}
private final String name;
diff --git a/core/src/main/java/org/elasticsearch/search/rescore/QueryRescorerBuilder.java b/core/src/main/java/org/elasticsearch/search/rescore/QueryRescorerBuilder.java
index 3112b0db0a..8a02841f34 100644
--- a/core/src/main/java/org/elasticsearch/search/rescore/QueryRescorerBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/rescore/QueryRescorerBuilder.java
@@ -25,8 +25,8 @@ import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.search.rescore.QueryRescorer.QueryRescoreContext;
@@ -53,7 +53,7 @@ public class QueryRescorerBuilder extends RescoreBuilder<QueryRescorerBuilder> {
private static ParseField RESCORE_QUERY_WEIGHT_FIELD = new ParseField("rescore_query_weight");
private static ParseField SCORE_MODE_FIELD = new ParseField("score_mode");
- private static final ObjectParser<InnerBuilder, QueryParseContext> QUERY_RESCORE_PARSER = new ObjectParser<>(NAME, null);
+ private static final ObjectParser<InnerBuilder, Void> QUERY_RESCORE_PARSER = new ObjectParser<>(NAME, null);
static {
QUERY_RESCORE_PARSER.declareObject(InnerBuilder::setQueryBuilder, (p, c) -> {
@@ -161,8 +161,8 @@ public class QueryRescorerBuilder extends RescoreBuilder<QueryRescorerBuilder> {
builder.endObject();
}
- public static QueryRescorerBuilder fromXContent(QueryParseContext parseContext) throws IOException {
- InnerBuilder innerBuilder = QUERY_RESCORE_PARSER.parse(parseContext.parser(), new InnerBuilder(), parseContext);
+ public static QueryRescorerBuilder fromXContent(XContentParser parser) throws IOException {
+ InnerBuilder innerBuilder = QUERY_RESCORE_PARSER.parse(parser, new InnerBuilder(), null);
return innerBuilder.build();
}
diff --git a/core/src/main/java/org/elasticsearch/search/rescore/RescoreBuilder.java b/core/src/main/java/org/elasticsearch/search/rescore/RescoreBuilder.java
index ac136a7601..d9ce4f805e 100644
--- a/core/src/main/java/org/elasticsearch/search/rescore/RescoreBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/rescore/RescoreBuilder.java
@@ -28,7 +28,6 @@ import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.search.rescore.QueryRescorer.QueryRescoreContext;
@@ -75,8 +74,7 @@ public abstract class RescoreBuilder<RB extends RescoreBuilder<RB>> extends ToXC
return windowSize;
}
- public static RescoreBuilder<?> parseFromXContent(QueryParseContext parseContext) throws IOException {
- XContentParser parser = parseContext.parser();
+ public static RescoreBuilder<?> parseFromXContent(XContentParser parser) throws IOException {
String fieldName = null;
RescoreBuilder<?> rescorer = null;
Integer windowSize = null;
@@ -93,7 +91,7 @@ public abstract class RescoreBuilder<RB extends RescoreBuilder<RB>> extends ToXC
} else if (token == XContentParser.Token.START_OBJECT) {
// we only have QueryRescorer at this point
if (QueryRescorerBuilder.NAME.equals(fieldName)) {
- rescorer = QueryRescorerBuilder.fromXContent(parseContext);
+ rescorer = QueryRescorerBuilder.fromXContent(parser);
} else {
throw new ParsingException(parser.getTokenLocation(), "rescore doesn't support rescorer with name [" + fieldName + "]");
}
diff --git a/core/src/main/java/org/elasticsearch/search/slice/SliceBuilder.java b/core/src/main/java/org/elasticsearch/search/slice/SliceBuilder.java
index 522ecb44d0..b09252889c 100644
--- a/core/src/main/java/org/elasticsearch/search/slice/SliceBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/slice/SliceBuilder.java
@@ -30,13 +30,12 @@ import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.io.stream.Writeable;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.fielddata.IndexFieldData;
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
import org.elasticsearch.index.mapper.IdFieldMapper;
import org.elasticsearch.index.mapper.MappedFieldType;
-import org.elasticsearch.index.mapper.MapperService;
import org.elasticsearch.index.mapper.UidFieldMapper;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import java.io.IOException;
@@ -57,7 +56,7 @@ public class SliceBuilder extends ToXContentToBytes implements Writeable {
public static final ParseField FIELD_FIELD = new ParseField("field");
public static final ParseField ID_FIELD = new ParseField("id");
public static final ParseField MAX_FIELD = new ParseField("max");
- private static final ObjectParser<SliceBuilder, QueryParseContext> PARSER =
+ private static final ObjectParser<SliceBuilder, Void> PARSER =
new ObjectParser<>("slice", SliceBuilder::new);
static {
@@ -169,8 +168,8 @@ public class SliceBuilder extends ToXContentToBytes implements Writeable {
builder.field(MAX_FIELD.getPreferredName(), max);
}
- public static SliceBuilder fromXContent(QueryParseContext context) throws IOException {
- SliceBuilder builder = PARSER.parse(context.parser(), new SliceBuilder(), context);
+ public static SliceBuilder fromXContent(XContentParser parser) throws IOException {
+ SliceBuilder builder = PARSER.parse(parser, new SliceBuilder(), null);
return builder;
}
diff --git a/core/src/main/java/org/elasticsearch/search/sort/FieldSortBuilder.java b/core/src/main/java/org/elasticsearch/search/sort/FieldSortBuilder.java
index 1ba34d65b2..566a461586 100644
--- a/core/src/main/java/org/elasticsearch/search/sort/FieldSortBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/sort/FieldSortBuilder.java
@@ -32,7 +32,6 @@ import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.N
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
import org.elasticsearch.index.mapper.MappedFieldType;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.index.query.QueryShardException;
import org.elasticsearch.search.DocValueFormat;
@@ -313,7 +312,7 @@ public class FieldSortBuilder extends SortBuilder<FieldSortBuilder> {
}
/**
- * Creates a new {@link FieldSortBuilder} from the query held by the {@link QueryParseContext} in
+ * Creates a new {@link FieldSortBuilder} from the query held by the {@link XContentParser} in
* {@link org.elasticsearch.common.xcontent.XContent} format.
*
* @param parser the input parser. The state on the parser contained in this context will be changed as a side effect of this
@@ -325,7 +324,7 @@ public class FieldSortBuilder extends SortBuilder<FieldSortBuilder> {
return PARSER.parse(parser, new FieldSortBuilder(fieldName), null);
}
- private static ObjectParser<FieldSortBuilder, QueryParseContext> PARSER = new ObjectParser<>(NAME);
+ private static ObjectParser<FieldSortBuilder, Void> PARSER = new ObjectParser<>(NAME);
static {
PARSER.declareField(FieldSortBuilder::missing, p -> p.objectText(), MISSING, ValueType.VALUE);
diff --git a/core/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java b/core/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java
index cb6425e8b0..adde80fcd9 100644
--- a/core/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java
@@ -48,7 +48,6 @@ import org.elasticsearch.index.fielddata.plain.AbstractLatLonPointDVIndexFieldDa
import org.elasticsearch.index.mapper.MappedFieldType;
import org.elasticsearch.index.query.GeoValidationMethod;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.search.DocValueFormat;
import org.elasticsearch.search.MultiValueMode;
@@ -384,7 +383,7 @@ public class GeoDistanceSortBuilder extends SortBuilder<GeoDistanceSortBuilder>
}
/**
- * Creates a new {@link GeoDistanceSortBuilder} from the query held by the {@link QueryParseContext} in
+ * Creates a new {@link GeoDistanceSortBuilder} from the query held by the {@link XContentParser} in
* {@link org.elasticsearch.common.xcontent.XContent} format.
*
* @param parser the input parser. The state on the parser contained in this context will be changed as a
diff --git a/core/src/main/java/org/elasticsearch/search/sort/ScoreSortBuilder.java b/core/src/main/java/org/elasticsearch/search/sort/ScoreSortBuilder.java
index fb727da0a2..c2917ec934 100644
--- a/core/src/main/java/org/elasticsearch/search/sort/ScoreSortBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/sort/ScoreSortBuilder.java
@@ -25,7 +25,6 @@ import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.search.DocValueFormat;
@@ -74,7 +73,7 @@ public class ScoreSortBuilder extends SortBuilder<ScoreSortBuilder> {
}
/**
- * Creates a new {@link ScoreSortBuilder} from the query held by the {@link QueryParseContext} in
+ * Creates a new {@link ScoreSortBuilder} from the query held by the {@link XContentParser} in
* {@link org.elasticsearch.common.xcontent.XContent} format.
*
* @param parser the input parser. The state on the parser contained in this context will be changed as a side effect of this
@@ -82,11 +81,11 @@ public class ScoreSortBuilder extends SortBuilder<ScoreSortBuilder> {
* @param fieldName in some sort syntax variations the field name precedes the xContent object that specifies further parameters, e.g.
* in '{ "foo": { "order" : "asc"} }'. When parsing the inner object, the field name can be passed in via this argument
*/
- public static ScoreSortBuilder fromXContent(XContentParser parser, String fieldName) throws IOException {
+ public static ScoreSortBuilder fromXContent(XContentParser parser, String fieldName) {
return PARSER.apply(parser, null);
}
- private static ObjectParser<ScoreSortBuilder, QueryParseContext> PARSER = new ObjectParser<>(NAME, ScoreSortBuilder::new);
+ private static ObjectParser<ScoreSortBuilder, Void> PARSER = new ObjectParser<>(NAME, ScoreSortBuilder::new);
static {
PARSER.declareString((builder, order) -> builder.order(SortOrder.fromString(order)), ORDER_FIELD);
diff --git a/core/src/main/java/org/elasticsearch/search/sort/ScriptSortBuilder.java b/core/src/main/java/org/elasticsearch/search/sort/ScriptSortBuilder.java
index 8e743dbbca..1e9f1b036d 100644
--- a/core/src/main/java/org/elasticsearch/search/sort/ScriptSortBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/sort/ScriptSortBuilder.java
@@ -43,7 +43,6 @@ import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
import org.elasticsearch.index.fielddata.fieldcomparator.BytesRefFieldComparatorSource;
import org.elasticsearch.index.fielddata.fieldcomparator.DoubleValuesComparatorSource;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.index.query.QueryShardException;
import org.elasticsearch.script.Script;
@@ -212,7 +211,7 @@ public class ScriptSortBuilder extends SortBuilder<ScriptSortBuilder> {
return builder;
}
- private static ConstructingObjectParser<ScriptSortBuilder, QueryParseContext> PARSER = new ConstructingObjectParser<>(NAME,
+ private static ConstructingObjectParser<ScriptSortBuilder, Void> PARSER = new ConstructingObjectParser<>(NAME,
a -> new ScriptSortBuilder((Script) a[0], (ScriptSortType) a[1]));
static {
@@ -226,7 +225,7 @@ public class ScriptSortBuilder extends SortBuilder<ScriptSortBuilder> {
}
/**
- * Creates a new {@link ScriptSortBuilder} from the query held by the {@link QueryParseContext} in
+ * Creates a new {@link ScriptSortBuilder} from the query held by the {@link XContentParser} in
* {@link org.elasticsearch.common.xcontent.XContent} format.
*
* @param parser the input parser. The state on the parser contained in this context will be changed as a side effect of this
@@ -234,7 +233,7 @@ public class ScriptSortBuilder extends SortBuilder<ScriptSortBuilder> {
* @param elementName in some sort syntax variations the field name precedes the xContent object that specifies further parameters, e.g.
* in '{ "foo": { "order" : "asc"} }'. When parsing the inner object, the field name can be passed in via this argument
*/
- public static ScriptSortBuilder fromXContent(XContentParser parser, String elementName) throws IOException {
+ public static ScriptSortBuilder fromXContent(XContentParser parser, String elementName) {
return PARSER.apply(parser, null);
}
diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java
index 91dfd51099..b951a30619 100644
--- a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java
+++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java
@@ -276,7 +276,7 @@ public class CompletionSuggestionBuilder extends SuggestionBuilder<CompletionSug
if (currentToken == XContentParser.Token.FIELD_NAME) {
currentFieldName = contextParser.currentName();
final ContextMapping mapping = contextMappings.get(currentFieldName);
- queryContexts.put(currentFieldName, mapping.parseQueryContext(context.newParseContext(contextParser)));
+ queryContexts.put(currentFieldName, mapping.parseQueryContext(contextParser));
}
}
suggestionContext.setQueryContexts(queryContexts);
diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryContextMapping.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryContextMapping.java
index 92091d8b69..e29ed3a5a5 100644
--- a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryContextMapping.java
+++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryContextMapping.java
@@ -28,7 +28,6 @@ import org.elasticsearch.common.xcontent.XContentParser.Token;
import org.elasticsearch.index.mapper.KeywordFieldMapper;
import org.elasticsearch.index.mapper.ParseContext;
import org.elasticsearch.index.mapper.ParseContext.Document;
-import org.elasticsearch.index.query.QueryParseContext;
import java.io.IOException;
import java.util.ArrayList;
@@ -148,8 +147,8 @@ public class CategoryContextMapping extends ContextMapping<CategoryQueryContext>
}
@Override
- protected CategoryQueryContext fromXContent(QueryParseContext context) throws IOException {
- return CategoryQueryContext.fromXContent(context);
+ protected CategoryQueryContext fromXContent(XContentParser parser) throws IOException {
+ return CategoryQueryContext.fromXContent(parser);
}
/**
diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryQueryContext.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryQueryContext.java
index 51b740a352..10cf2009a4 100644
--- a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryQueryContext.java
+++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/CategoryQueryContext.java
@@ -26,7 +26,6 @@ import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.ToXContent;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import java.io.IOException;
import java.util.Objects;
@@ -105,8 +104,7 @@ public final class CategoryQueryContext implements ToXContent {
CATEGORY_PARSER.declareBoolean(Builder::setPrefix, new ParseField(CONTEXT_PREFIX));
}
- public static CategoryQueryContext fromXContent(QueryParseContext context) throws IOException {
- XContentParser parser = context.parser();
+ public static CategoryQueryContext fromXContent(XContentParser parser) throws IOException {
XContentParser.Token token = parser.currentToken();
Builder builder = builder();
if (token == XContentParser.Token.START_OBJECT) {
@@ -114,7 +112,7 @@ public final class CategoryQueryContext implements ToXContent {
CATEGORY_PARSER.parse(parser, builder, null);
} catch(ParsingException e) {
throw new ElasticsearchParseException("category context must be a string, number or boolean");
- }
+ }
} else if (token == XContentParser.Token.VALUE_STRING || token == XContentParser.Token.VALUE_BOOLEAN
|| token == XContentParser.Token.VALUE_NUMBER) {
builder.setCategory(parser.text());
diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/ContextMapping.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/ContextMapping.java
index 273138bbb7..697394f3ef 100644
--- a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/ContextMapping.java
+++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/ContextMapping.java
@@ -27,7 +27,6 @@ import org.elasticsearch.common.xcontent.XContentParser.Token;
import org.elasticsearch.common.xcontent.json.JsonXContent;
import org.elasticsearch.index.mapper.CompletionFieldMapper;
import org.elasticsearch.index.mapper.ParseContext;
-import org.elasticsearch.index.query.QueryParseContext;
import java.io.IOException;
import java.util.ArrayList;
@@ -100,23 +99,22 @@ public abstract class ContextMapping<T extends ToXContent> implements ToXContent
/**
* Prototype for the query context
*/
- protected abstract T fromXContent(QueryParseContext context) throws IOException;
+ protected abstract T fromXContent(XContentParser context) throws IOException;
/**
* Parses query contexts for this mapper
*/
- public final List<InternalQueryContext> parseQueryContext(QueryParseContext context) throws IOException, ElasticsearchParseException {
+ public final List<InternalQueryContext> parseQueryContext(XContentParser parser) throws IOException, ElasticsearchParseException {
List<T> queryContexts = new ArrayList<>();
- XContentParser parser = context.parser();
Token token = parser.nextToken();
if (token == Token.START_ARRAY) {
while (parser.nextToken() != Token.END_ARRAY) {
- queryContexts.add(fromXContent(context));
+ queryContexts.add(fromXContent(parser));
}
} else {
- queryContexts.add(fromXContent(context));
+ queryContexts.add(fromXContent(parser));
}
-
+
return toInternalQueryContexts(queryContexts);
}
diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/GeoContextMapping.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/GeoContextMapping.java
index a689d21e70..b464d6069e 100644
--- a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/GeoContextMapping.java
+++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/GeoContextMapping.java
@@ -29,11 +29,10 @@ import org.elasticsearch.common.unit.DistanceUnit;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.XContentParser.Token;
-import org.elasticsearch.index.mapper.GeoPointFieldMapper;
import org.elasticsearch.index.mapper.FieldMapper;
+import org.elasticsearch.index.mapper.GeoPointFieldMapper;
import org.elasticsearch.index.mapper.ParseContext;
import org.elasticsearch.index.mapper.ParseContext.Document;
-import org.elasticsearch.index.query.QueryParseContext;
import java.io.IOException;
import java.util.ArrayList;
@@ -225,8 +224,8 @@ public class GeoContextMapping extends ContextMapping<GeoQueryContext> {
}
@Override
- protected GeoQueryContext fromXContent(QueryParseContext context) throws IOException {
- return GeoQueryContext.fromXContent(context);
+ protected GeoQueryContext fromXContent(XContentParser parser) throws IOException {
+ return GeoQueryContext.fromXContent(parser);
}
/**
diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/GeoQueryContext.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/GeoQueryContext.java
index e2f00c0001..304bc854d2 100644
--- a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/GeoQueryContext.java
+++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/GeoQueryContext.java
@@ -27,7 +27,6 @@ import org.elasticsearch.common.xcontent.ObjectParser;
import org.elasticsearch.common.xcontent.ToXContent;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import java.io.IOException;
import java.util.Collections;
@@ -124,8 +123,7 @@ public final class GeoQueryContext implements ToXContent {
GEO_CONTEXT_PARSER.declareDouble(GeoQueryContext.Builder::setLon, new ParseField("lon"));
}
- public static GeoQueryContext fromXContent(QueryParseContext context) throws IOException {
- XContentParser parser = context.parser();
+ public static GeoQueryContext fromXContent(XContentParser parser) throws IOException {
XContentParser.Token token = parser.currentToken();
GeoQueryContext.Builder builder = new Builder();
if (token == XContentParser.Token.START_OBJECT) {
diff --git a/core/src/test/java/org/elasticsearch/index/query/QueryParseContextTests.java b/core/src/test/java/org/elasticsearch/index/query/AbstractQueryBuilderTests.java
index 5bd6a8a582..68f964e2c8 100644
--- a/core/src/test/java/org/elasticsearch/index/query/QueryParseContextTests.java
+++ b/core/src/test/java/org/elasticsearch/index/query/AbstractQueryBuilderTests.java
@@ -20,17 +20,13 @@
package org.elasticsearch.index.query;
import org.elasticsearch.common.ParsingException;
-import org.elasticsearch.common.logging.DeprecationLogger;
import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.common.util.concurrent.ThreadContext;
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.json.JsonXContent;
import org.elasticsearch.search.SearchModule;
import org.elasticsearch.test.ESTestCase;
-import org.junit.After;
import org.junit.AfterClass;
-import org.junit.Before;
import org.junit.BeforeClass;
import java.io.IOException;
@@ -38,7 +34,8 @@ import java.io.IOException;
import static java.util.Collections.emptyList;
import static org.elasticsearch.index.query.AbstractQueryBuilder.parseInnerQueryBuilder;
-public class QueryParseContextTests extends ESTestCase {
+public class AbstractQueryBuilderTests extends ESTestCase {
+
private static NamedXContentRegistry xContentRegistry;
@BeforeClass
@@ -51,20 +48,6 @@ public class QueryParseContextTests extends ESTestCase {
xContentRegistry = null;
}
- private ThreadContext threadContext;
-
- @Before
- public void beforeTest() throws IOException {
- this.threadContext = new ThreadContext(Settings.EMPTY);
- DeprecationLogger.setThreadContext(threadContext);
- }
-
- @After
- public void teardown() throws IOException {
- DeprecationLogger.removeThreadContext(this.threadContext);
- this.threadContext.close();
- }
-
public void testParseInnerQueryBuilder() throws IOException {
QueryBuilder query = new MatchQueryBuilder("foo", "bar");
String source = query.toString();
@@ -91,7 +74,6 @@ public class QueryParseContextTests extends ESTestCase {
source = "{ \"foo\" : \"bar\" }";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, source)) {
- QueryParseContext context = new QueryParseContext(parser);
ParsingException exception = expectThrows(ParsingException.class, () -> parseInnerQueryBuilder(parser));
assertEquals("[foo] query malformed, no start_object after query name", exception.getMessage());
}
@@ -107,4 +89,5 @@ public class QueryParseContextTests extends ESTestCase {
protected NamedXContentRegistry xContentRegistry() {
return xContentRegistry;
}
+
}
diff --git a/core/src/test/java/org/elasticsearch/index/query/RangeQueryBuilderTests.java b/core/src/test/java/org/elasticsearch/index/query/RangeQueryBuilderTests.java
index 4902aa8fa6..2f898481ed 100644
--- a/core/src/test/java/org/elasticsearch/index/query/RangeQueryBuilderTests.java
+++ b/core/src/test/java/org/elasticsearch/index/query/RangeQueryBuilderTests.java
@@ -224,7 +224,7 @@ public class RangeQueryBuilderTests extends AbstractQueryTestCase<RangeQueryBuil
/**
* Specifying a timezone together with a numeric range query should throw an exception.
*/
- public void testToQueryNonDateWithTimezone() throws QueryShardException, IOException {
+ public void testToQueryNonDateWithTimezone() throws QueryShardException {
RangeQueryBuilder query = new RangeQueryBuilder(INT_FIELD_NAME);
query.from(1).to(10).timeZone("UTC");
QueryShardException e = expectThrows(QueryShardException.class, () -> query.toQuery(createShardContext()));
@@ -234,7 +234,7 @@ public class RangeQueryBuilderTests extends AbstractQueryTestCase<RangeQueryBuil
/**
* Specifying a timezone together with an unmapped field should throw an exception.
*/
- public void testToQueryUnmappedWithTimezone() throws QueryShardException, IOException {
+ public void testToQueryUnmappedWithTimezone() throws QueryShardException {
RangeQueryBuilder query = new RangeQueryBuilder("bogus_field");
query.from(1).to(10).timeZone("UTC");
QueryShardException e = expectThrows(QueryShardException.class, () -> query.toQuery(createShardContext()));
@@ -410,7 +410,7 @@ public class RangeQueryBuilderTests extends AbstractQueryTestCase<RangeQueryBuil
String fieldName = randomAlphaOfLengthBetween(1, 20);
RangeQueryBuilder query = new RangeQueryBuilder(fieldName) {
@Override
- protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) throws IOException {
+ protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) {
return Relation.WITHIN;
}
};
@@ -431,7 +431,7 @@ public class RangeQueryBuilderTests extends AbstractQueryTestCase<RangeQueryBuil
String fieldName = randomAlphaOfLengthBetween(1, 20);
RangeQueryBuilder query = new RangeQueryBuilder(fieldName) {
@Override
- protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) throws IOException {
+ protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) {
return Relation.WITHIN;
}
};
@@ -456,7 +456,7 @@ public class RangeQueryBuilderTests extends AbstractQueryTestCase<RangeQueryBuil
String fieldName = randomAlphaOfLengthBetween(1, 20);
RangeQueryBuilder query = new RangeQueryBuilder(fieldName) {
@Override
- protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) throws IOException {
+ protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) {
return Relation.DISJOINT;
}
};
@@ -473,7 +473,7 @@ public class RangeQueryBuilderTests extends AbstractQueryTestCase<RangeQueryBuil
String fieldName = randomAlphaOfLengthBetween(1, 20);
RangeQueryBuilder query = new RangeQueryBuilder(fieldName) {
@Override
- protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) throws IOException {
+ protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) {
return Relation.INTERSECTS;
}
};
@@ -490,7 +490,7 @@ public class RangeQueryBuilderTests extends AbstractQueryTestCase<RangeQueryBuil
String fieldName = randomAlphaOfLengthBetween(1, 20);
RangeQueryBuilder query = new RangeQueryBuilder(fieldName) {
@Override
- protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) throws IOException {
+ protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) {
return Relation.INTERSECTS;
}
};
@@ -499,7 +499,7 @@ public class RangeQueryBuilderTests extends AbstractQueryTestCase<RangeQueryBuil
assertThat(rewritten, sameInstance(query));
}
- public void testParseFailsWithMultipleFields() throws IOException {
+ public void testParseFailsWithMultipleFields() {
String json =
"{\n" +
" \"range\": {\n" +
@@ -517,7 +517,7 @@ public class RangeQueryBuilderTests extends AbstractQueryTestCase<RangeQueryBuil
assertEquals("[range] query doesn't support multiple fields, found [age] and [price]", e.getMessage());
}
- public void testParseFailsWithMultipleFieldsWhenOneIsDate() throws IOException {
+ public void testParseFailsWithMultipleFieldsWhenOneIsDate() {
String json =
"{\n" +
" \"range\": {\n" +
diff --git a/core/src/test/java/org/elasticsearch/search/SearchModuleTests.java b/core/src/test/java/org/elasticsearch/search/SearchModuleTests.java
index 4b053b1968..64c2a287b3 100644
--- a/core/src/test/java/org/elasticsearch/search/SearchModuleTests.java
+++ b/core/src/test/java/org/elasticsearch/search/SearchModuleTests.java
@@ -24,8 +24,8 @@ import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
import org.elasticsearch.common.xcontent.XContentBuilder;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.TermQueryBuilder;
import org.elasticsearch.index.query.functionscore.GaussDecayFunctionBuilder;
import org.elasticsearch.plugins.SearchPlugin;
@@ -91,6 +91,7 @@ public class SearchModuleTests extends ModuleTestCase {
() -> new SearchModule(Settings.EMPTY, false, singletonList(registersDupeHighlighter)));
SearchPlugin registersDupeSuggester = new SearchPlugin() {
+ @Override
public List<SearchPlugin.SuggesterSpec<?>> getSuggesters() {
return singletonList(new SuggesterSpec<>("term", TermSuggestionBuilder::new, TermSuggestionBuilder::fromXContent));
}
@@ -136,6 +137,7 @@ public class SearchModuleTests extends ModuleTestCase {
singletonList(registersDupeFetchSubPhase)));
SearchPlugin registersDupeQuery = new SearchPlugin() {
+ @Override
public List<SearchPlugin.QuerySpec<?>> getQueries() {
return singletonList(new QuerySpec<>(TermQueryBuilder.NAME, TermQueryBuilder::new, TermQueryBuilder::fromXContent));
}
@@ -144,6 +146,7 @@ public class SearchModuleTests extends ModuleTestCase {
new SearchModule(Settings.EMPTY, false, singletonList(registersDupeQuery)).getNamedXContents()));
SearchPlugin registersDupeAggregation = new SearchPlugin() {
+ @Override
public List<AggregationSpec> getAggregations() {
return singletonList(new AggregationSpec(TermsAggregationBuilder.NAME, TermsAggregationBuilder::new,
TermsAggregationBuilder::parse));
@@ -153,6 +156,7 @@ public class SearchModuleTests extends ModuleTestCase {
singletonList(registersDupeAggregation)).getNamedXContents()));
SearchPlugin registersDupePipelineAggregation = new SearchPlugin() {
+ @Override
public List<PipelineAggregationSpec> getPipelineAggregations() {
return singletonList(new PipelineAggregationSpec(
DerivativePipelineAggregationBuilder.NAME,
@@ -229,6 +233,7 @@ public class SearchModuleTests extends ModuleTestCase {
public void testRegisterAggregation() {
SearchModule module = new SearchModule(Settings.EMPTY, false, singletonList(new SearchPlugin() {
+ @Override
public List<AggregationSpec> getAggregations() {
return singletonList(new AggregationSpec("test", TestAggregationBuilder::new, TestAggregationBuilder::fromXContent));
}
@@ -243,6 +248,7 @@ public class SearchModuleTests extends ModuleTestCase {
public void testRegisterPipelineAggregation() {
SearchModule module = new SearchModule(Settings.EMPTY, false, singletonList(new SearchPlugin() {
+ @Override
public List<PipelineAggregationSpec> getPipelineAggregations() {
return singletonList(new PipelineAggregationSpec("test",
TestPipelineAggregationBuilder::new, TestPipelineAggregator::new, TestPipelineAggregationBuilder::fromXContent));
@@ -344,7 +350,7 @@ public class SearchModuleTests extends ModuleTestCase {
return false;
}
- private static TestAggregationBuilder fromXContent(String name, QueryParseContext c) {
+ private static TestAggregationBuilder fromXContent(String name, XContentParser p) {
return null;
}
}
@@ -389,7 +395,7 @@ public class SearchModuleTests extends ModuleTestCase {
return false;
}
- private static TestPipelineAggregationBuilder fromXContent(String name, QueryParseContext c) {
+ private static TestPipelineAggregationBuilder fromXContent(String name, XContentParser p) {
return null;
}
}
diff --git a/core/src/test/java/org/elasticsearch/search/SearchServiceTests.java b/core/src/test/java/org/elasticsearch/search/SearchServiceTests.java
index 31edc3ac80..864a1806b6 100644
--- a/core/src/test/java/org/elasticsearch/search/SearchServiceTests.java
+++ b/core/src/test/java/org/elasticsearch/search/SearchServiceTests.java
@@ -19,6 +19,7 @@
package org.elasticsearch.search;
import com.carrotsearch.hppc.IntArrayList;
+
import org.apache.lucene.search.Query;
import org.apache.lucene.store.AlreadyClosedException;
import org.elasticsearch.action.ActionListener;
@@ -272,7 +273,7 @@ public class SearchServiceTests extends ESSingleNodeTestCase {
}
@Override
- protected QueryBuilder doRewrite(QueryRewriteContext queryShardContext) throws IOException {
+ protected QueryBuilder doRewrite(QueryRewriteContext queryShardContext) {
throw new IllegalStateException("Fail on rewrite phase");
}
diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/AggregationCollectorTests.java b/core/src/test/java/org/elasticsearch/search/aggregations/AggregationCollectorTests.java
index 4ddab52110..9b5d64b46b 100644
--- a/core/src/test/java/org/elasticsearch/search/aggregations/AggregationCollectorTests.java
+++ b/core/src/test/java/org/elasticsearch/search/aggregations/AggregationCollectorTests.java
@@ -22,7 +22,6 @@ package org.elasticsearch.search.aggregations;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.json.JsonXContent;
import org.elasticsearch.index.IndexService;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.internal.SearchContext;
import org.elasticsearch.test.ESSingleNodeTestCase;
@@ -58,10 +57,9 @@ public class AggregationCollectorTests extends ESSingleNodeTestCase {
private boolean needsScores(IndexService index, String agg) throws IOException {
XContentParser aggParser = createParser(JsonXContent.jsonXContent, agg);
- QueryParseContext parseContext = new QueryParseContext(aggParser);
aggParser.nextToken();
SearchContext context = createSearchContext(index);
- final AggregatorFactories factories = AggregatorFactories.parseAggregators(parseContext).build(context, null);
+ final AggregatorFactories factories = AggregatorFactories.parseAggregators(aggParser).build(context, null);
final Aggregator[] aggregators = factories.createTopLevelAggregators();
assertEquals(1, aggregators.length);
return aggregators[0].needsScores();
diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/AggregatorFactoriesTests.java b/core/src/test/java/org/elasticsearch/search/aggregations/AggregatorFactoriesTests.java
index a3ffd4108f..4d5af51ec1 100644
--- a/core/src/test/java/org/elasticsearch/search/aggregations/AggregatorFactoriesTests.java
+++ b/core/src/test/java/org/elasticsearch/search/aggregations/AggregatorFactoriesTests.java
@@ -26,8 +26,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.json.JsonXContent;
import org.elasticsearch.env.Environment;
-import org.elasticsearch.index.query.QueryParseContext;
-import org.elasticsearch.script.ScriptService;
import org.elasticsearch.search.SearchModule;
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregatorBuilders;
import org.elasticsearch.test.AbstractQueryTestCase;
@@ -96,9 +94,8 @@ public class AggregatorFactoriesTests extends ESTestCase {
.endObject()
.endObject();
XContentParser parser = createParser(source);
- QueryParseContext parseContext = new QueryParseContext(parser);
assertSame(XContentParser.Token.START_OBJECT, parser.nextToken());
- Exception e = expectThrows(ParsingException.class, () -> AggregatorFactories.parseAggregators(parseContext));
+ Exception e = expectThrows(ParsingException.class, () -> AggregatorFactories.parseAggregators(parser));
assertThat(e.toString(), containsString("Found two aggregation type definitions in [in_stock]: [filter] and [terms]"));
}
@@ -129,9 +126,8 @@ public class AggregatorFactoriesTests extends ESTestCase {
.endObject()
.endObject();
XContentParser parser = createParser(source);
- QueryParseContext parseContext = new QueryParseContext(parser);
assertSame(XContentParser.Token.START_OBJECT, parser.nextToken());
- Exception e = expectThrows(ParsingException.class, () -> AggregatorFactories.parseAggregators(parseContext));
+ Exception e = expectThrows(ParsingException.class, () -> AggregatorFactories.parseAggregators(parser));
assertThat(e.toString(), containsString("Found two sub aggregation definitions under [by_date]"));
}
@@ -164,9 +160,8 @@ public class AggregatorFactoriesTests extends ESTestCase {
.endObject()
.endObject();
XContentParser parser = createParser(source);
- QueryParseContext parseContext = new QueryParseContext(parser);
assertSame(XContentParser.Token.START_OBJECT, parser.nextToken());
- Exception e = expectThrows(ParsingException.class, () -> AggregatorFactories.parseAggregators(parseContext));
+ Exception e = expectThrows(ParsingException.class, () -> AggregatorFactories.parseAggregators(parser));
assertThat(e.toString(), containsString("Invalid aggregation name [" + name + "]"));
}
@@ -188,9 +183,8 @@ public class AggregatorFactoriesTests extends ESTestCase {
.endObject()
.endObject();
XContentParser parser = createParser(source);
- QueryParseContext parseContext = new QueryParseContext(parser);
assertSame(XContentParser.Token.START_OBJECT, parser.nextToken());
- Exception e = expectThrows(ParsingException.class, () -> AggregatorFactories.parseAggregators(parseContext));
+ Exception e = expectThrows(ParsingException.class, () -> AggregatorFactories.parseAggregators(parser));
assertThat(e.toString(), containsString("Two sibling aggregations cannot have the same name: [" + name + "]"));
}
@@ -213,9 +207,8 @@ public class AggregatorFactoriesTests extends ESTestCase {
.endObject()
.endObject();
XContentParser parser = createParser(source);
- QueryParseContext parseContext = new QueryParseContext(parser);
assertSame(XContentParser.Token.START_OBJECT, parser.nextToken());
- Exception e = expectThrows(ParsingException.class, () -> AggregatorFactories.parseAggregators(parseContext));
+ Exception e = expectThrows(ParsingException.class, () -> AggregatorFactories.parseAggregators(parser));
assertThat(e.toString(), containsString("Expected [START_OBJECT] under [field], but got a [VALUE_STRING] in [cardinality]"));
}
@@ -238,9 +231,8 @@ public class AggregatorFactoriesTests extends ESTestCase {
.endObject()
.endObject();
XContentParser parser = createParser(source);
- QueryParseContext parseContext = new QueryParseContext(parser);
assertSame(XContentParser.Token.START_OBJECT, parser.nextToken());
- Exception e = expectThrows(ParsingException.class, () -> AggregatorFactories.parseAggregators(parseContext));
+ Exception e = expectThrows(ParsingException.class, () -> AggregatorFactories.parseAggregators(parser));
assertThat(e.toString(), containsString("Expected [START_OBJECT] under [field], but got a [VALUE_STRING] in [tag_count]"));
}
diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/BasePipelineAggregationTestCase.java b/core/src/test/java/org/elasticsearch/search/aggregations/BasePipelineAggregationTestCase.java
index 0a738ec022..828b419909 100644
--- a/core/src/test/java/org/elasticsearch/search/aggregations/BasePipelineAggregationTestCase.java
+++ b/core/src/test/java/org/elasticsearch/search/aggregations/BasePipelineAggregationTestCase.java
@@ -32,7 +32,6 @@ import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.env.Environment;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.indices.IndicesModule;
import org.elasticsearch.search.SearchModule;
import org.elasticsearch.search.aggregations.pipeline.AbstractPipelineAggregationBuilder;
@@ -117,9 +116,8 @@ public abstract class BasePipelineAggregationTestCase<AF extends AbstractPipelin
}
protected PipelineAggregationBuilder parse(XContentParser parser) throws IOException {
- QueryParseContext parseContext = new QueryParseContext(parser);
assertSame(XContentParser.Token.START_OBJECT, parser.nextToken());
- AggregatorFactories.Builder parsed = AggregatorFactories.parseAggregators(parseContext);
+ AggregatorFactories.Builder parsed = AggregatorFactories.parseAggregators(parser);
assertThat(parsed.getAggregatorFactories(), hasSize(0));
assertThat(parsed.getPipelineAggregatorFactories(), hasSize(1));
PipelineAggregationBuilder newAgg = parsed.getPipelineAggregatorFactories().get(0);
diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/InternalOrderTests.java b/core/src/test/java/org/elasticsearch/search/aggregations/InternalOrderTests.java
index d26eeca387..0a0dc177f4 100644
--- a/core/src/test/java/org/elasticsearch/search/aggregations/InternalOrderTests.java
+++ b/core/src/test/java/org/elasticsearch/search/aggregations/InternalOrderTests.java
@@ -67,12 +67,12 @@ public class InternalOrderTests extends AbstractSerializingTestCase<BucketOrder>
protected BucketOrder doParseInstance(XContentParser parser) throws IOException {
Token token = parser.nextToken();
if (token == Token.START_OBJECT) {
- return InternalOrder.Parser.parseOrderParam(parser, null);
+ return InternalOrder.Parser.parseOrderParam(parser);
}
if (token == Token.START_ARRAY) {
List<BucketOrder> orders = new ArrayList<>();
while (parser.nextToken() == Token.START_OBJECT) {
- orders.add(InternalOrder.Parser.parseOrderParam(parser, null));
+ orders.add(InternalOrder.Parser.parseOrderParam(parser));
}
return BucketOrder.compound(orders);
}
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 b72c3befa4..c31dca0de5 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
@@ -27,9 +27,9 @@ import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.xcontent.ToXContent;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.index.query.QueryBuilders;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardException;
import org.elasticsearch.plugins.Plugin;
import org.elasticsearch.plugins.SearchPlugin;
@@ -116,7 +116,7 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
.significanceHeuristic(new SimpleHeuristic())
.minDocCount(1)
)
- );
+ );
}else
{
request = client().prepareSearch(INDEX_NAME).setTypes(DOC_TYPE)
@@ -128,9 +128,9 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
.significanceHeuristic(new SimpleHeuristic())
.minDocCount(1)
)
- );
+ );
}
-
+
SearchResponse response = request.execute().actionGet();
assertSearchResponse(response);
StringTerms classes = response.getAggregations().get("class");
@@ -177,7 +177,7 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
@Override
public List<SearchExtensionSpec<SignificanceHeuristic, SignificanceHeuristicParser>> getSignificanceHeuristics() {
return singletonList(new SearchExtensionSpec<SignificanceHeuristic, SignificanceHeuristicParser>(SimpleHeuristic.NAME,
- SimpleHeuristic::new, (context) -> SimpleHeuristic.parse(context)));
+ SimpleHeuristic::new, (parser) -> SimpleHeuristic.parse(parser)));
}
@Override
@@ -257,9 +257,9 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
return subsetFreq / subsetSize > supersetFreq / supersetSize ? 2.0 : 1.0;
}
- public static SignificanceHeuristic parse(QueryParseContext context)
+ public static SignificanceHeuristic parse(XContentParser parser)
throws IOException, QueryShardException {
- context.parser().nextToken();
+ parser.nextToken();
return new SimpleHeuristic();
}
}
@@ -268,23 +268,23 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
String type = randomBoolean() ? "text" : "long";
String settings = "{\"index.number_of_shards\": 1, \"index.number_of_replicas\": 0}";
SharedSignificantTermsTestMethods.index01Docs(type, settings, this);
-
+
SearchRequestBuilder request;
if ("text".equals(type) && randomBoolean() ) {
// Use significant_text on text fields but occasionally run with alternative of
// significant_terms on legacy fieldData=true too.
request = client().prepareSearch(INDEX_NAME).setTypes(DOC_TYPE)
.addAggregation(terms("class").field(CLASS_FIELD)
- .subAggregation(significantText("sig_terms", TEXT_FIELD)));
+ .subAggregation(significantText("sig_terms", TEXT_FIELD)));
} else {
request = client().prepareSearch(INDEX_NAME).setTypes(DOC_TYPE)
.addAggregation(terms("class").field(CLASS_FIELD)
- .subAggregation(significantTerms("sig_terms").field(TEXT_FIELD)));
+ .subAggregation(significantTerms("sig_terms").field(TEXT_FIELD)));
}
-
+
SearchResponse response = request.execute().actionGet();
-
-
+
+
assertSearchResponse(response);
StringTerms classes = response.getAggregations().get("class");
assertThat(classes.getBuckets().size(), equalTo(2));
@@ -368,8 +368,8 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
indexRequestBuilderList.add(client().prepareIndex(INDEX_NAME, DOC_TYPE, "1").setSource(TEXT_FIELD, text, CLASS_FIELD, "1"));
}
indexRandom(true, false, indexRequestBuilderList);
-
-
+
+
SearchRequestBuilder request;
if (randomBoolean() ) {
request = client().prepareSearch(INDEX_NAME).setTypes(DOC_TYPE)
@@ -379,7 +379,7 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
.subAggregation(
significantTerms("sig_terms")
.field(TEXT_FIELD)
- .minDocCount(1)));
+ .minDocCount(1)));
}else
{
request = client().prepareSearch(INDEX_NAME).setTypes(DOC_TYPE)
@@ -388,9 +388,9 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
.field(CLASS_FIELD)
.subAggregation(
significantText("sig_terms", TEXT_FIELD)
- .minDocCount(1)));
+ .minDocCount(1)));
}
-
+
request.execute().actionGet();
}
@@ -409,7 +409,7 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
// 2. filter buckets and set the background to the other class and set is_background false
// both should yield exact same result
public void testBackgroundVsSeparateSet(SignificanceHeuristic significanceHeuristicExpectingSuperset,
- SignificanceHeuristic significanceHeuristicExpectingSeparateSets,
+ SignificanceHeuristic significanceHeuristicExpectingSeparateSets,
String type) throws Exception {
final boolean useSigText = randomBoolean() && type.equals("text");
@@ -422,7 +422,7 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
significantText("sig_terms", TEXT_FIELD)
.minDocCount(1)
.significanceHeuristic(
- significanceHeuristicExpectingSuperset)));
+ significanceHeuristicExpectingSuperset)));
}else
{
request1 = client().prepareSearch(INDEX_NAME).setTypes(DOC_TYPE)
@@ -433,12 +433,12 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
.field(TEXT_FIELD)
.minDocCount(1)
.significanceHeuristic(
- significanceHeuristicExpectingSuperset)));
+ significanceHeuristicExpectingSuperset)));
}
-
+
SearchResponse response1 = request1.execute().actionGet();
assertSearchResponse(response1);
-
+
SearchRequestBuilder request2;
if (useSigText) {
request2 = client().prepareSearch(INDEX_NAME).setTypes(DOC_TYPE)
@@ -451,7 +451,7 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
.subAggregation(significantText("sig_terms", TEXT_FIELD)
.minDocCount(1)
.backgroundFilter(QueryBuilders.termQuery(CLASS_FIELD, "0"))
- .significanceHeuristic(significanceHeuristicExpectingSeparateSets)));
+ .significanceHeuristic(significanceHeuristicExpectingSeparateSets)));
}else
{
request2 = client().prepareSearch(INDEX_NAME).setTypes(DOC_TYPE)
@@ -466,9 +466,9 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
.field(TEXT_FIELD)
.minDocCount(1)
.backgroundFilter(QueryBuilders.termQuery(CLASS_FIELD, "0"))
- .significanceHeuristic(significanceHeuristicExpectingSeparateSets)));
+ .significanceHeuristic(significanceHeuristicExpectingSeparateSets)));
}
-
+
SearchResponse response2 = request2.execute().actionGet();
StringTerms classes = response1.getAggregations().get("class");
@@ -513,17 +513,17 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
.field("text")
.executionHint(randomExecutionHint())
.significanceHeuristic(heuristic)
- .minDocCount(1).shardSize(1000).size(1000)));
+ .minDocCount(1).shardSize(1000).size(1000)));
}else
{
request = client().prepareSearch("test")
.addAggregation(terms("class").field("class").subAggregation(significantText("mySignificantTerms", "text")
.significanceHeuristic(heuristic)
- .minDocCount(1).shardSize(1000).size(1000)));
- }
+ .minDocCount(1).shardSize(1000).size(1000)));
+ }
SearchResponse response = request.execute().actionGet();
- assertSearchResponse(response);
-
+ assertSearchResponse(response);
+
assertSearchResponse(response);
StringTerms classes = response.getAggregations().get("class");
assertThat(classes.getBuckets().size(), equalTo(2));
@@ -580,14 +580,14 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
String type = randomBoolean() ? "text" : "long";
indexRandomFrequencies01(type);
ScriptHeuristic scriptHeuristic = getScriptSignificanceHeuristic();
-
+
SearchRequestBuilder request;
if ("text".equals(type) && randomBoolean()) {
request = client().prepareSearch(INDEX_NAME)
.addAggregation(terms("class").field(CLASS_FIELD)
.subAggregation(significantText("mySignificantTerms", TEXT_FIELD)
.significanceHeuristic(scriptHeuristic)
- .minDocCount(1).shardSize(2).size(2)));
+ .minDocCount(1).shardSize(2).size(2)));
}else
{
request = client().prepareSearch(INDEX_NAME)
@@ -596,10 +596,10 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
.field(TEXT_FIELD)
.executionHint(randomExecutionHint())
.significanceHeuristic(scriptHeuristic)
- .minDocCount(1).shardSize(2).size(2)));
- }
+ .minDocCount(1).shardSize(2).size(2)));
+ }
SearchResponse response = request.execute().actionGet();
- assertSearchResponse(response);
+ assertSearchResponse(response);
for (Terms.Bucket classBucket : ((Terms) response.getAggregations().get("class")).getBuckets()) {
SignificantTerms sigTerms = classBucket.getAggregations().get("mySignificantTerms");
for (SignificantTerms.Bucket bucket : sigTerms.getBuckets()) {
@@ -666,8 +666,8 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
// Test that a request using a script does not get cached
ScriptHeuristic scriptHeuristic = getScriptSignificanceHeuristic();
- boolean useSigText = randomBoolean();
- SearchResponse r;
+ boolean useSigText = randomBoolean();
+ SearchResponse r;
if (useSigText) {
r = client().prepareSearch("cache_test_idx").setSize(0)
.addAggregation(significantText("foo", "s").significanceHeuristic(scriptHeuristic)).get();
@@ -696,7 +696,7 @@ public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase {
assertThat(client().admin().indices().prepareStats("cache_test_idx").setRequestCache(true).get().getTotal().getRequestCache()
.getMissCount(), equalTo(1L));
}
-
-
+
+
}
diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoHashGridParserTests.java b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoHashGridParserTests.java
index 873084b3a8..967913f286 100644
--- a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoHashGridParserTests.java
+++ b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoHashGridParserTests.java
@@ -21,7 +21,6 @@ package org.elasticsearch.search.aggregations.bucket.geogrid;
import org.elasticsearch.common.ParsingException;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.json.JsonXContent;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.test.ESTestCase;
import static org.hamcrest.Matchers.instanceOf;
@@ -29,33 +28,30 @@ import static org.hamcrest.Matchers.instanceOf;
public class GeoHashGridParserTests extends ESTestCase {
public void testParseValidFromInts() throws Exception {
int precision = randomIntBetween(1, 12);
- XContentParser stParser = createParser(JsonXContent.jsonXContent,
+ XContentParser stParser = createParser(JsonXContent.jsonXContent,
"{\"field\":\"my_loc\", \"precision\":" + precision + ", \"size\": 500, \"shard_size\": 550}");
- QueryParseContext parseContext = new QueryParseContext(stParser);
XContentParser.Token token = stParser.nextToken();
assertSame(XContentParser.Token.START_OBJECT, token);
// can create a factory
- assertNotNull(GeoGridAggregationBuilder.parse("geohash_grid", parseContext));
+ assertNotNull(GeoGridAggregationBuilder.parse("geohash_grid", stParser));
}
public void testParseValidFromStrings() throws Exception {
int precision = randomIntBetween(1, 12);
- XContentParser stParser = createParser(JsonXContent.jsonXContent,
+ XContentParser stParser = createParser(JsonXContent.jsonXContent,
"{\"field\":\"my_loc\", \"precision\":\"" + precision + "\", \"size\": \"500\", \"shard_size\": \"550\"}");
- QueryParseContext parseContext = new QueryParseContext(stParser);
XContentParser.Token token = stParser.nextToken();
assertSame(XContentParser.Token.START_OBJECT, token);
// can create a factory
- assertNotNull(GeoGridAggregationBuilder.parse("geohash_grid", parseContext));
+ assertNotNull(GeoGridAggregationBuilder.parse("geohash_grid", stParser));
}
public void testParseErrorOnNonIntPrecision() throws Exception {
XContentParser stParser = createParser(JsonXContent.jsonXContent, "{\"field\":\"my_loc\", \"precision\":\"2.0\"}");
- QueryParseContext parseContext = new QueryParseContext(stParser);
XContentParser.Token token = stParser.nextToken();
assertSame(XContentParser.Token.START_OBJECT, token);
try {
- GeoGridAggregationBuilder.parse("geohash_grid", parseContext);
+ GeoGridAggregationBuilder.parse("geohash_grid", stParser);
fail();
} catch (ParsingException ex) {
assertThat(ex.getCause(), instanceOf(NumberFormatException.class));
@@ -65,11 +61,10 @@ public class GeoHashGridParserTests extends ESTestCase {
public void testParseErrorOnBooleanPrecision() throws Exception {
XContentParser stParser = createParser(JsonXContent.jsonXContent, "{\"field\":\"my_loc\", \"precision\":false}");
- QueryParseContext parseContext = new QueryParseContext(stParser);
XContentParser.Token token = stParser.nextToken();
assertSame(XContentParser.Token.START_OBJECT, token);
try {
- GeoGridAggregationBuilder.parse("geohash_grid", parseContext);
+ GeoGridAggregationBuilder.parse("geohash_grid", stParser);
fail();
} catch (IllegalArgumentException ex) {
assertEquals("[geohash_grid] precision doesn't support values of type: VALUE_BOOLEAN", ex.getMessage());
@@ -78,11 +73,10 @@ public class GeoHashGridParserTests extends ESTestCase {
public void testParseErrorOnPrecisionOutOfRange() throws Exception {
XContentParser stParser = createParser(JsonXContent.jsonXContent, "{\"field\":\"my_loc\", \"precision\":\"13\"}");
- QueryParseContext parseContext = new QueryParseContext(stParser);
XContentParser.Token token = stParser.nextToken();
assertSame(XContentParser.Token.START_OBJECT, token);
try {
- GeoGridAggregationBuilder.parse("geohash_grid", parseContext);
+ GeoGridAggregationBuilder.parse("geohash_grid", stParser);
fail();
} catch (ParsingException ex) {
assertThat(ex.getCause(), instanceOf(IllegalArgumentException.class));
diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/significant/SignificanceHeuristicTests.java b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/significant/SignificanceHeuristicTests.java
index 9c6615f8ff..07c3ae2dd9 100644
--- a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/significant/SignificanceHeuristicTests.java
+++ b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/significant/SignificanceHeuristicTests.java
@@ -33,7 +33,6 @@ import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.json.JsonXContent;
import org.elasticsearch.index.Index;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.DocValueFormat;
import org.elasticsearch.search.SearchModule;
import org.elasticsearch.search.SearchShardTarget;
@@ -267,9 +266,8 @@ public class SignificanceHeuristicTests extends ESTestCase {
try {
XContentParser stParser = createParser(JsonXContent.jsonXContent,
"{\"field\":\"text\", " + faultyHeuristicDefinition + ",\"min_doc_count\":200}");
- QueryParseContext parseContext = new QueryParseContext(stParser);
stParser.nextToken();
- SignificantTermsAggregationBuilder.getParser(significanceHeuristicParserRegistry).parse("testagg", parseContext);
+ SignificantTermsAggregationBuilder.getParser(significanceHeuristicParserRegistry).parse("testagg", stParser);
fail();
} catch (ParsingException e) {
assertThat(e.getCause().getMessage(), containsString(expectedError));
@@ -286,14 +284,13 @@ public class SignificanceHeuristicTests extends ESTestCase {
return parseSignificanceHeuristic(significanceHeuristicParserRegistry, stParser);
}
- private SignificanceHeuristic parseSignificanceHeuristic(
+ private static SignificanceHeuristic parseSignificanceHeuristic(
ParseFieldRegistry<SignificanceHeuristicParser> significanceHeuristicParserRegistry,
XContentParser stParser) throws IOException {
- QueryParseContext parseContext = new QueryParseContext(stParser);
stParser.nextToken();
SignificantTermsAggregationBuilder aggregatorFactory =
(SignificantTermsAggregationBuilder) SignificantTermsAggregationBuilder.getParser(
- significanceHeuristicParserRegistry).parse("testagg", parseContext);
+ significanceHeuristicParserRegistry).parse("testagg", stParser);
stParser.nextToken();
assertThat(aggregatorFactory.getBucketCountThresholds().getMinDocCount(), equalTo(200L));
assertThat(stParser.currentToken(), equalTo(null));
diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/FiltersTests.java b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/FiltersTests.java
index f6691d5b27..cffda00ca7 100644
--- a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/FiltersTests.java
+++ b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/FiltersTests.java
@@ -26,7 +26,6 @@ import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.index.query.MatchNoneQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.aggregations.BaseAggregationTestCase;
import org.elasticsearch.search.aggregations.bucket.filters.FiltersAggregationBuilder;
import org.elasticsearch.search.aggregations.bucket.filters.FiltersAggregator.KeyedFilter;
@@ -87,8 +86,7 @@ public class FiltersTests extends BaseAggregationTestCase<FiltersAggregationBuil
builder.endObject();
XContentParser parser = createParser(shuffleXContent(builder));
parser.nextToken();
- QueryParseContext context = new QueryParseContext(parser);
- FiltersAggregationBuilder filters = FiltersAggregationBuilder.parse("agg_name", context);
+ FiltersAggregationBuilder filters = FiltersAggregationBuilder.parse("agg_name", parser);
// The other bucket is disabled by default
assertFalse(filters.otherBucket());
@@ -99,8 +97,7 @@ public class FiltersTests extends BaseAggregationTestCase<FiltersAggregationBuil
builder.endObject();
parser = createParser(shuffleXContent(builder));
parser.nextToken();
- context = new QueryParseContext(parser);
- filters = FiltersAggregationBuilder.parse("agg_name", context);
+ filters = FiltersAggregationBuilder.parse("agg_name", parser);
// but setting a key enables it automatically
assertTrue(filters.otherBucket());
@@ -112,8 +109,7 @@ public class FiltersTests extends BaseAggregationTestCase<FiltersAggregationBuil
builder.endObject();
parser = createParser(shuffleXContent(builder));
parser.nextToken();
- context = new QueryParseContext(parser);
- filters = FiltersAggregationBuilder.parse("agg_name", context);
+ filters = FiltersAggregationBuilder.parse("agg_name", parser);
// unless the other bucket is explicitly disabled
assertFalse(filters.otherBucket());
}
diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/TopHitsTests.java b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/TopHitsTests.java
index 9e7ae83617..e2ef28480f 100644
--- a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/TopHitsTests.java
+++ b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/TopHitsTests.java
@@ -21,8 +21,6 @@ package org.elasticsearch.search.aggregations.metrics;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.json.JsonXContent;
-import org.elasticsearch.index.query.QueryParseContext;
-import org.elasticsearch.script.Script;
import org.elasticsearch.search.aggregations.AggregationInitializationException;
import org.elasticsearch.search.aggregations.AggregatorFactories;
import org.elasticsearch.search.aggregations.BaseAggregationTestCase;
@@ -189,9 +187,8 @@ public class TopHitsTests extends BaseAggregationTestCase<TopHitsAggregationBuil
" }\n" +
"}";
XContentParser parser = createParser(JsonXContent.jsonXContent, source);
- QueryParseContext parseContext = new QueryParseContext(parser);
assertSame(XContentParser.Token.START_OBJECT, parser.nextToken());
- Exception e = expectThrows(AggregationInitializationException.class, () -> AggregatorFactories.parseAggregators(parseContext));
+ Exception e = expectThrows(AggregationInitializationException.class, () -> AggregatorFactories.parseAggregators(parser));
assertThat(e.toString(), containsString("Aggregator [top_tags_hits] of type [top_hits] cannot accept sub-aggregations"));
}
diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/support/IncludeExcludeTests.java b/core/src/test/java/org/elasticsearch/search/aggregations/support/IncludeExcludeTests.java
index c211f754d1..abfb086048 100644
--- a/core/src/test/java/org/elasticsearch/search/aggregations/support/IncludeExcludeTests.java
+++ b/core/src/test/java/org/elasticsearch/search/aggregations/support/IncludeExcludeTests.java
@@ -30,7 +30,6 @@ import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.index.fielddata.AbstractSortedSetDocValues;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.DocValueFormat;
import org.elasticsearch.search.aggregations.bucket.terms.support.IncludeExclude;
import org.elasticsearch.search.aggregations.bucket.terms.support.IncludeExclude.OrdinalsFilter;
@@ -223,11 +222,10 @@ public class IncludeExcludeTests extends ESTestCase {
assertEquals(field.getPreferredName(), parser.currentName());
token = parser.nextToken();
- QueryParseContext parseContext = new QueryParseContext(parser);
if (field.getPreferredName().equalsIgnoreCase("include")) {
- return IncludeExclude.parseInclude(parser, parseContext);
+ return IncludeExclude.parseInclude(parser);
} else if (field.getPreferredName().equalsIgnoreCase("exclude")) {
- return IncludeExclude.parseExclude(parser, parseContext);
+ return IncludeExclude.parseExclude(parser);
} else {
throw new IllegalArgumentException(
"Unexpected field name serialized in test: " + field.getPreferredName());
@@ -263,7 +261,6 @@ public class IncludeExcludeTests extends ESTestCase {
builder.endObject();
XContentParser parser = createParser(builder);
- QueryParseContext parseContext = new QueryParseContext(parser);
XContentParser.Token token = parser.nextToken();
assertEquals(token, XContentParser.Token.START_OBJECT);
@@ -273,10 +270,10 @@ public class IncludeExcludeTests extends ESTestCase {
assertEquals(XContentParser.Token.FIELD_NAME, token);
if (IncludeExclude.INCLUDE_FIELD.match(parser.currentName())) {
token = parser.nextToken();
- inc = IncludeExclude.parseInclude(parser, parseContext);
+ inc = IncludeExclude.parseInclude(parser);
} else if (IncludeExclude.EXCLUDE_FIELD.match(parser.currentName())) {
token = parser.nextToken();
- exc = IncludeExclude.parseExclude(parser, parseContext);
+ exc = IncludeExclude.parseExclude(parser);
} else {
throw new IllegalArgumentException("Unexpected field name serialized in test: " + parser.currentName());
}
diff --git a/core/src/test/java/org/elasticsearch/search/builder/SearchSourceBuilderTests.java b/core/src/test/java/org/elasticsearch/search/builder/SearchSourceBuilderTests.java
index f8bd7b80d0..d6091c3cdd 100644
--- a/core/src/test/java/org/elasticsearch/search/builder/SearchSourceBuilderTests.java
+++ b/core/src/test/java/org/elasticsearch/search/builder/SearchSourceBuilderTests.java
@@ -34,7 +34,6 @@ import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.common.xcontent.json.JsonXContent;
import org.elasticsearch.index.query.QueryBuilders;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.RandomQueryBuilder;
import org.elasticsearch.search.AbstractSearchTestCase;
import org.elasticsearch.search.rescore.QueryRescorerBuilder;
@@ -64,21 +63,16 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
}
private static void assertParseSearchSource(SearchSourceBuilder testBuilder, XContentParser parser) throws IOException {
- QueryParseContext parseContext = new QueryParseContext(parser);
if (randomBoolean()) {
parser.nextToken(); // sometimes we move it on the START_OBJECT to
// test the embedded case
}
- SearchSourceBuilder newBuilder = SearchSourceBuilder.fromXContent(parseContext);
+ SearchSourceBuilder newBuilder = SearchSourceBuilder.fromXContent(parser);
assertNull(parser.nextToken());
assertEquals(testBuilder, newBuilder);
assertEquals(testBuilder.hashCode(), newBuilder.hashCode());
}
- private QueryParseContext createParseContext(XContentParser parser) {
- return new QueryParseContext(parser);
- }
-
public void testSerialization() throws IOException {
SearchSourceBuilder testBuilder = createSearchSourceBuilder();
try (BytesStreamOutput output = new BytesStreamOutput()) {
@@ -106,7 +100,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
{
String restContent = " { \"_source\": { \"includes\": \"include\", \"excludes\": \"*.field2\"}}";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, restContent)) {
- SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(createParseContext(parser));
+ SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(parser);
assertArrayEquals(new String[]{"*.field2"}, searchSourceBuilder.fetchSource().excludes());
assertArrayEquals(new String[]{"include"}, searchSourceBuilder.fetchSource().includes());
}
@@ -114,7 +108,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
{
String restContent = " { \"_source\": false}";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, restContent)) {
- SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(createParseContext(parser));
+ SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(parser);
assertArrayEquals(new String[]{}, searchSourceBuilder.fetchSource().excludes());
assertArrayEquals(new String[]{}, searchSourceBuilder.fetchSource().includes());
assertFalse(searchSourceBuilder.fetchSource().fetchSource());
@@ -136,7 +130,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
" }\n" +
" } }";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, restContent)) {
- ParsingException e = expectThrows(ParsingException.class, () -> SearchSourceBuilder.fromXContent(createParseContext(parser)));
+ ParsingException e = expectThrows(ParsingException.class, () -> SearchSourceBuilder.fromXContent(parser));
assertEquals("[multi_match] malformed query, expected [END_OBJECT] but found [FIELD_NAME]", e.getMessage());
}
}
@@ -145,7 +139,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
{
String restContent = " { \"sort\": \"foo\"}";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, restContent)) {
- SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(createParseContext(parser));
+ SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(parser);
assertEquals(1, searchSourceBuilder.sorts().size());
assertEquals(new FieldSortBuilder("foo"), searchSourceBuilder.sorts().get(0));
}
@@ -160,7 +154,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
" \"_score\"\n" +
" ]}";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, restContent)) {
- SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(createParseContext(parser));
+ SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(parser);
assertEquals(5, searchSourceBuilder.sorts().size());
assertEquals(new FieldSortBuilder("post_date"), searchSourceBuilder.sorts().get(0));
assertEquals(new FieldSortBuilder("user"), searchSourceBuilder.sorts().get(1));
@@ -183,7 +177,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
" }\n" +
"}\n";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, restContent)) {
- SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(createParseContext(parser));
+ SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(parser);
assertEquals(1, searchSourceBuilder.aggregations().count());
}
}
@@ -198,7 +192,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
" }\n" +
"}\n";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, restContent)) {
- SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(createParseContext(parser));
+ SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(parser);
assertEquals(1, searchSourceBuilder.aggregations().count());
}
}
@@ -223,7 +217,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
" }\n" +
"}\n";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, restContent)) {
- SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(createParseContext(parser));
+ SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(parser);
assertEquals(1, searchSourceBuilder.rescores().size());
assertEquals(new QueryRescorerBuilder(QueryBuilders.matchQuery("content", "baz")).windowSize(50),
searchSourceBuilder.rescores().get(0));
@@ -245,7 +239,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
" } ]\n" +
"}\n";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, restContent)) {
- SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(createParseContext(parser));
+ SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(parser);
assertEquals(1, searchSourceBuilder.rescores().size());
assertEquals(new QueryRescorerBuilder(QueryBuilders.matchQuery("content", "baz")).windowSize(50),
searchSourceBuilder.rescores().get(0));
@@ -257,7 +251,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
final String timeout = randomTimeValue();
final String query = "{ \"query\": { \"match_all\": {}}, \"timeout\": \"" + timeout + "\"}";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, query)) {
- final SearchSourceBuilder builder = SearchSourceBuilder.fromXContent(createParseContext(parser));
+ final SearchSourceBuilder builder = SearchSourceBuilder.fromXContent(parser);
assertThat(builder.timeout(), equalTo(TimeValue.parseTimeValue(timeout, null, "timeout")));
}
}
@@ -267,7 +261,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
final String query = "{ \"query\": { \"match_all\": {}}, \"timeout\": \"" + timeout + "\"}";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, query)) {
final ElasticsearchParseException e = expectThrows(ElasticsearchParseException.class, () -> SearchSourceBuilder.fromXContent(
- createParseContext(parser)));
+ parser));
assertThat(e, hasToString(containsString("unit is missing or unrecognized")));
}
}
@@ -299,7 +293,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
{
String restContent = " { \"indices_boost\": {\"foo\": 1.0, \"bar\": 2.0}}";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, restContent)) {
- SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(createParseContext(parser));
+ SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(parser);
assertEquals(2, searchSourceBuilder.indexBoosts().size());
assertEquals(new SearchSourceBuilder.IndexBoost("foo", 1.0f), searchSourceBuilder.indexBoosts().get(0));
assertEquals(new SearchSourceBuilder.IndexBoost("bar", 2.0f), searchSourceBuilder.indexBoosts().get(1));
@@ -315,7 +309,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
" { \"baz\" : 3.0 }\n" +
" ]}";
try (XContentParser parser = createParser(JsonXContent.jsonXContent, restContent)) {
- SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(createParseContext(parser));
+ SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.fromXContent(parser);
assertEquals(3, searchSourceBuilder.indexBoosts().size());
assertEquals(new SearchSourceBuilder.IndexBoost("foo", 1.0f), searchSourceBuilder.indexBoosts().get(0));
assertEquals(new SearchSourceBuilder.IndexBoost("bar", 2.0f), searchSourceBuilder.indexBoosts().get(1));
@@ -367,7 +361,7 @@ public class SearchSourceBuilderTests extends AbstractSearchTestCase {
private void assertIndicesBoostParseErrorMessage(String restContent, String expectedErrorMessage) throws IOException {
try (XContentParser parser = createParser(JsonXContent.jsonXContent, restContent)) {
- ParsingException e = expectThrows(ParsingException.class, () -> SearchSourceBuilder.fromXContent(createParseContext(parser)));
+ ParsingException e = expectThrows(ParsingException.class, () -> SearchSourceBuilder.fromXContent(parser));
assertEquals(expectedErrorMessage, e.getMessage());
}
}
diff --git a/core/src/test/java/org/elasticsearch/search/collapse/CollapseBuilderTests.java b/core/src/test/java/org/elasticsearch/search/collapse/CollapseBuilderTests.java
index 07eef1a2f3..e4525ac3e9 100644
--- a/core/src/test/java/org/elasticsearch/search/collapse/CollapseBuilderTests.java
+++ b/core/src/test/java/org/elasticsearch/search/collapse/CollapseBuilderTests.java
@@ -39,7 +39,6 @@ import org.elasticsearch.index.mapper.MappedFieldType;
import org.elasticsearch.index.mapper.NumberFieldMapper;
import org.elasticsearch.index.query.InnerHitBuilder;
import org.elasticsearch.index.query.InnerHitBuilderTests;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.search.SearchContextException;
import org.elasticsearch.search.SearchModule;
@@ -201,12 +200,13 @@ public class CollapseBuilderTests extends AbstractSerializingTestCase<CollapseBu
@Override
protected CollapseBuilder doParseInstance(XContentParser parser) throws IOException {
- return CollapseBuilder.fromXContent(new QueryParseContext(parser));
+ return CollapseBuilder.fromXContent(parser);
}
/**
* Rewrite this test to disable xcontent shuffling on the highlight builder
*/
+ @Override
public void testFromXContent() throws IOException {
for (int runs = 0; runs < NUMBER_OF_TEST_RUNS; runs++) {
CollapseBuilder testInstance = createTestInstance();
diff --git a/core/src/test/java/org/elasticsearch/search/rescore/QueryRescoreBuilderTests.java b/core/src/test/java/org/elasticsearch/search/rescore/QueryRescoreBuilderTests.java
index ee68ea6003..ac3c82749d 100644
--- a/core/src/test/java/org/elasticsearch/search/rescore/QueryRescoreBuilderTests.java
+++ b/core/src/test/java/org/elasticsearch/search/rescore/QueryRescoreBuilderTests.java
@@ -40,7 +40,6 @@ import org.elasticsearch.index.mapper.Mapper;
import org.elasticsearch.index.mapper.TextFieldMapper;
import org.elasticsearch.index.query.MatchAllQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.search.SearchModule;
import org.elasticsearch.search.rescore.QueryRescorer.QueryRescoreContext;
@@ -118,9 +117,8 @@ public class QueryRescoreBuilderTests extends ESTestCase {
XContentParser parser = createParser(shuffled);
- QueryParseContext context = new QueryParseContext(parser);
parser.nextToken();
- RescoreBuilder<?> secondRescoreBuilder = RescoreBuilder.parseFromXContent(context);
+ RescoreBuilder<?> secondRescoreBuilder = RescoreBuilder.parseFromXContent(parser);
assertNotSame(rescoreBuilder, secondRescoreBuilder);
assertEquals(rescoreBuilder, secondRescoreBuilder);
assertEquals(rescoreBuilder.hashCode(), secondRescoreBuilder.hashCode());
@@ -174,9 +172,9 @@ public class QueryRescoreBuilderTests extends ESTestCase {
" \"window_size\" : 20,\n" +
" \"bad_rescorer_name\" : { }\n" +
"}\n";
- QueryParseContext context = createContext(rescoreElement);
+ XContentParser parser = createParser(rescoreElement);
try {
- RescoreBuilder.parseFromXContent(context);
+ RescoreBuilder.parseFromXContent(parser);
fail("expected a parsing exception");
} catch (ParsingException e) {
assertEquals("rescore doesn't support rescorer with name [bad_rescorer_name]", e.getMessage());
@@ -185,9 +183,9 @@ public class QueryRescoreBuilderTests extends ESTestCase {
rescoreElement = "{\n" +
" \"bad_fieldName\" : 20\n" +
"}\n";
- context = createContext(rescoreElement);
+ parser = createParser(rescoreElement);
try {
- RescoreBuilder.parseFromXContent(context);
+ RescoreBuilder.parseFromXContent(parser);
fail("expected a parsing exception");
} catch (ParsingException e) {
assertEquals("rescore doesn't support [bad_fieldName]", e.getMessage());
@@ -197,18 +195,18 @@ public class QueryRescoreBuilderTests extends ESTestCase {
" \"window_size\" : 20,\n" +
" \"query\" : [ ]\n" +
"}\n";
- context = createContext(rescoreElement);
+ parser = createParser(rescoreElement);
try {
- RescoreBuilder.parseFromXContent(context);
+ RescoreBuilder.parseFromXContent(parser);
fail("expected a parsing exception");
} catch (ParsingException e) {
assertEquals("unexpected token [START_ARRAY] after [query]", e.getMessage());
}
rescoreElement = "{ }";
- context = createContext(rescoreElement);
+ parser = createParser(rescoreElement);
try {
- RescoreBuilder.parseFromXContent(context);
+ RescoreBuilder.parseFromXContent(parser);
fail("expected a parsing exception");
} catch (ParsingException e) {
assertEquals("missing rescore type", e.getMessage());
@@ -218,9 +216,9 @@ public class QueryRescoreBuilderTests extends ESTestCase {
" \"window_size\" : 20,\n" +
" \"query\" : { \"bad_fieldname\" : 1.0 } \n" +
"}\n";
- context = createContext(rescoreElement);
+ parser = createParser(rescoreElement);
try {
- RescoreBuilder.parseFromXContent(context);
+ RescoreBuilder.parseFromXContent(parser);
fail("expected a parsing exception");
} catch (IllegalArgumentException e) {
assertEquals("[query] unknown field [bad_fieldname], parser not found", e.getMessage());
@@ -230,9 +228,9 @@ public class QueryRescoreBuilderTests extends ESTestCase {
" \"window_size\" : 20,\n" +
" \"query\" : { \"rescore_query\" : { \"unknown_queryname\" : { } } } \n" +
"}\n";
- context = createContext(rescoreElement);
+ parser = createParser(rescoreElement);
try {
- RescoreBuilder.parseFromXContent(context);
+ RescoreBuilder.parseFromXContent(parser);
fail("expected a parsing exception");
} catch (ParsingException e) {
assertEquals("[query] failed to parse field [rescore_query]", e.getMessage());
@@ -242,19 +240,18 @@ public class QueryRescoreBuilderTests extends ESTestCase {
" \"window_size\" : 20,\n" +
" \"query\" : { \"rescore_query\" : { \"match_all\" : { } } } \n"
+ "}\n";
- context = createContext(rescoreElement);
- RescoreBuilder.parseFromXContent(context);
+ parser = createParser(rescoreElement);
+ RescoreBuilder.parseFromXContent(parser);
}
/**
* create a new parser from the rescorer string representation and reset context with it
*/
- private QueryParseContext createContext(String rescoreElement) throws IOException {
+ private XContentParser createParser(String rescoreElement) throws IOException {
XContentParser parser = createParser(JsonXContent.jsonXContent, rescoreElement);
- QueryParseContext context = new QueryParseContext(parser);
// move to first token, this is where the internal fromXContent
assertTrue(parser.nextToken() == XContentParser.Token.START_OBJECT);
- return context;
+ return parser;
}
@Override
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 33c4f502b7..009b9ab5d6 100644
--- a/core/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java
+++ b/core/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java
@@ -42,7 +42,6 @@ import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
import org.elasticsearch.index.mapper.MappedFieldType;
import org.elasticsearch.index.mapper.UidFieldMapper;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.test.ESTestCase;
@@ -107,8 +106,7 @@ public class SliceBuilderTests extends ESTestCase {
sliceBuilder.innerToXContent(builder);
builder.endObject();
XContentParser parser = createParser(shuffleXContent(builder));
- QueryParseContext context = new QueryParseContext(parser);
- SliceBuilder secondSliceBuilder = SliceBuilder.fromXContent(context);
+ SliceBuilder secondSliceBuilder = SliceBuilder.fromXContent(parser);
assertNotSame(sliceBuilder, secondSliceBuilder);
assertEquals(sliceBuilder, secondSliceBuilder);
assertEquals(sliceBuilder.hashCode(), secondSliceBuilder.hashCode());
diff --git a/core/src/test/java/org/elasticsearch/search/suggest/completion/CategoryContextMappingTests.java b/core/src/test/java/org/elasticsearch/search/suggest/completion/CategoryContextMappingTests.java
index b9b15341da..07513b7641 100644
--- a/core/src/test/java/org/elasticsearch/search/suggest/completion/CategoryContextMappingTests.java
+++ b/core/src/test/java/org/elasticsearch/search/suggest/completion/CategoryContextMappingTests.java
@@ -37,7 +37,6 @@ import org.elasticsearch.index.mapper.MapperParsingException;
import org.elasticsearch.index.mapper.ParseContext;
import org.elasticsearch.index.mapper.ParsedDocument;
import org.elasticsearch.index.mapper.SourceToParse;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.suggest.completion.context.CategoryContextMapping;
import org.elasticsearch.search.suggest.completion.context.ContextBuilder;
import org.elasticsearch.search.suggest.completion.context.ContextMapping;
@@ -361,7 +360,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
XContentBuilder builder = jsonBuilder().value("context1");
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(1));
assertThat(internalQueryContexts.get(0).context, equalTo("context1"));
assertThat(internalQueryContexts.get(0).boost, equalTo(1));
@@ -372,7 +371,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
XContentBuilder builder = jsonBuilder().value(true);
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(1));
assertThat(internalQueryContexts.get(0).context, equalTo("true"));
assertThat(internalQueryContexts.get(0).boost, equalTo(1));
@@ -383,7 +382,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
XContentBuilder builder = jsonBuilder().value(10);
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(1));
assertThat(internalQueryContexts.get(0).context, equalTo("10"));
assertThat(internalQueryContexts.get(0).boost, equalTo(1));
@@ -395,7 +394,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- Exception e = expectThrows(ElasticsearchParseException.class, () -> mapping.parseQueryContext(createParseContext(parser)));
+ Exception e = expectThrows(ElasticsearchParseException.class, () -> mapping.parseQueryContext(parser));
assertEquals("category context must be an object, string, number or boolean", e.getMessage());
}
@@ -406,7 +405,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
.endArray();
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(2));
assertThat(internalQueryContexts.get(0).context, equalTo("context1"));
assertThat(internalQueryContexts.get(0).boost, equalTo(1));
@@ -425,7 +424,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
.endArray();
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(4));
assertThat(internalQueryContexts.get(0).context, equalTo("context1"));
assertThat(internalQueryContexts.get(0).boost, equalTo(1));
@@ -452,7 +451,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- Exception e = expectThrows(ElasticsearchParseException.class, () -> mapping.parseQueryContext(createParseContext(parser)));
+ Exception e = expectThrows(ElasticsearchParseException.class, () -> mapping.parseQueryContext(parser));
assertEquals("category context must be an object, string, number or boolean", e.getMessage());
}
@@ -464,7 +463,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
.endObject();
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(1));
assertThat(internalQueryContexts.get(0).context, equalTo("context1"));
assertThat(internalQueryContexts.get(0).boost, equalTo(10));
@@ -479,7 +478,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
.endObject();
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(1));
assertThat(internalQueryContexts.get(0).context, equalTo("false"));
assertThat(internalQueryContexts.get(0).boost, equalTo(10));
@@ -494,7 +493,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
.endObject();
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(1));
assertThat(internalQueryContexts.get(0).context, equalTo("333"));
assertThat(internalQueryContexts.get(0).boost, equalTo(10));
@@ -510,7 +509,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- Exception e = expectThrows(ElasticsearchParseException.class, () -> mapping.parseQueryContext(createParseContext(parser)));
+ Exception e = expectThrows(ElasticsearchParseException.class, () -> mapping.parseQueryContext(parser));
assertEquals("category context must be a string, number or boolean", e.getMessage());
}
@@ -529,7 +528,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
.endArray();
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(2));
assertThat(internalQueryContexts.get(0).context, equalTo("context1"));
assertThat(internalQueryContexts.get(0).boost, equalTo(2));
@@ -564,7 +563,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
.endArray();
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(4));
assertThat(internalQueryContexts.get(0).context, equalTo("context1"));
assertThat(internalQueryContexts.get(0).boost, equalTo(2));
@@ -611,13 +610,10 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- Exception e = expectThrows(ElasticsearchParseException.class, () -> mapping.parseQueryContext(createParseContext(parser)));
+ Exception e = expectThrows(ElasticsearchParseException.class, () -> mapping.parseQueryContext(parser));
assertEquals("category context must be a string, number or boolean", e.getMessage());
}
- private static QueryParseContext createParseContext(XContentParser parser) {
- return new QueryParseContext(parser);
- }
public void testQueryContextParsingMixed() throws Exception {
XContentBuilder builder = jsonBuilder().startArray()
@@ -636,7 +632,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
.endArray();
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(4));
assertThat(internalQueryContexts.get(0).context, equalTo("context1"));
assertThat(internalQueryContexts.get(0).boost, equalTo(2));
@@ -671,10 +667,10 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
CategoryContextMapping mapping = ContextBuilder.category("cat").build();
- Exception e = expectThrows(ElasticsearchParseException.class, () -> mapping.parseQueryContext(createParseContext(parser)));
+ Exception e = expectThrows(ElasticsearchParseException.class, () -> mapping.parseQueryContext(parser));
assertEquals("category context must be an object, string, number or boolean", e.getMessage());
}
-
+
public void testUnknownQueryContextParsing() throws Exception {
String mapping = jsonBuilder().startObject().startObject("type1")
.startObject("properties").startObject("completion")
@@ -695,7 +691,7 @@ public class CategoryContextMappingTests extends ESSingleNodeTestCase {
DocumentMapper defaultMapper = createIndex("test").mapperService().documentMapperParser().parse("type1", new CompressedXContent(mapping));
FieldMapper fieldMapper = defaultMapper.mappers().getMapper("completion");
CompletionFieldType completionFieldType = (CompletionFieldType) fieldMapper.fieldType();
-
+
Exception e = expectThrows(IllegalArgumentException.class, () -> completionFieldType.getContextMappings().get("brand"));
assertEquals("Unknown context name [brand], must be one of [ctx, type]", e.getMessage());
}
diff --git a/core/src/test/java/org/elasticsearch/search/suggest/completion/CategoryQueryContextTests.java b/core/src/test/java/org/elasticsearch/search/suggest/completion/CategoryQueryContextTests.java
index 658f145b1c..7b0b898e59 100644
--- a/core/src/test/java/org/elasticsearch/search/suggest/completion/CategoryQueryContextTests.java
+++ b/core/src/test/java/org/elasticsearch/search/suggest/completion/CategoryQueryContextTests.java
@@ -19,7 +19,7 @@
package org.elasticsearch.search.suggest.completion;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.suggest.completion.context.CategoryQueryContext;
import java.io.IOException;
@@ -40,8 +40,8 @@ public class CategoryQueryContextTests extends QueryContextTestCase<CategoryQuer
}
@Override
- protected CategoryQueryContext fromXContent(QueryParseContext context) throws IOException {
- return CategoryQueryContext.fromXContent(context);
+ protected CategoryQueryContext fromXContent(XContentParser parser) throws IOException {
+ return CategoryQueryContext.fromXContent(parser);
}
public void testNullCategoryIsIllegal() {
diff --git a/core/src/test/java/org/elasticsearch/search/suggest/completion/GeoContextMappingTests.java b/core/src/test/java/org/elasticsearch/search/suggest/completion/GeoContextMappingTests.java
index a0a278c831..9e22ad64d5 100644
--- a/core/src/test/java/org/elasticsearch/search/suggest/completion/GeoContextMappingTests.java
+++ b/core/src/test/java/org/elasticsearch/search/suggest/completion/GeoContextMappingTests.java
@@ -30,7 +30,6 @@ import org.elasticsearch.index.mapper.FieldMapper;
import org.elasticsearch.index.mapper.MappedFieldType;
import org.elasticsearch.index.mapper.ParsedDocument;
import org.elasticsearch.index.mapper.SourceToParse;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.search.suggest.completion.context.ContextBuilder;
import org.elasticsearch.search.suggest.completion.context.ContextMapping;
import org.elasticsearch.search.suggest.completion.context.GeoContextMapping;
@@ -209,7 +208,7 @@ public class GeoContextMappingTests extends ESSingleNodeTestCase {
XContentBuilder builder = jsonBuilder().value("ezs42e44yx96");
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
GeoContextMapping mapping = ContextBuilder.geo("geo").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(1 + 8));
Collection<String> locations = new ArrayList<>();
locations.add("ezs42e");
@@ -228,7 +227,7 @@ public class GeoContextMappingTests extends ESSingleNodeTestCase {
.endObject();
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
GeoContextMapping mapping = ContextBuilder.geo("geo").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(1 + 8));
Collection<String> locations = new ArrayList<>();
locations.add("wh0n94");
@@ -251,7 +250,7 @@ public class GeoContextMappingTests extends ESSingleNodeTestCase {
.endObject();
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
GeoContextMapping mapping = ContextBuilder.geo("geo").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(1 + 1 + 8 + 1 + 8 + 1 + 8));
Collection<String> locations = new ArrayList<>();
locations.add("wh0n94");
@@ -289,7 +288,7 @@ public class GeoContextMappingTests extends ESSingleNodeTestCase {
.endArray();
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
GeoContextMapping mapping = ContextBuilder.geo("geo").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(1 + 1 + 8 + 1 + 8 + 1 + 8 + 1 + 1 + 8));
Collection<String> firstLocations = new ArrayList<>();
firstLocations.add("wh0n94");
@@ -332,7 +331,7 @@ public class GeoContextMappingTests extends ESSingleNodeTestCase {
.endArray();
XContentParser parser = createParser(JsonXContent.jsonXContent, builder.bytes());
GeoContextMapping mapping = ContextBuilder.geo("geo").build();
- List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(createParseContext(parser));
+ List<ContextMapping.InternalQueryContext> internalQueryContexts = mapping.parseQueryContext(parser);
assertThat(internalQueryContexts.size(), equalTo(1 + 1 + 8 + 1 + 8 + 1 + 8));
Collection<String> firstLocations = new ArrayList<>();
firstLocations.add("wh0n94");
@@ -354,8 +353,4 @@ public class GeoContextMappingTests extends ESSingleNodeTestCase {
assertThat(internalQueryContext.isPrefix, equalTo(internalQueryContext.context.length() < GeoContextMapping.DEFAULT_PRECISION));
}
}
-
- private static QueryParseContext createParseContext(XContentParser parser) {
- return new QueryParseContext(parser);
- };
}
diff --git a/core/src/test/java/org/elasticsearch/search/suggest/completion/GeoQueryContextTests.java b/core/src/test/java/org/elasticsearch/search/suggest/completion/GeoQueryContextTests.java
index 3e22513ec1..1d058350a9 100644
--- a/core/src/test/java/org/elasticsearch/search/suggest/completion/GeoQueryContextTests.java
+++ b/core/src/test/java/org/elasticsearch/search/suggest/completion/GeoQueryContextTests.java
@@ -20,7 +20,7 @@
package org.elasticsearch.search.suggest.completion;
import org.elasticsearch.common.geo.GeoPoint;
-import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.search.suggest.completion.context.GeoQueryContext;
import java.io.IOException;
@@ -51,8 +51,8 @@ public class GeoQueryContextTests extends QueryContextTestCase<GeoQueryContext>
}
@Override
- protected GeoQueryContext fromXContent(QueryParseContext context) throws IOException {
- return GeoQueryContext.fromXContent(context);
+ protected GeoQueryContext fromXContent(XContentParser parser) throws IOException {
+ return GeoQueryContext.fromXContent(parser);
}
public void testNullGeoPointIsIllegal() {
diff --git a/core/src/test/java/org/elasticsearch/search/suggest/completion/QueryContextTestCase.java b/core/src/test/java/org/elasticsearch/search/suggest/completion/QueryContextTestCase.java
index 192aa8ee1d..3f288e3e3e 100644
--- a/core/src/test/java/org/elasticsearch/search/suggest/completion/QueryContextTestCase.java
+++ b/core/src/test/java/org/elasticsearch/search/suggest/completion/QueryContextTestCase.java
@@ -23,7 +23,6 @@ import org.elasticsearch.common.xcontent.ToXContent;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.test.ESTestCase;
import java.io.IOException;
@@ -40,7 +39,7 @@ public abstract class QueryContextTestCase<QC extends ToXContent> extends ESTest
/**
* read the context
*/
- protected abstract QC fromXContent(QueryParseContext context) throws IOException;
+ protected abstract QC fromXContent(XContentParser parser) throws IOException;
public void testToXContext() throws IOException {
for (int i = 0; i < NUMBER_OF_RUNS; i++) {
@@ -49,7 +48,7 @@ public abstract class QueryContextTestCase<QC extends ToXContent> extends ESTest
toXContent.toXContent(builder, ToXContent.EMPTY_PARAMS);
XContentParser parser = createParser(builder);
parser.nextToken();
- QC fromXContext = fromXContent(new QueryParseContext(parser));
+ QC fromXContext = fromXContent(parser);
assertEquals(toXContent, fromXContext);
assertEquals(toXContent.hashCode(), fromXContext.hashCode());
}
diff --git a/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceParser.java b/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceParser.java
index c2e4b4f0c3..bd265f5ead 100644
--- a/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceParser.java
+++ b/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceParser.java
@@ -22,7 +22,6 @@ package org.elasticsearch.search.aggregations.support;
import org.elasticsearch.common.ParseField;
import org.elasticsearch.common.ParsingException;
import org.elasticsearch.common.xcontent.XContentParser;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.script.Script;
import org.elasticsearch.search.aggregations.AggregationBuilder.CommonFields;
import org.elasticsearch.search.aggregations.Aggregator;
@@ -75,10 +74,9 @@ public abstract class MultiValuesSourceParser<VS extends ValuesSource> implement
}
@Override
- public final MultiValuesSourceAggregationBuilder<VS, ?> parse(String aggregationName, QueryParseContext context)
+ public final MultiValuesSourceAggregationBuilder<VS, ?> parse(String aggregationName, XContentParser parser)
throws IOException {
- XContentParser parser = context.parser();
List<String> fields = null;
ValueType valueType = null;
String format = null;
diff --git a/modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/TransportSearchTemplateAction.java b/modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/TransportSearchTemplateAction.java
index d1e6377b69..2dd9b34e6b 100644
--- a/modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/TransportSearchTemplateAction.java
+++ b/modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/TransportSearchTemplateAction.java
@@ -33,8 +33,6 @@ import org.elasticsearch.common.xcontent.NamedXContentRegistry;
import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.XContentType;
-import org.elasticsearch.index.query.QueryParseContext;
-import org.elasticsearch.script.ExecutableScript;
import org.elasticsearch.script.Script;
import org.elasticsearch.script.ScriptService;
import org.elasticsearch.script.TemplateScript;
@@ -110,7 +108,7 @@ public class TransportSearchTemplateAction extends HandledTransportAction<Search
try (XContentParser parser = XContentFactory.xContent(XContentType.JSON).createParser(xContentRegistry, source)) {
SearchSourceBuilder builder = SearchSourceBuilder.searchSource();
- builder.parseXContent(new QueryParseContext(parser));
+ builder.parseXContent(parser);
builder.explain(searchTemplateRequest.isExplain());
builder.profile(searchTemplateRequest.isProfile());
searchRequest.source(builder);
diff --git a/modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ChildrenAggregationBuilder.java b/modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ChildrenAggregationBuilder.java
index 3560736e44..c0dba06ffa 100644
--- a/modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ChildrenAggregationBuilder.java
+++ b/modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ChildrenAggregationBuilder.java
@@ -29,7 +29,6 @@ import org.elasticsearch.index.fielddata.plain.SortedSetDVOrdinalsIndexFieldData
import org.elasticsearch.index.mapper.DocumentMapper;
import org.elasticsearch.index.mapper.MappedFieldType;
import org.elasticsearch.index.mapper.ParentFieldMapper;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.join.mapper.ParentIdFieldMapper;
import org.elasticsearch.join.mapper.ParentJoinFieldMapper;
import org.elasticsearch.search.aggregations.AggregatorFactories.Builder;
@@ -146,12 +145,11 @@ public class ChildrenAggregationBuilder
return builder;
}
- public static ChildrenAggregationBuilder parse(String aggregationName, QueryParseContext context) throws IOException {
+ public static ChildrenAggregationBuilder parse(String aggregationName, XContentParser parser) throws IOException {
String childType = null;
XContentParser.Token token;
String currentFieldName = null;
- XContentParser parser = context.parser();
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
if (token == XContentParser.Token.FIELD_NAME) {
currentFieldName = parser.currentName();
diff --git a/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java b/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java
index 068d998fac..df1ec70c80 100644
--- a/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java
+++ b/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java
@@ -383,7 +383,7 @@ public class PercolateQueryBuilder extends AbstractQueryBuilder<PercolateQueryBu
}
@Override
- protected QueryBuilder doRewrite(QueryRewriteContext queryShardContext) throws IOException {
+ protected QueryBuilder doRewrite(QueryRewriteContext queryShardContext) {
if (document != null) {
return this;
}
diff --git a/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java b/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java
index c3e3268e53..20a0af8181 100644
--- a/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java
+++ b/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java
@@ -58,7 +58,6 @@ import org.elasticsearch.index.query.BoostingQueryBuilder;
import org.elasticsearch.index.query.ConstantScoreQueryBuilder;
import org.elasticsearch.index.query.DisMaxQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.index.query.QueryShardException;
import org.elasticsearch.index.query.functionscore.FunctionScoreQueryBuilder;
@@ -279,7 +278,7 @@ public class PercolatorFieldMapper extends FieldMapper {
XContentParser parser = context.parser();
QueryBuilder queryBuilder = parseQueryBuilder(
- queryShardContext.newParseContext(parser), parser.getTokenLocation()
+ parser, parser.getTokenLocation()
);
verifyQuery(queryBuilder);
// Fetching of terms, shapes and indexed scripts happen during this rewrite:
@@ -322,12 +321,7 @@ public class PercolatorFieldMapper extends FieldMapper {
}
public static Query parseQuery(QueryShardContext context, boolean mapUnmappedFieldsAsString, XContentParser parser) throws IOException {
- return parseQuery(context, mapUnmappedFieldsAsString, context.newParseContext(parser), parser);
- }
-
- public static Query parseQuery(QueryShardContext context, boolean mapUnmappedFieldsAsString, QueryParseContext queryParseContext,
- XContentParser parser) throws IOException {
- return toQuery(context, mapUnmappedFieldsAsString, parseQueryBuilder(queryParseContext, parser.getTokenLocation()));
+ return toQuery(context, mapUnmappedFieldsAsString, parseQueryBuilder(parser, parser.getTokenLocation()));
}
static Query toQuery(QueryShardContext context, boolean mapUnmappedFieldsAsString, QueryBuilder queryBuilder) throws IOException {
@@ -348,9 +342,9 @@ public class PercolatorFieldMapper extends FieldMapper {
return queryBuilder.toQuery(context);
}
- private static QueryBuilder parseQueryBuilder(QueryParseContext context, XContentLocation location) {
+ private static QueryBuilder parseQueryBuilder(XContentParser parser, XContentLocation location) {
try {
- return parseInnerQueryBuilder(context.parser());
+ return parseInnerQueryBuilder(parser);
} catch (IOException e) {
throw new ParsingException(location, "Failed to parse", e);
}
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestReindexAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestReindexAction.java
index 17c7cf0c19..50365948f0 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestReindexAction.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestReindexAction.java
@@ -35,7 +35,6 @@ import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.json.JsonXContent;
import org.elasticsearch.index.VersionType;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.rest.RestController;
import org.elasticsearch.rest.RestRequest;
import org.elasticsearch.script.Script;
@@ -75,7 +74,7 @@ public class RestReindexAction extends AbstractBaseReindexRestHandler<ReindexReq
XContentBuilder builder = XContentFactory.contentBuilder(parser.contentType());
builder.map(source);
try (XContentParser innerParser = parser.contentType().xContent().createParser(parser.getXContentRegistry(), builder.bytes())) {
- request.getSearchRequest().source().parseXContent(new QueryParseContext(innerParser));
+ request.getSearchRequest().source().parseXContent(innerParser);
}
};
diff --git a/test/framework/src/main/java/org/elasticsearch/search/aggregations/BaseAggregationTestCase.java b/test/framework/src/main/java/org/elasticsearch/search/aggregations/BaseAggregationTestCase.java
index 432b05d6b5..63880f265a 100644
--- a/test/framework/src/main/java/org/elasticsearch/search/aggregations/BaseAggregationTestCase.java
+++ b/test/framework/src/main/java/org/elasticsearch/search/aggregations/BaseAggregationTestCase.java
@@ -31,7 +31,6 @@ import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.env.Environment;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.indices.IndicesModule;
import org.elasticsearch.plugins.Plugin;
import org.elasticsearch.plugins.PluginsService;
@@ -47,7 +46,6 @@ import java.util.Collection;
import java.util.Collections;
import java.util.List;
-import static java.util.Collections.emptyList;
import static org.elasticsearch.test.EqualsHashCodeTestUtils.checkEqualsAndHashCode;
import static org.hamcrest.Matchers.hasSize;
@@ -127,9 +125,8 @@ public abstract class BaseAggregationTestCase<AB extends AbstractAggregationBuil
}
protected AggregationBuilder parse(XContentParser parser) throws IOException {
- QueryParseContext parseContext = new QueryParseContext(parser);
assertSame(XContentParser.Token.START_OBJECT, parser.nextToken());
- AggregatorFactories.Builder parsed = AggregatorFactories.parseAggregators(parseContext);
+ AggregatorFactories.Builder parsed = AggregatorFactories.parseAggregators(parser);
assertThat(parsed.getAggregatorFactories(), hasSize(1));
assertThat(parsed.getPipelineAggregatorFactories(), hasSize(0));
AggregationBuilder newAgg = parsed.getAggregatorFactories().get(0);
diff --git a/test/framework/src/main/java/org/elasticsearch/test/AbstractQueryTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/AbstractQueryTestCase.java
index f10ac4d880..509e6ba17e 100644
--- a/test/framework/src/main/java/org/elasticsearch/test/AbstractQueryTestCase.java
+++ b/test/framework/src/main/java/org/elasticsearch/test/AbstractQueryTestCase.java
@@ -71,7 +71,6 @@ import org.elasticsearch.index.fielddata.IndexFieldDataService;
import org.elasticsearch.index.mapper.MapperService;
import org.elasticsearch.index.query.AbstractQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.index.query.QueryRewriteContext;
import org.elasticsearch.index.query.QueryShardContext;
import org.elasticsearch.index.query.support.QueryParsers;
@@ -761,10 +760,6 @@ public abstract class AbstractQueryTestCase<QB extends AbstractQueryBuilder<QB>>
return serviceHolder.createShardContext();
}
- private static QueryParseContext createParseContext(XContentParser parser) {
- return new QueryParseContext(parser);
- }
-
/**
* create a random value for either {@link AbstractQueryTestCase#BOOLEAN_FIELD_NAME}, {@link AbstractQueryTestCase#INT_FIELD_NAME},
* {@link AbstractQueryTestCase#DOUBLE_FIELD_NAME}, {@link AbstractQueryTestCase#STRING_FIELD_NAME} or