diff options
author | Nik Everett <nik9000@gmail.com> | 2016-03-28 11:06:03 -0400 |
---|---|---|
committer | Nik Everett <nik9000@gmail.com> | 2016-03-29 17:55:01 -0400 |
commit | df08854c60a2bf1402377615e9bce644e6304e0b (patch) | |
tree | ba5090acaadd0bcc09069f2a94c417117151d49f /core/src/main/java/org/elasticsearch/search/suggest/completion/context | |
parent | 101a32573c0eeb3abe70cc1ead569b719ddbef75 (diff) |
Remove PROTOTYPEs from suggesters
Also stops using guice for suggesters at all and lots of checkstyle.
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/suggest/completion/context')
6 files changed, 14 insertions, 47 deletions
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 c9cb165aef..1931c4a9e0 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 @@ -139,8 +139,8 @@ public class CategoryContextMapping extends ContextMapping<CategoryQueryContext> } @Override - protected CategoryQueryContext prototype() { - return CategoryQueryContext.PROTOTYPE; + 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 a164faff8b..2e47795010 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 @@ -22,6 +22,7 @@ package org.elasticsearch.search.suggest.completion.context; import org.elasticsearch.ElasticsearchParseException; import org.elasticsearch.common.ParseField; import org.elasticsearch.common.xcontent.ObjectParser; +import org.elasticsearch.common.xcontent.ToXContent; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentParser; @@ -35,7 +36,7 @@ import static org.elasticsearch.search.suggest.completion.context.CategoryContex /** * Defines the query context for {@link CategoryContextMapping} */ -public final class CategoryQueryContext implements QueryContext { +public final class CategoryQueryContext implements ToXContent { public static final String NAME = "category"; public static final CategoryQueryContext PROTOTYPE = new CategoryQueryContext("", 1, false); @@ -102,8 +103,7 @@ public final class CategoryQueryContext implements QueryContext { CATEGORY_PARSER.declareBoolean(Builder::setPrefix, new ParseField(CONTEXT_PREFIX)); } - @Override - public CategoryQueryContext fromXContext(XContentParser parser) throws IOException { + public static CategoryQueryContext fromXContent(XContentParser parser) throws IOException { XContentParser.Token token = parser.currentToken(); Builder builder = builder(); if (token == XContentParser.Token.START_OBJECT) { 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 959a749a85..cb445b1770 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 @@ -40,7 +40,7 @@ import java.util.Set; * * Implementations have to define how contexts are parsed at query/index time */ -public abstract class ContextMapping<T extends QueryContext> implements ToXContent { +public abstract class ContextMapping<T extends ToXContent> implements ToXContent { public static final String FIELD_TYPE = "type"; public static final String FIELD_NAME = "name"; @@ -99,7 +99,7 @@ public abstract class ContextMapping<T extends QueryContext> implements ToXConte /** * Prototype for the query context */ - protected abstract T prototype(); + protected abstract T fromXContent(XContentParser parser) throws IOException; /** * Parses query contexts for this mapper @@ -108,10 +108,10 @@ public abstract class ContextMapping<T extends QueryContext> implements ToXConte List<T> queryContexts = new ArrayList<>(); Token token = parser.nextToken(); if (token == Token.START_OBJECT || token == Token.VALUE_STRING) { - queryContexts.add((T) prototype().fromXContext(parser)); + queryContexts.add(fromXContent(parser)); } else if (token == Token.START_ARRAY) { while (parser.nextToken() != Token.END_ARRAY) { - queryContexts.add((T) prototype().fromXContext(parser)); + 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 41d78e7535..393f798c85 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 @@ -223,8 +223,8 @@ public class GeoContextMapping extends ContextMapping<GeoQueryContext> { } @Override - protected GeoQueryContext prototype() { - return GeoQueryContext.PROTOTYPE; + 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 913702c18d..43873724c0 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 @@ -24,6 +24,7 @@ import org.elasticsearch.common.ParseField; import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.geo.GeoUtils; import org.elasticsearch.common.xcontent.ObjectParser; +import org.elasticsearch.common.xcontent.ToXContent; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentParser; @@ -40,7 +41,7 @@ import static org.elasticsearch.search.suggest.completion.context.GeoContextMapp /** * Defines the query context for {@link GeoContextMapping} */ -public final class GeoQueryContext implements QueryContext { +public final class GeoQueryContext implements ToXContent { public static final String NAME = "geo"; public static final GeoQueryContext PROTOTYPE = new GeoQueryContext(null, 1, 12, Collections.emptyList()); @@ -123,8 +124,7 @@ public final class GeoQueryContext implements QueryContext { GEO_CONTEXT_PARSER.declareDouble(GeoQueryContext.Builder::setLon, new ParseField("lon")); } - @Override - public GeoQueryContext fromXContext(XContentParser parser) throws IOException { + 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/main/java/org/elasticsearch/search/suggest/completion/context/QueryContext.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/QueryContext.java deleted file mode 100644 index 9d96bf8144..0000000000 --- a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/QueryContext.java +++ /dev/null @@ -1,33 +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.search.suggest.completion.context; - -import org.elasticsearch.common.xcontent.ToXContent; -import org.elasticsearch.common.xcontent.XContentParser; - -import java.io.IOException; - -/** - * Interface for serializing/de-serializing completion query context - */ -public interface QueryContext extends ToXContent { - - QueryContext fromXContext(XContentParser parser) throws IOException; -} |