Adapt to changes in core ES (elastic/elasticsearch#17417)

Original commit: elastic/x-pack-elasticsearch@2df6d5b27e
This commit is contained in:
Christoph Büscher 2016-04-15 16:48:11 +02:00
parent e66a6871c0
commit e6bce6b36e
4 changed files with 42 additions and 44 deletions

View File

@ -5,6 +5,15 @@
*/
package org.elasticsearch.graph.rest.action;
import static org.elasticsearch.graph.action.GraphExploreAction.INSTANCE;
import static org.elasticsearch.rest.RestRequest.Method.GET;
import static org.elasticsearch.rest.RestRequest.Method.POST;
import java.io.IOException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import org.elasticsearch.ElasticsearchParseException;
import org.elasticsearch.action.support.IndicesOptions;
import org.elasticsearch.client.Client;
@ -17,10 +26,10 @@ import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.graph.action.GraphExploreRequest;
import org.elasticsearch.graph.action.GraphExploreRequest.TermBoost;
import org.elasticsearch.graph.action.GraphExploreResponse;
import org.elasticsearch.graph.action.Hop;
import org.elasticsearch.graph.action.VertexRequest;
import org.elasticsearch.graph.action.GraphExploreRequest.TermBoost;
import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.indices.query.IndicesQueriesRegistry;
import org.elasticsearch.rest.BaseRestHandler;
@ -30,15 +39,6 @@ import org.elasticsearch.rest.RestRequest;
import org.elasticsearch.rest.action.support.RestActions;
import org.elasticsearch.rest.action.support.RestToXContentListener;
import java.io.IOException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import static org.elasticsearch.graph.action.GraphExploreAction.INSTANCE;
import static org.elasticsearch.rest.RestRequest.Method.GET;
import static org.elasticsearch.rest.RestRequest.Method.POST;
/**
* @see GraphExploreRequest
*/
@ -85,14 +85,12 @@ public class RestGraphAction extends BaseRestHandler {
if (!RestActions.hasBodyContent(request)) {
throw new ElasticsearchParseException("Body missing for graph request");
}
QueryParseContext context = new QueryParseContext(indicesQueriesRegistry);
BytesReference qBytes = RestActions.getRestContent(request);
Hop currentHop = graphRequest.createNextHop(null);
try(XContentParser parser = XContentFactory.xContent(qBytes).createParser(qBytes)) {
context.parser(parser);
QueryParseContext context = new QueryParseContext(indicesQueriesRegistry, parser, parseFieldMatcher);
XContentParser.Token token = parser.nextToken();
@ -107,7 +105,7 @@ public class RestGraphAction extends BaseRestHandler {
client.execute(INSTANCE, graphRequest, new RestToXContentListener<GraphExploreResponse>(channel));
}
private void parseHop(XContentParser parser, QueryParseContext context, Hop currentHop,
private void parseHop(XContentParser parser, QueryParseContext context, Hop currentHop,
GraphExploreRequest graphRequest) throws IOException {
String fieldName = null;
XContentParser.Token token;
@ -198,7 +196,7 @@ public class RestGraphAction extends BaseRestHandler {
}
} else {
throw new ElasticsearchParseException(
"Graph vertices definition " + INCLUDE_FIELD.getPreferredName() +
"Graph vertices definition " + INCLUDE_FIELD.getPreferredName() +
" clause has invalid property type:"+ token.name());
}
@ -206,7 +204,7 @@ public class RestGraphAction extends BaseRestHandler {
}
if (includeTerm == null) {
throw new ElasticsearchParseException(
"Graph vertices definition " + INCLUDE_FIELD.getPreferredName() +
"Graph vertices definition " + INCLUDE_FIELD.getPreferredName() +
" clause has missing object property for term");
}
includes.put(includeTerm, new TermBoost(includeTerm, boost));
@ -215,7 +213,7 @@ public class RestGraphAction extends BaseRestHandler {
includes.put(term, new TermBoost(term, 1f));
} else {
throw new ElasticsearchParseException(
"Graph vertices definition " + INCLUDE_FIELD.getPreferredName() +
"Graph vertices definition " + INCLUDE_FIELD.getPreferredName() +
" clauses must be string terms or Objects with terms and boosts, not"
+ token.name());
}

View File

@ -5,6 +5,9 @@
*/
package org.elasticsearch.watcher.input.search;
import java.io.IOException;
import org.elasticsearch.common.ParseFieldMatcher;
import org.elasticsearch.common.inject.Inject;
import org.elasticsearch.common.logging.Loggers;
import org.elasticsearch.common.settings.Settings;
@ -18,8 +21,6 @@ import org.elasticsearch.watcher.input.InputFactory;
import org.elasticsearch.watcher.input.simple.ExecutableSimpleInput;
import org.elasticsearch.watcher.support.init.proxy.WatcherClientProxy;
import java.io.IOException;
/**
*
*/
@ -30,11 +31,13 @@ public class SearchInputFactory extends InputFactory<SearchInput, SearchInput.Re
private final IndicesQueriesRegistry queryRegistry;
private final AggregatorParsers aggParsers;
private final Suggesters suggesters;
private final ParseFieldMatcher parseFieldMatcher;
@Inject
public SearchInputFactory(Settings settings, WatcherClientProxy client, IndicesQueriesRegistry queryRegistry,
AggregatorParsers aggParsers, Suggesters suggesters) {
super(Loggers.getLogger(ExecutableSimpleInput.class, settings));
this.parseFieldMatcher = new ParseFieldMatcher(settings);
this.client = client;
this.queryRegistry = queryRegistry;
this.aggParsers = aggParsers;
@ -49,8 +52,7 @@ public class SearchInputFactory extends InputFactory<SearchInput, SearchInput.Re
@Override
public SearchInput parseInput(String watchId, XContentParser parser) throws IOException {
QueryParseContext context = new QueryParseContext(queryRegistry);
context.reset(parser);
QueryParseContext context = new QueryParseContext(queryRegistry, parser, parseFieldMatcher);
return SearchInput.parse(watchId, parser, context, aggParsers, suggesters);
}

View File

@ -5,6 +5,9 @@
*/
package org.elasticsearch.watcher.transform.search;
import java.io.IOException;
import org.elasticsearch.common.ParseFieldMatcher;
import org.elasticsearch.common.inject.Inject;
import org.elasticsearch.common.logging.Loggers;
import org.elasticsearch.common.settings.Settings;
@ -13,12 +16,10 @@ import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.query.QueryParseContext;
import org.elasticsearch.indices.query.IndicesQueriesRegistry;
import org.elasticsearch.search.aggregations.AggregatorParsers;
import org.elasticsearch.watcher.support.init.proxy.WatcherClientProxy;
import org.elasticsearch.search.suggest.Suggesters;
import org.elasticsearch.watcher.support.init.proxy.WatcherClientProxy;
import org.elasticsearch.watcher.transform.TransformFactory;
import java.io.IOException;
/**
*
*/
@ -29,12 +30,14 @@ public class SearchTransformFactory extends TransformFactory<SearchTransform, Se
private final IndicesQueriesRegistry queryRegistry;
private final AggregatorParsers aggParsers;
private final Suggesters suggesters;
private final ParseFieldMatcher parseFieldMatcher;
@Inject
public SearchTransformFactory(Settings settings, WatcherClientProxy client, IndicesQueriesRegistry queryRegistry,
AggregatorParsers aggParsers, Suggesters suggesters) {
super(Loggers.getLogger(ExecutableSearchTransform.class, settings));
this.client = client;
this.parseFieldMatcher = new ParseFieldMatcher(settings);
this.queryRegistry = queryRegistry;
this.aggParsers = aggParsers;
this.suggesters = suggesters;
@ -48,8 +51,7 @@ public class SearchTransformFactory extends TransformFactory<SearchTransform, Se
@Override
public SearchTransform parseTransform(String watchId, XContentParser parser) throws IOException {
QueryParseContext context = new QueryParseContext(queryRegistry);
context.reset(parser);
QueryParseContext context = new QueryParseContext(queryRegistry, parser, parseFieldMatcher);
return SearchTransform.parse(watchId, parser, context, aggParsers, suggesters);
}

View File

@ -6,6 +6,17 @@
package org.elasticsearch.watcher.support;
import static java.util.Collections.singletonMap;
import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
import static org.elasticsearch.watcher.support.WatcherDateTimeUtils.formatDate;
import static org.elasticsearch.watcher.support.WatcherUtils.DEFAULT_INDICES_OPTIONS;
import static org.elasticsearch.watcher.support.WatcherUtils.flattenModel;
import static org.elasticsearch.watcher.test.WatcherTestUtils.getRandomSupportedSearchType;
import static org.hamcrest.Matchers.arrayContainingInAnyOrder;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.hasEntry;
import static org.hamcrest.Matchers.is;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
@ -15,10 +26,9 @@ import java.util.Map;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchType;
import org.elasticsearch.action.support.IndicesOptions;
import org.elasticsearch.common.ParseFieldMatcher;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.bytes.BytesReference;
import org.elasticsearch.common.collect.Tuple;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.xcontent.ToXContent;
import org.elasticsearch.common.xcontent.XContentBuilder;
@ -39,18 +49,6 @@ import org.elasticsearch.watcher.support.clock.SystemClock;
import org.elasticsearch.watcher.support.text.TextTemplate;
import org.joda.time.DateTime;
import static java.util.Collections.singletonMap;
import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
import static org.elasticsearch.watcher.support.WatcherDateTimeUtils.formatDate;
import static org.elasticsearch.watcher.support.WatcherUtils.DEFAULT_INDICES_OPTIONS;
import static org.elasticsearch.watcher.support.WatcherUtils.flattenModel;
import static org.elasticsearch.watcher.test.WatcherTestUtils.getRandomSupportedSearchType;
import static org.hamcrest.Matchers.arrayContainingInAnyOrder;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.hasEntry;
import static org.hamcrest.Matchers.is;
/**
*
*/
@ -139,8 +137,7 @@ public class WatcherUtilsTests extends ESTestCase {
IndicesQueriesRegistry registry = new IndicesQueriesRegistry();
QueryParser<MatchAllQueryBuilder> queryParser = MatchAllQueryBuilder::fromXContent;
registry.register(queryParser, MatchAllQueryBuilder.QUERY_NAME_FIELD);
QueryParseContext context = new QueryParseContext(registry);
context.reset(parser);
QueryParseContext context = new QueryParseContext(registry, parser, ParseFieldMatcher.STRICT);
SearchRequest result = WatcherUtils.readSearchRequest(parser, ExecutableSearchInput.DEFAULT_SEARCH_TYPE, context, null, null);
assertThat(result.indices(), arrayContainingInAnyOrder(expectedRequest.indices()));
@ -229,8 +226,7 @@ public class WatcherUtilsTests extends ESTestCase {
IndicesQueriesRegistry registry = new IndicesQueriesRegistry();
QueryParser<MatchAllQueryBuilder> queryParser = MatchAllQueryBuilder::fromXContent;
registry.register(queryParser, MatchAllQueryBuilder.QUERY_NAME_FIELD);
QueryParseContext context = new QueryParseContext(registry);
context.reset(parser);
QueryParseContext context = new QueryParseContext(registry, parser, ParseFieldMatcher.STRICT);
SearchRequest result = WatcherUtils.readSearchRequest(parser, ExecutableSearchInput.DEFAULT_SEARCH_TYPE, context, null, null);
assertThat(result.indices(), arrayContainingInAnyOrder(indices));