From 7c6b8ffa36aae604f578ce036ce7817019ad799b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20B=C3=BCscher?= Date: Thu, 29 Jun 2017 17:10:34 +0200 Subject: [PATCH] Adapting to changes in https://github.com/elastic/elasticsearch/pull/25448 (elastic/x-pack-elasticsearch#1887) Original commit: elastic/x-pack-elasticsearch@5cdf5a237296f8e2ada445cc4e8478d3df0b8ed7 --- .../xpack/graph/rest/action/RestGraphAction.java | 6 +++--- .../org/elasticsearch/xpack/ml/datafeed/DatafeedConfig.java | 5 +++-- .../org/elasticsearch/xpack/ml/datafeed/DatafeedUpdate.java | 5 +++-- .../authz/accesscontrol/SecurityIndexSearcherWrapper.java | 3 ++- .../SecurityIndexSearcherWrapperIntegrationTests.java | 3 ++- .../org/elasticsearch/xpack/watcher/watch/WatchTests.java | 5 ++--- 6 files changed, 15 insertions(+), 12 deletions(-) diff --git a/plugin/src/main/java/org/elasticsearch/xpack/graph/rest/action/RestGraphAction.java b/plugin/src/main/java/org/elasticsearch/xpack/graph/rest/action/RestGraphAction.java index 7447c1e3468..54f1cbcc56c 100644 --- a/plugin/src/main/java/org/elasticsearch/xpack/graph/rest/action/RestGraphAction.java +++ b/plugin/src/main/java/org/elasticsearch/xpack/graph/rest/action/RestGraphAction.java @@ -28,10 +28,10 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; +import static org.elasticsearch.index.query.AbstractQueryBuilder.parseInnerQueryBuilder; import static org.elasticsearch.rest.RestRequest.Method.GET; import static org.elasticsearch.rest.RestRequest.Method.POST; import static org.elasticsearch.xpack.graph.action.GraphExploreAction.INSTANCE; - /** * @see GraphExploreRequest */ @@ -121,7 +121,7 @@ public class RestGraphAction extends XPackRestHandler { } } else if (token == XContentParser.Token.START_OBJECT) { if (QUERY_FIELD.match(fieldName)) { - currentHop.guidingQuery(context.parseInnerQueryBuilder()); + currentHop.guidingQuery(parseInnerQueryBuilder(parser)); } else if (CONNECTIONS_FIELD.match(fieldName)) { parseHop(parser, context, graphRequest.createNextHop(null), graphRequest); } else if (CONTROLS_FIELD.match(fieldName)) { @@ -221,7 +221,7 @@ public class RestGraphAction extends XPackRestHandler { "Graph vertices definition cannot contain both "+ INCLUDE_FIELD.getPreferredName()+ " and "+EXCLUDE_FIELD.getPreferredName()+" clauses", token.name()); } - excludes = new HashSet(); + excludes = new HashSet<>(); while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) { excludes.add(parser.text()); } diff --git a/plugin/src/main/java/org/elasticsearch/xpack/ml/datafeed/DatafeedConfig.java b/plugin/src/main/java/org/elasticsearch/xpack/ml/datafeed/DatafeedConfig.java index 5abf7b06b99..0e98840d5d7 100644 --- a/plugin/src/main/java/org/elasticsearch/xpack/ml/datafeed/DatafeedConfig.java +++ b/plugin/src/main/java/org/elasticsearch/xpack/ml/datafeed/DatafeedConfig.java @@ -18,6 +18,7 @@ import org.elasticsearch.common.xcontent.ObjectParser; import org.elasticsearch.common.xcontent.ToXContentObject; 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.QueryBuilders; import org.elasticsearch.index.query.QueryParseContext; @@ -87,14 +88,14 @@ public class DatafeedConfig extends AbstractDiffable implements PARSER.declareString((builder, val) -> builder.setFrequency(TimeValue.parseTimeValue(val, FREQUENCY.getPreferredName())), FREQUENCY); PARSER.declareObject(Builder::setQuery, - (p, c) -> new QueryParseContext(p).parseInnerQueryBuilder(), QUERY); + (p, c) -> AbstractQueryBuilder.parseInnerQueryBuilder(p), QUERY); PARSER.declareObject(Builder::setAggregations, (p, c) -> AggregatorFactories.parseAggregators(new QueryParseContext(p)), AGGREGATIONS); PARSER.declareObject(Builder::setAggregations,(p, c) -> AggregatorFactories.parseAggregators(new QueryParseContext(p)), AGGS); PARSER.declareObject(Builder::setScriptFields, (p, c) -> { List parsedScriptFields = new ArrayList<>(); while (p.nextToken() != XContentParser.Token.END_OBJECT) { - parsedScriptFields.add(new SearchSourceBuilder.ScriptField(new QueryParseContext(p))); + parsedScriptFields.add(new SearchSourceBuilder.ScriptField(p)); } parsedScriptFields.sort(Comparator.comparing(SearchSourceBuilder.ScriptField::fieldName)); return parsedScriptFields; diff --git a/plugin/src/main/java/org/elasticsearch/xpack/ml/datafeed/DatafeedUpdate.java b/plugin/src/main/java/org/elasticsearch/xpack/ml/datafeed/DatafeedUpdate.java index 5bb3ac1ae9d..5da3dd7bb26 100644 --- a/plugin/src/main/java/org/elasticsearch/xpack/ml/datafeed/DatafeedUpdate.java +++ b/plugin/src/main/java/org/elasticsearch/xpack/ml/datafeed/DatafeedUpdate.java @@ -16,6 +16,7 @@ import org.elasticsearch.common.xcontent.ObjectParser; import org.elasticsearch.common.xcontent.ToXContentObject; 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.AggregatorFactories; @@ -49,7 +50,7 @@ public class DatafeedUpdate implements Writeable, ToXContentObject { PARSER.declareString((builder, val) -> builder.setFrequency( TimeValue.parseTimeValue(val, DatafeedConfig.FREQUENCY.getPreferredName())), DatafeedConfig.FREQUENCY); PARSER.declareObject(Builder::setQuery, - (p, c) -> new QueryParseContext(p).parseInnerQueryBuilder(), DatafeedConfig.QUERY); + (p, c) -> AbstractQueryBuilder.parseInnerQueryBuilder(p), DatafeedConfig.QUERY); PARSER.declareObject(Builder::setAggregations, (p, c) -> AggregatorFactories.parseAggregators(new QueryParseContext(p)), DatafeedConfig.AGGREGATIONS); PARSER.declareObject(Builder::setAggregations,(p, c) -> AggregatorFactories.parseAggregators(new QueryParseContext(p)), @@ -57,7 +58,7 @@ public class DatafeedUpdate implements Writeable, ToXContentObject { PARSER.declareObject(Builder::setScriptFields, (p, c) -> { List parsedScriptFields = new ArrayList<>(); while (p.nextToken() != XContentParser.Token.END_OBJECT) { - parsedScriptFields.add(new SearchSourceBuilder.ScriptField(new QueryParseContext(p))); + parsedScriptFields.add(new SearchSourceBuilder.ScriptField(p)); } parsedScriptFields.sort(Comparator.comparing(SearchSourceBuilder.ScriptField::fieldName)); return parsedScriptFields; diff --git a/plugin/src/main/java/org/elasticsearch/xpack/security/authz/accesscontrol/SecurityIndexSearcherWrapper.java b/plugin/src/main/java/org/elasticsearch/xpack/security/authz/accesscontrol/SecurityIndexSearcherWrapper.java index d407817524b..002f6af893c 100644 --- a/plugin/src/main/java/org/elasticsearch/xpack/security/authz/accesscontrol/SecurityIndexSearcherWrapper.java +++ b/plugin/src/main/java/org/elasticsearch/xpack/security/authz/accesscontrol/SecurityIndexSearcherWrapper.java @@ -42,6 +42,7 @@ import org.elasticsearch.common.xcontent.XContentParser; import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.cache.bitset.BitsetFilterCache; import org.elasticsearch.index.engine.EngineException; +import org.elasticsearch.index.query.AbstractQueryBuilder; import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.BoostingQueryBuilder; import org.elasticsearch.index.query.ConstantScoreQueryBuilder; @@ -134,7 +135,7 @@ public class SecurityIndexSearcherWrapper extends IndexSearcherWrapper { String templateResult = evaluateTemplate(bytesReference.utf8ToString()); try (XContentParser parser = XContentFactory.xContent(templateResult) .createParser(queryShardContext.getXContentRegistry(), templateResult)) { - QueryBuilder queryBuilder = queryShardContext.newParseContext(parser).parseInnerQueryBuilder(); + QueryBuilder queryBuilder = AbstractQueryBuilder.parseInnerQueryBuilder(parser); verifyRoleQuery(queryBuilder); failIfQueryUsesClient(scriptService, queryBuilder, queryShardContext); ParsedQuery parsedQuery = queryShardContext.toFilter(queryBuilder); diff --git a/plugin/src/test/java/org/elasticsearch/xpack/security/authz/accesscontrol/SecurityIndexSearcherWrapperIntegrationTests.java b/plugin/src/test/java/org/elasticsearch/xpack/security/authz/accesscontrol/SecurityIndexSearcherWrapperIntegrationTests.java index a6ffe97209c..26f822e0662 100644 --- a/plugin/src/test/java/org/elasticsearch/xpack/security/authz/accesscontrol/SecurityIndexSearcherWrapperIntegrationTests.java +++ b/plugin/src/test/java/org/elasticsearch/xpack/security/authz/accesscontrol/SecurityIndexSearcherWrapperIntegrationTests.java @@ -30,6 +30,7 @@ import org.elasticsearch.common.xcontent.json.JsonXContentParser; import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.cache.bitset.BitsetFilterCache; import org.elasticsearch.index.mapper.MapperService; +import org.elasticsearch.index.query.AbstractQueryBuilder; import org.elasticsearch.index.query.ParsedQuery; import org.elasticsearch.index.query.QueryParseContext; import org.elasticsearch.index.query.QueryShardContext; @@ -145,7 +146,7 @@ public class SecurityIndexSearcherWrapperIntegrationTests extends ESTestCase { for (int i = 0; i < numValues; i++) { ParsedQuery parsedQuery = new ParsedQuery(new TermQuery(new Term("field", values[i]))); when(queryShardContext.newParseContext(anyParser())).thenReturn(queryParseContext); - when(queryParseContext.parseInnerQueryBuilder()).thenReturn(new TermQueryBuilder("field", values[i])); + when(AbstractQueryBuilder.parseInnerQueryBuilder(anyParser())).thenReturn(new TermQueryBuilder("field", values[i])); when(queryShardContext.toFilter(new TermsQueryBuilder("field", values[i]))).thenReturn(parsedQuery); DirectoryReader wrappedDirectoryReader = wrapper.wrap(directoryReader); IndexSearcher indexSearcher = wrapper.wrap(new IndexSearcher(wrappedDirectoryReader)); diff --git a/plugin/src/test/java/org/elasticsearch/xpack/watcher/watch/WatchTests.java b/plugin/src/test/java/org/elasticsearch/xpack/watcher/watch/WatchTests.java index 81c13412923..c98eac9a788 100644 --- a/plugin/src/test/java/org/elasticsearch/xpack/watcher/watch/WatchTests.java +++ b/plugin/src/test/java/org/elasticsearch/xpack/watcher/watch/WatchTests.java @@ -20,7 +20,6 @@ import org.elasticsearch.common.xcontent.XContentParser; import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.index.query.MatchAllQueryBuilder; import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.index.query.QueryParseContext; import org.elasticsearch.index.query.ScriptQueryBuilder; import org.elasticsearch.license.XPackLicenseState; import org.elasticsearch.script.Script; @@ -556,9 +555,9 @@ public class WatchTests extends ESTestCase { protected NamedXContentRegistry xContentRegistry() { return new NamedXContentRegistry(Arrays.asList( new NamedXContentRegistry.Entry(QueryBuilder.class, new ParseField(MatchAllQueryBuilder.NAME), (p, c) -> - MatchAllQueryBuilder.fromXContent((QueryParseContext) c)), + MatchAllQueryBuilder.fromXContent(p)), new NamedXContentRegistry.Entry(QueryBuilder.class, new ParseField(ScriptQueryBuilder.NAME), (p, c) -> - ScriptQueryBuilder.fromXContent((QueryParseContext) c)) + ScriptQueryBuilder.fromXContent(p)) )); }