diff --git a/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/RankFeaturesFieldMapper.java b/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/RankFeaturesFieldMapper.java index 6b850b30a06e1..3831bf46b3344 100644 --- a/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/RankFeaturesFieldMapper.java +++ b/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/RankFeaturesFieldMapper.java @@ -48,7 +48,6 @@ public static class Builder extends ParametrizedFieldMapper.Builder { public Builder(String name) { super(name); - builder = this; } @Override diff --git a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/MetaJoinFieldMapper.java b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/MetaJoinFieldMapper.java index 18c3dda29542c..8a2e1b81074cd 100644 --- a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/MetaJoinFieldMapper.java +++ b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/MetaJoinFieldMapper.java @@ -61,13 +61,12 @@ static class Defaults { } } - static class Builder extends FieldMapper.Builder { + static class Builder extends FieldMapper.Builder { final String joinField; Builder(String joinField) { super(NAME, Defaults.FIELD_TYPE); - builder = this; this.joinField = joinField; } diff --git a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentIdFieldMapper.java b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentIdFieldMapper.java index d7e5f170355fa..0c951ae352a85 100644 --- a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentIdFieldMapper.java +++ b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentIdFieldMapper.java @@ -68,13 +68,12 @@ static class Defaults { } } - static class Builder extends FieldMapper.Builder { + static class Builder extends FieldMapper.Builder { private final String parent; private final Set children; Builder(String name, String parent, Set children) { super(name, Defaults.FIELD_TYPE); - builder = this; this.parent = parent; this.children = children; } @@ -85,7 +84,7 @@ public Set getChildren() { public Builder eagerGlobalOrdinals(boolean eagerGlobalOrdinals) { this.eagerGlobalOrdinals = eagerGlobalOrdinals; - return builder; + return this; } @Override diff --git a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentJoinFieldMapper.java b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentJoinFieldMapper.java index cf7c5506156f3..fc22b7198a33a 100644 --- a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentJoinFieldMapper.java +++ b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentJoinFieldMapper.java @@ -137,24 +137,23 @@ private static void checkParentFields(String name, List map } } - public static class Builder extends FieldMapper.Builder { + public static class Builder extends FieldMapper.Builder { final List parentIdFieldBuilders = new ArrayList<>(); boolean eagerGlobalOrdinals = true; public Builder(String name) { super(name, Defaults.FIELD_TYPE); - builder = this; } public Builder addParent(String parent, Set children) { String parentIdFieldName = getParentIdFieldName(name, parent); parentIdFieldBuilders.add(new ParentIdFieldMapper.Builder(parentIdFieldName, parent, children)); - return builder; + return this; } public Builder eagerGlobalOrdinals(boolean eagerGlobalOrdinals) { this.eagerGlobalOrdinals = eagerGlobalOrdinals; - return builder; + return this; } @Override @@ -178,7 +177,7 @@ public ParentJoinFieldMapper build(BuilderContext context) { public static class TypeParser implements Mapper.TypeParser { @Override - public Mapper.Builder parse(String name, Map node, ParserContext parserContext) throws MapperParsingException { + public Mapper.Builder parse(String name, Map node, ParserContext parserContext) throws MapperParsingException { final IndexSettings indexSettings = parserContext.mapperService().getIndexSettings(); checkIndexCompatibility(indexSettings, name); diff --git a/server/src/main/java/org/elasticsearch/index/mapper/AbstractGeometryFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/AbstractGeometryFieldMapper.java index cde39a8dfc1d5..ccfe1c47655cd 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/AbstractGeometryFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/AbstractGeometryFieldMapper.java @@ -118,8 +118,7 @@ public Object parseAndFormatObject(Object value, String format) { } } - public abstract static class Builder, FT extends AbstractGeometryFieldType> - extends FieldMapper.Builder { + public abstract static class Builder extends FieldMapper.Builder { protected Boolean ignoreMalformed; protected Boolean ignoreZValue; protected boolean indexed = true; diff --git a/server/src/main/java/org/elasticsearch/index/mapper/AbstractPointGeometryFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/AbstractPointGeometryFieldMapper.java index 089429c53b4f0..9f9a4bfd2164b 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/AbstractPointGeometryFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/AbstractPointGeometryFieldMapper.java @@ -57,8 +57,7 @@ public static class Names extends AbstractGeometryFieldMapper.Names { DEFAULT_FIELD_TYPE.freeze(); } - public abstract static class Builder, - FT extends AbstractPointGeometryFieldType> extends AbstractGeometryFieldMapper.Builder { + public abstract static class Builder extends AbstractGeometryFieldMapper.Builder { protected ParsedPoint nullValue; diff --git a/server/src/main/java/org/elasticsearch/index/mapper/AbstractShapeGeometryFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/AbstractShapeGeometryFieldMapper.java index 0c20236230c3c..dc106b2dab488 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/AbstractShapeGeometryFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/AbstractShapeGeometryFieldMapper.java @@ -48,8 +48,7 @@ public static class Defaults extends AbstractGeometryFieldMapper.Defaults { public static final Explicit COERCE = new Explicit<>(false, false); } - public abstract static class Builder, - FT extends AbstractShapeGeometryFieldType> extends AbstractGeometryFieldMapper.Builder { + public abstract static class Builder extends AbstractGeometryFieldMapper.Builder { protected Boolean coerce; protected Orientation orientation; diff --git a/server/src/main/java/org/elasticsearch/index/mapper/DocumentParser.java b/server/src/main/java/org/elasticsearch/index/mapper/DocumentParser.java index 9ce3098060d3a..101666c6b74f9 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/DocumentParser.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/DocumentParser.java @@ -620,15 +620,15 @@ private static void parseNullValue(ParseContext context, ObjectMapper parentMapp } } - private static Mapper.Builder newLongBuilder(String name, Settings settings) { + private static Mapper.Builder newLongBuilder(String name, Settings settings) { return new NumberFieldMapper.Builder(name, NumberFieldMapper.NumberType.LONG, settings); } - private static Mapper.Builder newFloatBuilder(String name, Settings settings) { + private static Mapper.Builder newFloatBuilder(String name, Settings settings) { return new NumberFieldMapper.Builder(name, NumberFieldMapper.NumberType.FLOAT, settings); } - private static Mapper.Builder createBuilderFromDynamicValue(final ParseContext context, + private static Mapper.Builder createBuilderFromDynamicValue(final ParseContext context, XContentParser.Token token, String currentFieldName) throws IOException { if (token == XContentParser.Token.VALUE_STRING) { @@ -747,7 +747,7 @@ private static void parseDynamicValue(final ParseContext context, ObjectMapper p return; } final Mapper.BuilderContext builderContext = new Mapper.BuilderContext(context.indexSettings().getSettings(), context.path()); - final Mapper.Builder builder = createBuilderFromDynamicValue(context, token, currentFieldName); + final Mapper.Builder builder = createBuilderFromDynamicValue(context, token, currentFieldName); Mapper mapper = builder.build(builderContext); context.addDynamicMapper(mapper); diff --git a/server/src/main/java/org/elasticsearch/index/mapper/FieldAliasMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/FieldAliasMapper.java index 76b8c276e196b..381db5a3e054d 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/FieldAliasMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/FieldAliasMapper.java @@ -133,7 +133,7 @@ public Mapper.Builder parse(String name, Map node, ParserContext } } - public static class Builder extends Mapper.Builder { + public static class Builder extends Mapper.Builder { private String name; private String path; diff --git a/server/src/main/java/org/elasticsearch/index/mapper/FieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/FieldMapper.java index 2bf7f09b26b4c..cb14192aeee80 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/FieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/FieldMapper.java @@ -52,7 +52,7 @@ public abstract class FieldMapper extends Mapper implements Cloneable { Setting.boolSetting("index.mapping.ignore_malformed", false, Property.IndexScope); public static final Setting COERCE_SETTING = Setting.boolSetting("index.mapping.coerce", false, Property.IndexScope); - public abstract static class Builder> extends Mapper.Builder { + public abstract static class Builder extends Mapper.Builder { protected final FieldType fieldType; protected boolean omitNormsSet = false; @@ -75,95 +75,95 @@ protected Builder(String name, FieldType fieldType) { multiFieldsBuilder = new MultiFields.Builder(); } - public T index(boolean index) { + public Builder index(boolean index) { this.indexed = index; if (index == false) { this.fieldType.setIndexOptions(IndexOptions.NONE); } - return builder; + return this; } - public T store(boolean store) { + public Builder store(boolean store) { this.fieldType.setStored(store); - return builder; + return this; } - public T docValues(boolean docValues) { + public FieldMapper.Builder docValues(boolean docValues) { this.hasDocValues = docValues; - return builder; + return this; } - public T storeTermVectors(boolean termVectors) { + public Builder storeTermVectors(boolean termVectors) { if (termVectors != this.fieldType.storeTermVectors()) { this.fieldType.setStoreTermVectors(termVectors); } // don't set it to false, it is default and might be flipped by a more specific option - return builder; + return this; } - public T storeTermVectorOffsets(boolean termVectorOffsets) { + public Builder storeTermVectorOffsets(boolean termVectorOffsets) { if (termVectorOffsets) { this.fieldType.setStoreTermVectors(termVectorOffsets); } this.fieldType.setStoreTermVectorOffsets(termVectorOffsets); - return builder; + return this; } - public T storeTermVectorPositions(boolean termVectorPositions) { + public Builder storeTermVectorPositions(boolean termVectorPositions) { if (termVectorPositions) { this.fieldType.setStoreTermVectors(termVectorPositions); } this.fieldType.setStoreTermVectorPositions(termVectorPositions); - return builder; + return this; } - public T storeTermVectorPayloads(boolean termVectorPayloads) { + public Builder storeTermVectorPayloads(boolean termVectorPayloads) { if (termVectorPayloads) { this.fieldType.setStoreTermVectors(termVectorPayloads); } this.fieldType.setStoreTermVectorPayloads(termVectorPayloads); - return builder; + return this; } - public T omitNorms(boolean omitNorms) { + public Builder omitNorms(boolean omitNorms) { this.fieldType.setOmitNorms(omitNorms); this.omitNormsSet = true; - return builder; + return this; } - public T indexOptions(IndexOptions indexOptions) { + public Builder indexOptions(IndexOptions indexOptions) { this.fieldType.setIndexOptions(indexOptions); this.indexOptionsSet = true; - return builder; + return this; } - public T indexAnalyzer(NamedAnalyzer indexAnalyzer) { + public Builder indexAnalyzer(NamedAnalyzer indexAnalyzer) { this.indexAnalyzer = indexAnalyzer; - return builder; + return this; } - public T searchAnalyzer(NamedAnalyzer searchAnalyzer) { + public Builder searchAnalyzer(NamedAnalyzer searchAnalyzer) { this.searchAnalyzer = searchAnalyzer; - return builder; + return this; } - public T searchQuoteAnalyzer(NamedAnalyzer searchQuoteAnalyzer) { + public Builder searchQuoteAnalyzer(NamedAnalyzer searchQuoteAnalyzer) { this.searchQuoteAnalyzer = searchQuoteAnalyzer; - return builder; + return this; } - public T setEagerGlobalOrdinals(boolean eagerGlobalOrdinals) { + public Builder setEagerGlobalOrdinals(boolean eagerGlobalOrdinals) { this.eagerGlobalOrdinals = eagerGlobalOrdinals; - return builder; + return this; } - public T addMultiField(Mapper.Builder mapperBuilder) { + public Builder addMultiField(Mapper.Builder mapperBuilder) { multiFieldsBuilder.add(mapperBuilder); - return builder; + return this; } - public T copyTo(CopyTo copyTo) { + public Builder copyTo(CopyTo copyTo) { this.copyTo = copyTo; - return builder; + return this; } protected String buildFullName(BuilderContext context) { @@ -171,10 +171,13 @@ protected String buildFullName(BuilderContext context) { } /** Set metadata on this field. */ - public T meta(Map meta) { + public Builder meta(Map meta) { this.meta = meta; - return (T) this; + return this; } + + @Override + public abstract FieldMapper build(BuilderContext context); } protected FieldType fieldType; diff --git a/server/src/main/java/org/elasticsearch/index/mapper/GeoPointFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/GeoPointFieldMapper.java index 82dcd581f3249..3ea0ae9a09d35 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/GeoPointFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/GeoPointFieldMapper.java @@ -63,12 +63,11 @@ public class GeoPointFieldMapper extends AbstractPointGeometryFieldMapper { + public static class Builder extends AbstractPointGeometryFieldMapper.Builder { public Builder(String name) { super(name, FIELD_TYPE); hasDocValues = true; - builder = this; } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/GeoShapeFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/GeoShapeFieldMapper.java index a28b8fcf866fd..836c1ea7af1e6 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/GeoShapeFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/GeoShapeFieldMapper.java @@ -63,7 +63,7 @@ public class GeoShapeFieldMapper extends AbstractShapeGeometryFieldMapper { + public static class Builder extends AbstractShapeGeometryFieldMapper.Builder { public Builder(String name) { super (name, FIELD_TYPE); diff --git a/server/src/main/java/org/elasticsearch/index/mapper/LegacyGeoShapeFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/LegacyGeoShapeFieldMapper.java index 552f96512f0e0..4bffa8f03ade0 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/LegacyGeoShapeFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/LegacyGeoShapeFieldMapper.java @@ -184,8 +184,7 @@ private static void checkPrefixTreeSupport(String fieldName) { private static final DeprecationLogger DEPRECATION_LOGGER = DeprecationLogger.getLogger(LegacyGeoShapeFieldMapper.class); - public static class Builder extends AbstractShapeGeometryFieldMapper.Builder { + public static class Builder extends AbstractShapeGeometryFieldMapper.Builder { DeprecatedParameters deprecatedParameters; diff --git a/server/src/main/java/org/elasticsearch/index/mapper/Mapper.java b/server/src/main/java/org/elasticsearch/index/mapper/Mapper.java index 007b267a30a88..b5e275b373489 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/Mapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/Mapper.java @@ -58,12 +58,10 @@ public Version indexCreatedVersion() { } } - public abstract static class Builder { + public abstract static class Builder { public String name; - protected T builder; - protected Builder(String name) { this.name = name; } @@ -173,7 +171,7 @@ static class MultiFieldParserContext extends ParserContext { } - Mapper.Builder parse(String name, Map node, ParserContext parserContext) throws MapperParsingException; + Mapper.Builder parse(String name, Map node, ParserContext parserContext) throws MapperParsingException; } private final String simpleName; diff --git a/server/src/main/java/org/elasticsearch/index/mapper/ObjectMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/ObjectMapper.java index 4630b098d8d48..41bb06be62754 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/ObjectMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/ObjectMapper.java @@ -132,8 +132,7 @@ public void setIncludeInRoot(boolean value) { } } - @SuppressWarnings("rawtypes") - public static class Builder extends Mapper.Builder { + public static class Builder extends Mapper.Builder { protected Explicit enabled = new Explicit<>(true, false); @@ -143,30 +142,28 @@ public static class Builder extends Mapper.Builder { protected final List mappersBuilders = new ArrayList<>(); - @SuppressWarnings("unchecked") public Builder(String name) { super(name); - this.builder = (T) this; } - public T enabled(boolean enabled) { + public Builder enabled(boolean enabled) { this.enabled = new Explicit<>(enabled, true); - return builder; + return this; } - public T dynamic(Dynamic dynamic) { + public Builder dynamic(Dynamic dynamic) { this.dynamic = dynamic; - return builder; + return this; } - public T nested(Nested nested) { + public Builder nested(Nested nested) { this.nested = nested; - return builder; + return this; } - public T add(Mapper.Builder builder) { + public Builder add(Mapper.Builder builder) { mappersBuilders.add(builder); - return this.builder; + return this; } @Override @@ -317,9 +314,9 @@ protected static void parseProperties(ObjectMapper.Builder objBuilder, Map fieldBuilder = typeParser.parse(realFieldName, propNode, parserContext); + Mapper.Builder fieldBuilder = typeParser.parse(realFieldName, propNode, parserContext); for (int i = fieldNameParts.length - 2; i >= 0; --i) { - ObjectMapper.Builder intermediate = new ObjectMapper.Builder<>(fieldNameParts[i]); + ObjectMapper.Builder intermediate = new ObjectMapper.Builder(fieldNameParts[i]); intermediate.add(fieldBuilder); fieldBuilder = intermediate; } diff --git a/server/src/main/java/org/elasticsearch/index/mapper/ParametrizedFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/ParametrizedFieldMapper.java index e2b6e974c5117..36fcb9ec71ce6 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/ParametrizedFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/ParametrizedFieldMapper.java @@ -496,7 +496,7 @@ void check() { /** * A Builder for a ParametrizedFieldMapper */ - public abstract static class Builder extends Mapper.Builder { + public abstract static class Builder extends Mapper.Builder { protected final MultiFields.Builder multiFieldsBuilder = new MultiFields.Builder(); protected final CopyTo.Builder copyTo = new CopyTo.Builder(); diff --git a/server/src/main/java/org/elasticsearch/index/mapper/RootObjectMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/RootObjectMapper.java index 3da4127f279fc..fcd8d16d420f7 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/RootObjectMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/RootObjectMapper.java @@ -57,7 +57,7 @@ public static class Defaults { public static final boolean NUMERIC_DETECTION = false; } - public static class Builder extends ObjectMapper.Builder { + public static class Builder extends ObjectMapper.Builder { protected Explicit dynamicTemplates = new Explicit<>(new DynamicTemplate[0], false); protected Explicit dynamicDateTimeFormatters = new Explicit<>(Defaults.DYNAMIC_DATE_TIME_FORMATTERS, false); @@ -66,7 +66,6 @@ public static class Builder extends ObjectMapper.Builder { public Builder(String name) { super(name); - this.builder = this; } public Builder dynamicDateTimeFormatter(Collection dateTimeFormatters) { @@ -79,6 +78,12 @@ public Builder dynamicTemplates(Collection templates) { return this; } + @Override + public RootObjectMapper.Builder add(Mapper.Builder builder) { + super.add(builder); + return this; + } + @Override public RootObjectMapper build(BuilderContext context) { return (RootObjectMapper) super.build(context); @@ -391,7 +396,7 @@ private static void validateDynamicTemplate(Mapper.TypeParser.ParserContext pars String templateName = "__dynamic__" + dynamicTemplate.name(); Map fieldTypeConfig = dynamicTemplate.mappingForName(templateName, defaultDynamicType); try { - Mapper.Builder dummyBuilder = typeParser.parse(templateName, fieldTypeConfig, parserContext); + Mapper.Builder dummyBuilder = typeParser.parse(templateName, fieldTypeConfig, parserContext); fieldTypeConfig.remove("type"); if (fieldTypeConfig.isEmpty()) { Settings indexSettings = parserContext.mapperService().getIndexSettings().getSettings(); diff --git a/server/src/main/java/org/elasticsearch/index/mapper/TextFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/TextFieldMapper.java index 282a012abbeea..a3a4795df260a 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/TextFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/TextFieldMapper.java @@ -300,7 +300,7 @@ public Builder fielddataFrequencyFilter(double min, double max, int segs) { return this; } - public Builder addMultiField(Mapper.Builder builder) { + public Builder addMultiField(Mapper.Builder builder) { this.multiFieldsBuilder.add(builder); return this; } diff --git a/server/src/main/java/org/elasticsearch/index/mapper/TypeParsers.java b/server/src/main/java/org/elasticsearch/index/mapper/TypeParsers.java index 2ac928f59b855..a204557b21392 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/TypeParsers.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/TypeParsers.java @@ -101,7 +101,7 @@ public static Map parseMeta(String name, Object metaObject) { /** * Parse common field attributes such as {@code doc_values} or {@code store}. */ - public static void parseField(FieldMapper.Builder builder, String name, Map fieldNode, + public static void parseField(FieldMapper.Builder builder, String name, Map fieldNode, Mapper.TypeParser.ParserContext parserContext) { for (Iterator> iterator = fieldNode.entrySet().iterator(); iterator.hasNext();) { Map.Entry entry = iterator.next(); diff --git a/server/src/main/java/org/elasticsearch/index/query/QueryShardContext.java b/server/src/main/java/org/elasticsearch/index/query/QueryShardContext.java index be4ec86a52290..f8f91c54de186 100644 --- a/server/src/main/java/org/elasticsearch/index/query/QueryShardContext.java +++ b/server/src/main/java/org/elasticsearch/index/query/QueryShardContext.java @@ -258,7 +258,7 @@ public MappedFieldType buildAnonymousFieldType(String type) { if (typeParser == null) { throw new IllegalArgumentException("No mapper found for type [" + type + "]"); } - final Mapper.Builder builder = typeParser.parse("__anonymous_" + type, Collections.emptyMap(), parserContext); + final Mapper.Builder builder = typeParser.parse("__anonymous_" + type, Collections.emptyMap(), parserContext); final Mapper.BuilderContext builderContext = new Mapper.BuilderContext(indexSettings.getSettings(), new ContentPath(1)); Mapper mapper = builder.build(builderContext); if (mapper instanceof FieldMapper) { diff --git a/server/src/test/java/org/elasticsearch/index/mapper/DocumentParserTests.java b/server/src/test/java/org/elasticsearch/index/mapper/DocumentParserTests.java index c37537fbfecd2..2bede5926aecf 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/DocumentParserTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/DocumentParserTests.java @@ -357,7 +357,7 @@ ObjectMapper createObjectMapper(MapperService mapperService, String name) { for (int i = 0; i < nameParts.length - 1; ++i) { context.path().add(nameParts[i]); } - Mapper.Builder builder = new ObjectMapper.Builder<>(nameParts[nameParts.length - 1]).enabled(true); + Mapper.Builder builder = new ObjectMapper.Builder(nameParts[nameParts.length - 1]).enabled(true); Mapper.BuilderContext builderContext = new Mapper.BuilderContext(context.indexSettings().getSettings(), context.path()); return (ObjectMapper)builder.build(builderContext); } diff --git a/server/src/test/java/org/elasticsearch/index/mapper/ExternalMapper.java b/server/src/test/java/org/elasticsearch/index/mapper/ExternalMapper.java index 0fad47233d470..c9ed5268c4fe9 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/ExternalMapper.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/ExternalMapper.java @@ -56,7 +56,7 @@ public static class Builder extends ParametrizedFieldMapper.Builder { private final BooleanFieldMapper.Builder boolBuilder = new BooleanFieldMapper.Builder(Names.FIELD_BOOL); private final GeoPointFieldMapper.Builder latLonPointBuilder = new GeoPointFieldMapper.Builder(Names.FIELD_POINT); private final GeoShapeFieldMapper.Builder shapeBuilder = new GeoShapeFieldMapper.Builder(Names.FIELD_SHAPE); - private final Mapper.Builder stringBuilder; + private final Mapper.Builder stringBuilder; private final String generatedValue; private final String mapperName; diff --git a/server/src/test/java/org/elasticsearch/index/mapper/FakeStringFieldMapper.java b/server/src/test/java/org/elasticsearch/index/mapper/FakeStringFieldMapper.java index 855f4f2775d02..398e5da9c46b8 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/FakeStringFieldMapper.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/FakeStringFieldMapper.java @@ -45,7 +45,6 @@ public static class Builder extends ParametrizedFieldMapper.Builder { public Builder(String name) { super(name); - builder = this; } @Override diff --git a/server/src/test/java/org/elasticsearch/index/mapper/ObjectMapperMergeTests.java b/server/src/test/java/org/elasticsearch/index/mapper/ObjectMapperMergeTests.java index fa0b569c2d175..c699974b64c72 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/ObjectMapperMergeTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/ObjectMapperMergeTests.java @@ -126,7 +126,7 @@ public void testMergeNested() { private static RootObjectMapper createRootObjectMapper(String name, boolean enabled, Map mappers) { final Settings indexSettings = Settings.builder().put(SETTING_VERSION_CREATED, Version.CURRENT).build(); final Mapper.BuilderContext context = new Mapper.BuilderContext(indexSettings, new ContentPath()); - final RootObjectMapper rootObjectMapper = new RootObjectMapper.Builder(name).enabled(enabled).build(context); + final RootObjectMapper rootObjectMapper = (RootObjectMapper) new RootObjectMapper.Builder(name).enabled(enabled).build(context); mappers.values().forEach(rootObjectMapper::putMapper); @@ -136,7 +136,7 @@ private static RootObjectMapper createRootObjectMapper(String name, boolean enab private static ObjectMapper createObjectMapper(String name, boolean enabled, Map mappers) { final Settings indexSettings = Settings.builder().put(SETTING_VERSION_CREATED, Version.CURRENT).build(); final Mapper.BuilderContext context = new Mapper.BuilderContext(indexSettings, new ContentPath()); - final ObjectMapper mapper = new ObjectMapper.Builder<>(name).enabled(enabled).build(context); + final ObjectMapper mapper = new ObjectMapper.Builder(name).enabled(enabled).build(context); mappers.values().forEach(mapper::putMapper); @@ -146,7 +146,7 @@ private static ObjectMapper createObjectMapper(String name, boolean enabled, Map private static ObjectMapper createNestedMapper(String name, ObjectMapper.Nested nested) { final Settings indexSettings = Settings.builder().put(SETTING_VERSION_CREATED, Version.CURRENT).build(); final Mapper.BuilderContext context = new Mapper.BuilderContext(indexSettings, new ContentPath()); - return new ObjectMapper.Builder<>(name) + return new ObjectMapper.Builder(name) .nested(nested) .build(context); } diff --git a/server/src/test/java/org/elasticsearch/index/mapper/ParametrizedMapperTests.java b/server/src/test/java/org/elasticsearch/index/mapper/ParametrizedMapperTests.java index 6061c0f0cfb55..c1f44b8eb7856 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/ParametrizedMapperTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/ParametrizedMapperTests.java @@ -146,7 +146,7 @@ public ParametrizedFieldMapper build(Mapper.BuilderContext context) { public static class TypeParser implements Mapper.TypeParser { @Override - public Mapper.Builder parse(String name, Map node, ParserContext parserContext) throws MapperParsingException { + public Mapper.Builder parse(String name, Map node, ParserContext parserContext) throws MapperParsingException { Builder builder = new Builder(name); builder.parse(name, parserContext, node); return builder; diff --git a/server/src/test/java/org/elasticsearch/indices/IndicesModuleTests.java b/server/src/test/java/org/elasticsearch/indices/IndicesModuleTests.java index 0dba9bb53859e..6ee6fb0cd3972 100644 --- a/server/src/test/java/org/elasticsearch/indices/IndicesModuleTests.java +++ b/server/src/test/java/org/elasticsearch/indices/IndicesModuleTests.java @@ -55,7 +55,7 @@ public class IndicesModuleTests extends ESTestCase { private static class FakeMapperParser implements Mapper.TypeParser { @Override - public Mapper.Builder parse(String name, Map node, ParserContext parserContext) + public Mapper.Builder parse(String name, Map node, ParserContext parserContext) throws MapperParsingException { return null; } diff --git a/server/src/test/java/org/elasticsearch/search/sort/AbstractSortTestCase.java b/server/src/test/java/org/elasticsearch/search/sort/AbstractSortTestCase.java index 67255d78356d2..7dd1641e6cf74 100644 --- a/server/src/test/java/org/elasticsearch/search/sort/AbstractSortTestCase.java +++ b/server/src/test/java/org/elasticsearch/search/sort/AbstractSortTestCase.java @@ -213,7 +213,7 @@ public MappedFieldType getFieldType(String name) { @Override public ObjectMapper getObjectMapper(String name) { BuilderContext context = new BuilderContext(this.getIndexSettings().getSettings(), new ContentPath()); - return new ObjectMapper.Builder<>(name).nested(Nested.newNested()).build(context); + return new ObjectMapper.Builder(name).nested(Nested.newNested()).build(context); } }; } diff --git a/test/framework/src/main/java/org/elasticsearch/index/mapper/FieldMapperTestCase.java b/test/framework/src/main/java/org/elasticsearch/index/mapper/FieldMapperTestCase.java index d4304b412e532..7746b2d0fb36d 100644 --- a/test/framework/src/main/java/org/elasticsearch/index/mapper/FieldMapperTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/index/mapper/FieldMapperTestCase.java @@ -52,7 +52,7 @@ * @deprecated prefer {@link FieldMapperTestCase2} */ @Deprecated -public abstract class FieldMapperTestCase> extends ESSingleNodeTestCase { +public abstract class FieldMapperTestCase extends ESSingleNodeTestCase { protected final Settings SETTINGS = Settings.builder() .put("index.version.created", Version.CURRENT) diff --git a/test/framework/src/main/java/org/elasticsearch/index/mapper/FieldMapperTestCase2.java b/test/framework/src/main/java/org/elasticsearch/index/mapper/FieldMapperTestCase2.java index 7ca8e7319a1f7..add9014f8234f 100644 --- a/test/framework/src/main/java/org/elasticsearch/index/mapper/FieldMapperTestCase2.java +++ b/test/framework/src/main/java/org/elasticsearch/index/mapper/FieldMapperTestCase2.java @@ -44,7 +44,7 @@ * Base class for testing {@link FieldMapper}s. * @param builder for the mapper to test */ -public abstract class FieldMapperTestCase2> extends MapperTestCase { +public abstract class FieldMapperTestCase2 extends MapperTestCase { private final class Modifier { final String property; final boolean updateable; diff --git a/test/framework/src/main/java/org/elasticsearch/index/mapper/MockFieldMapper.java b/test/framework/src/main/java/org/elasticsearch/index/mapper/MockFieldMapper.java index 7af7a7ccd9fac..f43b34eb29af8 100644 --- a/test/framework/src/main/java/org/elasticsearch/index/mapper/MockFieldMapper.java +++ b/test/framework/src/main/java/org/elasticsearch/index/mapper/MockFieldMapper.java @@ -90,7 +90,6 @@ public static class Builder extends ParametrizedFieldMapper.Builder { protected Builder(String name) { super(name); this.fieldType = new FakeFieldType(name); - this.builder = this; } @Override diff --git a/test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java b/test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java index 2ab2f29cc0447..2a89fba0721ba 100644 --- a/test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java @@ -322,7 +322,7 @@ public boolean shouldCache(Query query) { String fieldName = (String) invocation.getArguments()[0]; if (fieldName.startsWith(NESTEDFIELD_PREFIX)) { BuilderContext context = new BuilderContext(indexSettings.getSettings(), new ContentPath()); - return new ObjectMapper.Builder<>(fieldName).nested(Nested.newNested()).build(context); + return new ObjectMapper.Builder(fieldName).nested(Nested.newNested()).build(context); } return null; }); diff --git a/x-pack/plugin/mapper-flattened/src/main/java/org/elasticsearch/xpack/flattened/mapper/FlatObjectFieldMapper.java b/x-pack/plugin/mapper-flattened/src/main/java/org/elasticsearch/xpack/flattened/mapper/FlatObjectFieldMapper.java index 3fa9049b27ce8..b3c8080c39a7d 100644 --- a/x-pack/plugin/mapper-flattened/src/main/java/org/elasticsearch/xpack/flattened/mapper/FlatObjectFieldMapper.java +++ b/x-pack/plugin/mapper-flattened/src/main/java/org/elasticsearch/xpack/flattened/mapper/FlatObjectFieldMapper.java @@ -107,7 +107,7 @@ private static class Defaults { public static final int IGNORE_ABOVE = Integer.MAX_VALUE; } - public static class Builder extends FieldMapper.Builder { + public static class Builder extends FieldMapper.Builder { private int depthLimit = Defaults.DEPTH_LIMIT; private int ignoreAbove = Defaults.IGNORE_ABOVE; private String nullValue = null; @@ -116,11 +116,10 @@ public static class Builder extends FieldMapper.Builder { public Builder(String name) { super(name, Defaults.FIELD_TYPE); - builder = this; } @Override - public Builder indexOptions(IndexOptions indexOptions) { + public FieldMapper.Builder indexOptions(IndexOptions indexOptions) { if (indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS) > 0) { throw new IllegalArgumentException("The [" + CONTENT_TYPE + "] field does not support positions, got [index_options]=" @@ -139,7 +138,7 @@ public Builder depthLimit(int depthLimit) { public Builder eagerGlobalOrdinals(boolean eagerGlobalOrdinals) { this.eagerGlobalOrdinals = eagerGlobalOrdinals; - return builder; + return this; } public Builder ignoreAbove(int ignoreAbove) { @@ -157,11 +156,11 @@ public Builder nullValue(String nullValue) { public Builder splitQueriesOnWhitespace(boolean splitQueriesOnWhitespace) { this.splitQueriesOnWhitespace = splitQueriesOnWhitespace; - return builder; + return this; } @Override - public Builder addMultiField(Mapper.Builder mapperBuilder) { + public Builder addMultiField(Mapper.Builder mapperBuilder) { throw new UnsupportedOperationException("[fields] is not supported for [" + CONTENT_TYPE + "] fields."); } @@ -188,7 +187,7 @@ public FlatObjectFieldMapper build(BuilderContext context) { public static class TypeParser implements Mapper.TypeParser { @Override - public Mapper.Builder parse(String name, Map node, ParserContext parserContext) throws MapperParsingException { + public Mapper.Builder parse(String name, Map node, ParserContext parserContext) throws MapperParsingException { Builder builder = new Builder(name); parseField(builder, name, node, parserContext); for (Iterator> iterator = node.entrySet().iterator(); iterator.hasNext();) { diff --git a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/GeoShapeWithDocValuesFieldMapper.java b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/GeoShapeWithDocValuesFieldMapper.java index 1bed479c281c5..7567465215aec 100644 --- a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/GeoShapeWithDocValuesFieldMapper.java +++ b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/GeoShapeWithDocValuesFieldMapper.java @@ -20,6 +20,7 @@ import org.elasticsearch.geometry.Geometry; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.mapper.AbstractShapeGeometryFieldMapper; +import org.elasticsearch.index.mapper.FieldMapper; import org.elasticsearch.index.mapper.GeoShapeFieldMapper; import org.elasticsearch.index.mapper.GeoShapeIndexer; import org.elasticsearch.index.mapper.GeoShapeParser; @@ -68,7 +69,7 @@ public class GeoShapeWithDocValuesFieldMapper extends GeoShapeFieldMapper { FIELD_TYPE.setIndexOptions(IndexOptions.DOCS); } - public static class Builder extends AbstractShapeGeometryFieldMapper.Builder { + public static class Builder extends AbstractShapeGeometryFieldMapper.Builder { private boolean docValuesSet = false; @@ -78,7 +79,7 @@ public Builder(String name) { } @Override - public Builder docValues(boolean docValues) { + public FieldMapper.Builder docValues(boolean docValues) { docValuesSet = true; return super.docValues(docValues); } diff --git a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/PointFieldMapper.java b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/PointFieldMapper.java index 18a1979fb04d6..f125f930c9f74 100644 --- a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/PointFieldMapper.java +++ b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/PointFieldMapper.java @@ -36,10 +36,9 @@ public class PointFieldMapper extends AbstractPointGeometryFieldMapper, List> { public static final String CONTENT_TYPE = "point"; - public static class Builder extends AbstractPointGeometryFieldMapper.Builder { + public static class Builder extends AbstractPointGeometryFieldMapper.Builder { public Builder(String name) { super(name, new FieldType()); - builder = this; } @Override diff --git a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/ShapeFieldMapper.java b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/ShapeFieldMapper.java index 9570fbe88ad25..6d315899b2d69 100644 --- a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/ShapeFieldMapper.java +++ b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/ShapeFieldMapper.java @@ -43,13 +43,11 @@ public class ShapeFieldMapper extends AbstractShapeGeometryFieldMapper { public static final String CONTENT_TYPE = "shape"; - @SuppressWarnings({"unchecked"}) - public static class Builder extends AbstractShapeGeometryFieldMapper.Builder { + public static class Builder extends AbstractShapeGeometryFieldMapper.Builder { public Builder(String name) { super(name, new FieldType()); fieldType.setDimensions(7, 4, Integer.BYTES); - builder = this; } @Override