diff options
author | javanna <cavannaluca@gmail.com> | 2017-01-12 11:36:29 +0100 |
---|---|---|
committer | Luca Cavanna <javanna@users.noreply.github.com> | 2017-01-12 14:43:35 +0100 |
commit | 8072f168a39aa968355c5e56688ec1d45b3a348d (patch) | |
tree | 488d8d21de3f280cc781d52b5945843858d11651 /core/src/main | |
parent | 83a3f0e42ca914a19cf63ce82ac6c1e617955c83 (diff) |
Remove ParseFieldMatcher usages from QueryParseContext
Diffstat (limited to 'core/src/main')
15 files changed, 26 insertions, 42 deletions
diff --git a/core/src/main/java/org/elasticsearch/index/query/AbstractQueryBuilder.java b/core/src/main/java/org/elasticsearch/index/query/AbstractQueryBuilder.java index e48373a905..6a3cd2f1ed 100644 --- a/core/src/main/java/org/elasticsearch/index/query/AbstractQueryBuilder.java +++ b/core/src/main/java/org/elasticsearch/index/query/AbstractQueryBuilder.java @@ -26,7 +26,6 @@ import org.apache.lucene.search.spans.SpanQuery; import org.apache.lucene.util.BytesRef; import org.elasticsearch.action.support.ToXContentToBytes; import org.elasticsearch.common.ParseField; -import org.elasticsearch.common.ParseFieldMatcherSupplier; import org.elasticsearch.common.ParsingException; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; @@ -309,7 +308,7 @@ public abstract class AbstractQueryBuilder<QB extends AbstractQueryBuilder<QB>> * {@link MatchAllQueryBuilder} and {@link MatchNoneQueryBuilder} support these fields so they * should use this method. */ - protected static void declareStandardFields(AbstractObjectParser<? extends QueryBuilder, ? extends ParseFieldMatcherSupplier> parser) { + protected static void declareStandardFields(AbstractObjectParser<? extends QueryBuilder, ?> parser) { parser.declareFloat((builder, value) -> builder.boost(value), AbstractQueryBuilder.BOOST_FIELD); parser.declareString((builder, value) -> builder.queryName(value), AbstractQueryBuilder.NAME_FIELD); } diff --git a/core/src/main/java/org/elasticsearch/index/query/QueryParseContext.java b/core/src/main/java/org/elasticsearch/index/query/QueryParseContext.java index df5dab9e52..74e10dcebf 100644 --- a/core/src/main/java/org/elasticsearch/index/query/QueryParseContext.java +++ b/core/src/main/java/org/elasticsearch/index/query/QueryParseContext.java @@ -20,8 +20,6 @@ package org.elasticsearch.index.query; import org.elasticsearch.common.ParseField; -import org.elasticsearch.common.ParseFieldMatcher; -import org.elasticsearch.common.ParseFieldMatcherSupplier; import org.elasticsearch.common.ParsingException; import org.elasticsearch.common.xcontent.NamedXContentRegistry.UnknownNamedObjectException; import org.elasticsearch.common.xcontent.XContentLocation; @@ -31,22 +29,21 @@ import org.elasticsearch.script.Script; import java.io.IOException; import java.util.Objects; -public class QueryParseContext implements ParseFieldMatcherSupplier { +public class QueryParseContext { private static final ParseField CACHE = new ParseField("_cache").withAllDeprecated("Elasticsearch makes its own caching decisions"); private static final ParseField CACHE_KEY = new ParseField("_cache_key").withAllDeprecated("Filters are always used as cache keys"); private final XContentParser parser; - private final ParseFieldMatcher parseFieldMatcher; private final String defaultScriptLanguage; - public QueryParseContext(XContentParser parser, ParseFieldMatcher parseFieldMatcher) { - this(Script.DEFAULT_SCRIPT_LANG, parser, parseFieldMatcher); + public QueryParseContext(XContentParser parser) { + this(Script.DEFAULT_SCRIPT_LANG, parser); } - public QueryParseContext(String defaultScriptLanguage, XContentParser parser, ParseFieldMatcher parseFieldMatcher) { + //TODO this constructor can be removed from master branch + public QueryParseContext(String defaultScriptLanguage, XContentParser parser) { this.parser = Objects.requireNonNull(parser, "parser cannot be null"); - this.parseFieldMatcher = Objects.requireNonNull(parseFieldMatcher, "parse field matcher cannot be null"); this.defaultScriptLanguage = defaultScriptLanguage; } @@ -125,11 +122,6 @@ public class QueryParseContext implements ParseFieldMatcherSupplier { return result; } - @Override - public ParseFieldMatcher getParseFieldMatcher() { - return parseFieldMatcher; - } - /** * Returns the default scripting language, that should be used if scripts don't specify the script language * explicitly. 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 13362f676a..6ae3b423ba 100644 --- a/core/src/main/java/org/elasticsearch/index/query/QueryRewriteContext.java +++ b/core/src/main/java/org/elasticsearch/index/query/QueryRewriteContext.java @@ -104,7 +104,7 @@ public class QueryRewriteContext implements ParseFieldMatcherSupplier { * are configured in the index settings. The default script language will always default to Painless. */ public QueryParseContext newParseContext(XContentParser parser) { - return new QueryParseContext(parser, indexSettings.getParseFieldMatcher()); + return new QueryParseContext(parser); } public long nowInMillis() { diff --git a/core/src/main/java/org/elasticsearch/indices/IndicesService.java b/core/src/main/java/org/elasticsearch/indices/IndicesService.java index 0ab2f3ca28..77a948ecb1 100644 --- a/core/src/main/java/org/elasticsearch/indices/IndicesService.java +++ b/core/src/main/java/org/elasticsearch/indices/IndicesService.java @@ -43,7 +43,6 @@ import org.elasticsearch.cluster.routing.RecoverySource; import org.elasticsearch.cluster.routing.ShardRouting; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.Nullable; -import org.elasticsearch.common.ParseFieldMatcher; import org.elasticsearch.common.breaker.CircuitBreaker; import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.bytes.BytesReference; @@ -1254,7 +1253,7 @@ public class IndicesService extends AbstractLifecycleComponent * of dependencies we pass in a function that can perform the parsing. */ ShardSearchRequest.FilterParser filterParser = bytes -> { try (XContentParser parser = XContentFactory.xContent(bytes).createParser(xContentRegistry, bytes)) { - return new QueryParseContext(parser, new ParseFieldMatcher(settings)).parseInnerQueryBuilder(); + return new QueryParseContext(parser).parseInnerQueryBuilder(); } }; String[] aliases = indexNameExpressionResolver.filteringAliases(state, index, expressions); diff --git a/core/src/main/java/org/elasticsearch/rest/action/RestActions.java b/core/src/main/java/org/elasticsearch/rest/action/RestActions.java index 4a96becbbb..74836b1dc2 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/RestActions.java +++ b/core/src/main/java/org/elasticsearch/rest/action/RestActions.java @@ -25,7 +25,6 @@ import org.elasticsearch.action.ShardOperationFailedException; import org.elasticsearch.action.support.broadcast.BroadcastResponse; import org.elasticsearch.action.support.nodes.BaseNodeResponse; import org.elasticsearch.action.support.nodes.BaseNodesResponse; -import org.elasticsearch.common.ParseFieldMatcher; import org.elasticsearch.common.lucene.uid.Versions; import org.elasticsearch.common.xcontent.ToXContent; import org.elasticsearch.common.xcontent.ToXContent.Params; @@ -194,8 +193,8 @@ public class RestActions { return queryBuilder; } - public static QueryBuilder getQueryContent(XContentParser requestParser, ParseFieldMatcher parseFieldMatcher) { - QueryParseContext context = new QueryParseContext(requestParser, parseFieldMatcher); + public static QueryBuilder getQueryContent(XContentParser requestParser) { + QueryParseContext context = new QueryParseContext(requestParser); return context.parseTopLevelQueryBuilder(); } diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestValidateQueryAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestValidateQueryAction.java index e12baa35be..10b1fd8e8b 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestValidateQueryAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestValidateQueryAction.java @@ -69,7 +69,7 @@ public class RestValidateQueryAction extends BaseRestHandler { try { request.withContentOrSourceParamParserOrNull(parser -> { if (parser != null) { - validateQueryRequest.query(RestActions.getQueryContent(parser, parseFieldMatcher)); + validateQueryRequest.query(RestActions.getQueryContent(parser)); } else if (request.hasParam("q")) { validateQueryRequest.query(RestActions.urlParamsToQueryBuilder(request)); } diff --git a/core/src/main/java/org/elasticsearch/rest/action/cat/RestCountAction.java b/core/src/main/java/org/elasticsearch/rest/action/cat/RestCountAction.java index 49cbcfa661..dbd0c1c1d3 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/cat/RestCountAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/cat/RestCountAction.java @@ -67,7 +67,7 @@ public class RestCountAction extends AbstractCatAction { searchSourceBuilder.query(queryBuilder); } } else { - searchSourceBuilder.query(RestActions.getQueryContent(parser, parseFieldMatcher)); + searchSourceBuilder.query(RestActions.getQueryContent(parser)); } }); } catch (IOException e) { diff --git a/core/src/main/java/org/elasticsearch/rest/action/document/RestCountAction.java b/core/src/main/java/org/elasticsearch/rest/action/document/RestCountAction.java index 86acb1fb1b..662bac5f61 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/document/RestCountAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/document/RestCountAction.java @@ -69,7 +69,7 @@ public class RestCountAction extends BaseRestHandler { searchSourceBuilder.query(queryBuilder); } } else { - searchSourceBuilder.query(RestActions.getQueryContent(parser, parseFieldMatcher)); + searchSourceBuilder.query(RestActions.getQueryContent(parser)); } }); countRequest.routing(request.param("routing")); diff --git a/core/src/main/java/org/elasticsearch/rest/action/search/RestExplainAction.java b/core/src/main/java/org/elasticsearch/rest/action/search/RestExplainAction.java index a3c845555b..7aea9bb63f 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/search/RestExplainAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/search/RestExplainAction.java @@ -65,7 +65,7 @@ public class RestExplainAction extends BaseRestHandler { String queryString = request.param("q"); request.withContentOrSourceParamParserOrNull(parser -> { if (parser != null) { - explainRequest.query(RestActions.getQueryContent(parser, parseFieldMatcher)); + explainRequest.query(RestActions.getQueryContent(parser)); } else if (queryString != null) { QueryBuilder query = RestActions.urlParamsToQueryBuilder(request); explainRequest.query(query); 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 d265db94d9..5cfa7795e0 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 @@ -24,7 +24,6 @@ import org.elasticsearch.action.search.MultiSearchRequest; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.support.IndicesOptions; import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.common.ParseFieldMatcher; import org.elasticsearch.common.Strings; import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.inject.Inject; @@ -69,15 +68,14 @@ public class RestMultiSearchAction extends BaseRestHandler { @Override public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException { - MultiSearchRequest multiSearchRequest = parseRequest(request, allowExplicitIndex, parseFieldMatcher); + MultiSearchRequest multiSearchRequest = parseRequest(request, allowExplicitIndex); return channel -> client.multiSearch(multiSearchRequest, new RestToXContentListener<>(channel)); } /** * Parses a {@link RestRequest} body and returns a {@link MultiSearchRequest} */ - public static MultiSearchRequest parseRequest(RestRequest restRequest, boolean allowExplicitIndex, - ParseFieldMatcher parseFieldMatcher) throws IOException { + public static MultiSearchRequest parseRequest(RestRequest restRequest, boolean allowExplicitIndex) throws IOException { MultiSearchRequest multiRequest = new MultiSearchRequest(); if (restRequest.hasParam("max_concurrent_searches")) { multiRequest.maxConcurrentSearchRequests(restRequest.paramAsInt("max_concurrent_searches", 0)); @@ -85,7 +83,7 @@ public class RestMultiSearchAction extends BaseRestHandler { parseMultiLineRequest(restRequest, multiRequest.indicesOptions(), allowExplicitIndex, (searchRequest, parser) -> { try { - final QueryParseContext queryParseContext = new QueryParseContext(parser, parseFieldMatcher); + final QueryParseContext queryParseContext = new QueryParseContext(parser); searchRequest.source(SearchSourceBuilder.fromXContent(queryParseContext)); multiRequest.add(searchRequest); } catch (IOException 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 68669fe07e..ba60e3068d 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 @@ -23,7 +23,6 @@ import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchType; import org.elasticsearch.action.support.IndicesOptions; import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.common.ParseFieldMatcher; import org.elasticsearch.common.Strings; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.settings.Settings; @@ -68,7 +67,7 @@ public class RestSearchAction extends BaseRestHandler { public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException { SearchRequest searchRequest = new SearchRequest(); request.withContentOrSourceParamParserOrNull(parser -> - parseSearchRequest(searchRequest, request, parseFieldMatcher, parser)); + parseSearchRequest(searchRequest, request, parser)); return channel -> client.search(searchRequest, new RestStatusToXContentListener<>(channel)); } @@ -79,15 +78,15 @@ public class RestSearchAction extends BaseRestHandler { * @param requestContentParser body of the request to read. This method does not attempt to read the body from the {@code request} * parameter */ - public static void parseSearchRequest(SearchRequest searchRequest, RestRequest request, ParseFieldMatcher parseFieldMatcher, - XContentParser requestContentParser) throws IOException { + public static void parseSearchRequest(SearchRequest searchRequest, RestRequest request, + XContentParser requestContentParser) throws IOException { if (searchRequest.source() == null) { searchRequest.source(new SearchSourceBuilder()); } searchRequest.indices(Strings.splitStringByCommaToArray(request.param("index"))); if (requestContentParser != null) { - QueryParseContext context = new QueryParseContext(requestContentParser, parseFieldMatcher); + QueryParseContext context = new QueryParseContext(requestContentParser); searchRequest.source().parseXContent(context); } 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 bc6bf845c8..e805abd86c 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 @@ -110,7 +110,7 @@ public class DateHistogramAggregationBuilder PARSER.declareLong(DateHistogramAggregationBuilder::minDocCount, Histogram.MIN_DOC_COUNT_FIELD); - PARSER.declareField(DateHistogramAggregationBuilder::extendedBounds, ExtendedBounds.PARSER::apply, + PARSER.declareField(DateHistogramAggregationBuilder::extendedBounds, parser -> ExtendedBounds.PARSER.apply(parser, null), ExtendedBounds.EXTENDED_BOUNDS_FIELD, ObjectParser.ValueType.OBJECT); PARSER.declareField(DateHistogramAggregationBuilder::order, DateHistogramAggregationBuilder::parseOrder, diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/ExtendedBounds.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/ExtendedBounds.java index 8516034761..0c83cde40c 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/ExtendedBounds.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/histogram/ExtendedBounds.java @@ -20,7 +20,6 @@ package org.elasticsearch.search.aggregations.bucket.histogram; import org.elasticsearch.common.ParseField; -import org.elasticsearch.common.ParseFieldMatcherSupplier; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.io.stream.Writeable; @@ -45,7 +44,7 @@ public class ExtendedBounds implements ToXContent, Writeable { static final ParseField MIN_FIELD = new ParseField("min"); static final ParseField MAX_FIELD = new ParseField("max"); - public static final ConstructingObjectParser<ExtendedBounds, ParseFieldMatcherSupplier> PARSER = new ConstructingObjectParser<>( + public static final ConstructingObjectParser<ExtendedBounds, Void> PARSER = new ConstructingObjectParser<>( "extended_bounds", a -> { assert a.length == 2; Long min = null; 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 3cf143110f..00f0f2667e 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 @@ -74,7 +74,7 @@ public class HistogramAggregationBuilder PARSER.declareField((histogram, extendedBounds) -> { histogram.extendedBounds(extendedBounds[0], extendedBounds[1]); - }, EXTENDED_BOUNDS_PARSER::apply, ExtendedBounds.EXTENDED_BOUNDS_FIELD, ObjectParser.ValueType.OBJECT); + }, parser -> EXTENDED_BOUNDS_PARSER.apply(parser, null), ExtendedBounds.EXTENDED_BOUNDS_FIELD, ObjectParser.ValueType.OBJECT); PARSER.declareField(HistogramAggregationBuilder::order, HistogramAggregationBuilder::parseOrder, Histogram.ORDER_FIELD, ObjectParser.ValueType.OBJECT); 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 6ed8754c97..e2f00c0001 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 @@ -21,7 +21,6 @@ package org.elasticsearch.search.suggest.completion.context; import org.elasticsearch.ElasticsearchParseException; import org.elasticsearch.common.ParseField; -import org.elasticsearch.common.ParseFieldMatcherSupplier; import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.geo.GeoUtils; import org.elasticsearch.common.xcontent.ObjectParser; @@ -113,7 +112,7 @@ public final class GeoQueryContext implements ToXContent { return new Builder(); } - private static ObjectParser<GeoQueryContext.Builder, ParseFieldMatcherSupplier> GEO_CONTEXT_PARSER = new ObjectParser<>(NAME, null); + private static ObjectParser<GeoQueryContext.Builder, Void> GEO_CONTEXT_PARSER = new ObjectParser<>(NAME, null); static { GEO_CONTEXT_PARSER.declareField((parser, geoQueryContext, geoContextMapping) -> geoQueryContext.setGeoPoint(GeoUtils.parseGeoPoint(parser)), new ParseField(CONTEXT_VALUE), ObjectParser.ValueType.OBJECT); GEO_CONTEXT_PARSER.declareInt(GeoQueryContext.Builder::setBoost, new ParseField(CONTEXT_BOOST)); @@ -130,7 +129,7 @@ public final class GeoQueryContext implements ToXContent { XContentParser.Token token = parser.currentToken(); GeoQueryContext.Builder builder = new Builder(); if (token == XContentParser.Token.START_OBJECT) { - GEO_CONTEXT_PARSER.parse(parser, builder, context); + GEO_CONTEXT_PARSER.parse(parser, builder, null); } else if (token == XContentParser.Token.VALUE_STRING) { builder.setGeoPoint(GeoPoint.fromGeohash(parser.text())); } else { |