From 050df953dfed27c444c3821a6d939f7030dbcc16 Mon Sep 17 00:00:00 2001 From: Craig Taverner Date: Mon, 29 Aug 2022 12:05:37 +0200 Subject: [PATCH] Simplify generics (by Ignacio) Co-authored-by: Ignacio Vera --- .../expression/GeoEmptyValueSource.java | 8 ++++---- .../expression/GeoLatitudeValueSource.java | 9 ++++----- .../expression/GeoLongitudeValueSource.java | 9 ++++----- .../elasticsearch/common/geo/GeoUtils.java | 6 +++--- .../index/fielddata/FieldData.java | 2 +- .../fielddata/GeoPointScriptFieldData.java | 19 +++++++++---------- .../fielddata/IndexGeoPointFieldData.java | 4 +--- .../index/fielddata/IndexPointFieldData.java | 4 +--- .../index/fielddata/LeafPointFieldData.java | 5 ++--- .../plain/AbstractPointIndexFieldData.java | 7 +++---- .../plain/LatLonPointDVLeafFieldData.java | 7 +++---- .../plain/LatLonPointIndexFieldData.java | 19 +++++++------------ ...ldData.java => LeafGeoPointFieldData.java} | 8 +++----- .../functionscore/DecayFunctionBuilder.java | 6 +++--- .../script/field/GeoPointDocValuesField.java | 4 ++-- .../bucket/geogrid/CellIdSource.java | 2 +- .../aggregations/support/ValuesSource.java | 6 +++--- .../search/sort/GeoDistanceSortBuilder.java | 4 ++-- .../index/fielddata/GeoFieldDataTests.java | 10 +++++----- .../mapper/GeoPointScriptFieldTypeTests.java | 4 ++-- .../bucket/geogrid/GeoHexAggregatorTests.java | 1 + 21 files changed, 64 insertions(+), 80 deletions(-) rename server/src/main/java/org/elasticsearch/index/fielddata/plain/{AbstractLeafGeoPointFieldData.java => LeafGeoPointFieldData.java} (76%) diff --git a/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/GeoEmptyValueSource.java b/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/GeoEmptyValueSource.java index bc3cd9376f10..6aaf20acf62c 100644 --- a/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/GeoEmptyValueSource.java +++ b/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/GeoEmptyValueSource.java @@ -11,8 +11,8 @@ package org.elasticsearch.script.expression; import org.apache.lucene.index.LeafReaderContext; import org.apache.lucene.search.DoubleValues; import org.elasticsearch.index.fielddata.IndexFieldData; -import org.elasticsearch.index.fielddata.LeafPointFieldData; -import org.elasticsearch.index.fielddata.MultiPointValues; +import org.elasticsearch.index.fielddata.MultiGeoPointValues; +import org.elasticsearch.index.fielddata.plain.LeafGeoPointFieldData; import java.io.IOException; @@ -27,8 +27,8 @@ final class GeoEmptyValueSource extends FieldDataBasedDoubleValuesSource { @Override public DoubleValues getValues(LeafReaderContext leaf, DoubleValues scores) { - LeafPointFieldData leafData = (LeafPointFieldData) fieldData.load(leaf); - final MultiPointValues values = leafData.getPointValues(); + LeafGeoPointFieldData leafData = (LeafGeoPointFieldData) fieldData.load(leaf); + final MultiGeoPointValues values = leafData.getPointValues(); // shade return new DoubleValues() { @Override public double doubleValue() { diff --git a/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/GeoLatitudeValueSource.java b/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/GeoLatitudeValueSource.java index 11a5ac0f6940..b8c9f95784ad 100644 --- a/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/GeoLatitudeValueSource.java +++ b/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/GeoLatitudeValueSource.java @@ -10,10 +10,9 @@ package org.elasticsearch.script.expression; import org.apache.lucene.index.LeafReaderContext; import org.apache.lucene.search.DoubleValues; -import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.index.fielddata.IndexFieldData; -import org.elasticsearch.index.fielddata.MultiPointValues; -import org.elasticsearch.index.fielddata.plain.AbstractLeafGeoPointFieldData; +import org.elasticsearch.index.fielddata.MultiGeoPointValues; +import org.elasticsearch.index.fielddata.plain.LeafGeoPointFieldData; import java.io.IOException; @@ -28,8 +27,8 @@ final class GeoLatitudeValueSource extends FieldDataBasedDoubleValuesSource { @Override public DoubleValues getValues(LeafReaderContext leaf, DoubleValues scores) { - AbstractLeafGeoPointFieldData leafData = (AbstractLeafGeoPointFieldData) fieldData.load(leaf); - final MultiPointValues values = leafData.getPointValues(); + LeafGeoPointFieldData leafData = (LeafGeoPointFieldData) fieldData.load(leaf); + final MultiGeoPointValues values = leafData.getPointValues(); return new DoubleValues() { @Override public double doubleValue() throws IOException { diff --git a/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/GeoLongitudeValueSource.java b/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/GeoLongitudeValueSource.java index 0ca024fd2798..dec6beb8dc73 100644 --- a/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/GeoLongitudeValueSource.java +++ b/modules/lang-expression/src/main/java/org/elasticsearch/script/expression/GeoLongitudeValueSource.java @@ -10,10 +10,9 @@ package org.elasticsearch.script.expression; import org.apache.lucene.index.LeafReaderContext; import org.apache.lucene.search.DoubleValues; -import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.index.fielddata.IndexFieldData; -import org.elasticsearch.index.fielddata.MultiPointValues; -import org.elasticsearch.index.fielddata.plain.AbstractLeafGeoPointFieldData; +import org.elasticsearch.index.fielddata.MultiGeoPointValues; +import org.elasticsearch.index.fielddata.plain.LeafGeoPointFieldData; import java.io.IOException; @@ -28,8 +27,8 @@ final class GeoLongitudeValueSource extends FieldDataBasedDoubleValuesSource { @Override public DoubleValues getValues(LeafReaderContext leaf, DoubleValues scores) { - AbstractLeafGeoPointFieldData leafData = (AbstractLeafGeoPointFieldData) fieldData.load(leaf); - final MultiPointValues values = leafData.getPointValues(); + LeafGeoPointFieldData leafData = (LeafGeoPointFieldData) fieldData.load(leaf); + final MultiGeoPointValues values = leafData.getPointValues(); return new DoubleValues() { @Override public double doubleValue() throws IOException { diff --git a/server/src/main/java/org/elasticsearch/common/geo/GeoUtils.java b/server/src/main/java/org/elasticsearch/common/geo/GeoUtils.java index 34e1282754cb..d65169148635 100644 --- a/server/src/main/java/org/elasticsearch/common/geo/GeoUtils.java +++ b/server/src/main/java/org/elasticsearch/common/geo/GeoUtils.java @@ -15,7 +15,7 @@ import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; import org.elasticsearch.common.xcontent.support.XContentMapValues; import org.elasticsearch.index.fielddata.FieldData; import org.elasticsearch.index.fielddata.GeoPointValues; -import org.elasticsearch.index.fielddata.MultiPointValues; +import org.elasticsearch.index.fielddata.MultiGeoPointValues; import org.elasticsearch.index.fielddata.NumericDoubleValues; import org.elasticsearch.index.fielddata.SortedNumericDoubleValues; import org.elasticsearch.index.fielddata.SortingNumericDoubleValues; @@ -522,10 +522,10 @@ public class GeoUtils { public static SortedNumericDoubleValues distanceValues( final GeoDistance distance, final DistanceUnit unit, - final MultiPointValues geoPointValues, + final MultiGeoPointValues geoPointValues, final GeoPoint... fromPoints ) { - final GeoPointValues singleValues = (GeoPointValues) FieldData.unwrapSingleton(geoPointValues); + final GeoPointValues singleValues = FieldData.unwrapSingleton(geoPointValues); if (singleValues != null && fromPoints.length == 1) { return FieldData.singleton(new NumericDoubleValues() { diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/FieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/FieldData.java index b72280248bac..fd9dd4ff80cb 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/FieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/FieldData.java @@ -217,7 +217,7 @@ public enum FieldData { * Returns a single-valued view of the {@link MultiGeoPointValues}, * if the wrapped {@link SortedNumericDocValues} is a singleton. */ - public static PointValues unwrapSingleton(MultiPointValues values) { + public static GeoPointValues unwrapSingleton(MultiGeoPointValues values) { return values.getPointValues(); } diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/GeoPointScriptFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/GeoPointScriptFieldData.java index 60bf289365c9..49caa1af2f7a 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/GeoPointScriptFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/GeoPointScriptFieldData.java @@ -11,9 +11,8 @@ package org.elasticsearch.index.fielddata; import org.apache.lucene.index.LeafReaderContext; import org.apache.lucene.index.SortedNumericDocValues; import org.apache.lucene.search.SortField; -import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.util.BigArrays; -import org.elasticsearch.index.fielddata.plain.AbstractLeafGeoPointFieldData; +import org.elasticsearch.index.fielddata.plain.LeafGeoPointFieldData; import org.elasticsearch.indices.breaker.CircuitBreakerService; import org.elasticsearch.script.GeoPointFieldScript; import org.elasticsearch.script.field.ToScriptFieldFactory; @@ -24,16 +23,16 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceType; import org.elasticsearch.search.sort.BucketedSort; import org.elasticsearch.search.sort.SortOrder; -public class GeoPointScriptFieldData implements IndexGeoPointFieldData { +public final class GeoPointScriptFieldData implements IndexGeoPointFieldData { public static class Builder implements IndexFieldData.Builder { private final String name; private final GeoPointFieldScript.LeafFactory leafFactory; - private final ToScriptFieldFactory> toScriptFieldFactory; + private final ToScriptFieldFactory toScriptFieldFactory; public Builder( String name, GeoPointFieldScript.LeafFactory leafFactory, - ToScriptFieldFactory> toScriptFieldFactory + ToScriptFieldFactory toScriptFieldFactory ) { this.name = name; this.leafFactory = leafFactory; @@ -48,12 +47,12 @@ public class GeoPointScriptFieldData implements IndexGeoPointFieldData { private final GeoPointFieldScript.LeafFactory leafFactory; private final String name; - private final ToScriptFieldFactory> toScriptFieldFactory; + private final ToScriptFieldFactory toScriptFieldFactory; private GeoPointScriptFieldData( String fieldName, GeoPointFieldScript.LeafFactory leafFactory, - ToScriptFieldFactory> toScriptFieldFactory + ToScriptFieldFactory toScriptFieldFactory ) { this.name = fieldName; this.leafFactory = leafFactory; @@ -90,9 +89,9 @@ public class GeoPointScriptFieldData implements IndexGeoPointFieldData { } @Override - public LeafPointFieldData load(LeafReaderContext context) { + public LeafPointFieldData load(LeafReaderContext context) { GeoPointFieldScript script = leafFactory.newInstance(context); - return new AbstractLeafGeoPointFieldData(toScriptFieldFactory) { + return new LeafGeoPointFieldData(toScriptFieldFactory) { @Override public SortedNumericDocValues getSortedNumericDocValues() { return new GeoPointScriptDocValues(script); @@ -111,7 +110,7 @@ public class GeoPointScriptFieldData implements IndexGeoPointFieldData { } @Override - public LeafPointFieldData loadDirect(LeafReaderContext context) { + public LeafPointFieldData loadDirect(LeafReaderContext context) { return load(context); } } diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/IndexGeoPointFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/IndexGeoPointFieldData.java index e02286eee43e..211ee34050b8 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/IndexGeoPointFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/IndexGeoPointFieldData.java @@ -8,9 +8,7 @@ package org.elasticsearch.index.fielddata; -import org.elasticsearch.common.geo.GeoPoint; - /** * Specialization of {@link IndexFieldData} for geo points. */ -public interface IndexGeoPointFieldData extends IndexPointFieldData {} +public interface IndexGeoPointFieldData extends IndexPointFieldData {} diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/IndexPointFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/IndexPointFieldData.java index 4b32419b3c9e..84caedf3a13f 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/IndexPointFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/IndexPointFieldData.java @@ -8,9 +8,7 @@ package org.elasticsearch.index.fielddata; -import org.elasticsearch.common.geo.ElasticPoint; - /** * Specialization of {@link IndexFieldData} for geo points and points. */ -public interface IndexPointFieldData extends IndexFieldData> {} +public interface IndexPointFieldData> extends IndexFieldData> {} diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/LeafPointFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/LeafPointFieldData.java index 74d1542d0d15..a8cf6ea03171 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/LeafPointFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/LeafPointFieldData.java @@ -8,17 +8,16 @@ package org.elasticsearch.index.fielddata; import org.apache.lucene.index.SortedNumericDocValues; -import org.elasticsearch.common.geo.ElasticPoint; /** * {@link LeafFieldData} specialization for geo points and points. */ -public abstract class LeafPointFieldData implements LeafFieldData { +public abstract class LeafPointFieldData> implements LeafFieldData { /** * Return geo-point or point values. */ - public abstract MultiPointValues getPointValues(); + public abstract T getPointValues(); /** * Return the internal representation of geo_point or point doc values as a {@link SortedNumericDocValues}. diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractPointIndexFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractPointIndexFieldData.java index 4a4787666b96..e51bf5f2e634 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractPointIndexFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractPointIndexFieldData.java @@ -8,7 +8,6 @@ package org.elasticsearch.index.fielddata.plain; import org.apache.lucene.search.SortField; -import org.elasticsearch.common.geo.ElasticPoint; import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.core.Nullable; import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; @@ -21,16 +20,16 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceType; import org.elasticsearch.search.sort.BucketedSort; import org.elasticsearch.search.sort.SortOrder; -public abstract class AbstractPointIndexFieldData implements IndexPointFieldData { +abstract class AbstractPointIndexFieldData> implements IndexPointFieldData { protected final String fieldName; protected final ValuesSourceType valuesSourceType; - protected final ToScriptFieldFactory> toScriptFieldFactory; + protected final ToScriptFieldFactory toScriptFieldFactory; protected AbstractPointIndexFieldData( String fieldName, ValuesSourceType valuesSourceType, - ToScriptFieldFactory> toScriptFieldFactory + ToScriptFieldFactory toScriptFieldFactory ) { this.fieldName = fieldName; this.valuesSourceType = valuesSourceType; diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/plain/LatLonPointDVLeafFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/plain/LatLonPointDVLeafFieldData.java index 569c17b1ee66..3b94293d6790 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/plain/LatLonPointDVLeafFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/plain/LatLonPointDVLeafFieldData.java @@ -11,19 +11,18 @@ import org.apache.lucene.index.DocValues; import org.apache.lucene.index.LeafReader; import org.apache.lucene.index.SortedNumericDocValues; import org.apache.lucene.util.Accountable; -import org.elasticsearch.common.geo.GeoPoint; -import org.elasticsearch.index.fielddata.MultiPointValues; +import org.elasticsearch.index.fielddata.MultiGeoPointValues; import org.elasticsearch.script.field.ToScriptFieldFactory; import java.io.IOException; import java.util.Collection; import java.util.Collections; -final class LatLonPointDVLeafFieldData extends AbstractLeafGeoPointFieldData { +final class LatLonPointDVLeafFieldData extends LeafGeoPointFieldData { private final LeafReader reader; private final String fieldName; - LatLonPointDVLeafFieldData(LeafReader reader, String fieldName, ToScriptFieldFactory> toScriptFieldFactory) { + LatLonPointDVLeafFieldData(LeafReader reader, String fieldName, ToScriptFieldFactory toScriptFieldFactory) { super(toScriptFieldFactory); this.reader = reader; this.fieldName = fieldName; diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/plain/LatLonPointIndexFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/plain/LatLonPointIndexFieldData.java index 2b1de1ee2f40..4134363bfd66 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/plain/LatLonPointIndexFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/plain/LatLonPointIndexFieldData.java @@ -13,27 +13,26 @@ import org.apache.lucene.index.DocValuesType; import org.apache.lucene.index.FieldInfo; import org.apache.lucene.index.LeafReader; import org.apache.lucene.index.LeafReaderContext; -import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldDataCache; import org.elasticsearch.index.fielddata.IndexGeoPointFieldData; import org.elasticsearch.index.fielddata.LeafPointFieldData; -import org.elasticsearch.index.fielddata.MultiPointValues; +import org.elasticsearch.index.fielddata.MultiGeoPointValues; import org.elasticsearch.indices.breaker.CircuitBreakerService; import org.elasticsearch.script.field.ToScriptFieldFactory; import org.elasticsearch.search.aggregations.support.ValuesSourceType; -public class LatLonPointIndexFieldData extends AbstractPointIndexFieldData implements IndexGeoPointFieldData { +public final class LatLonPointIndexFieldData extends AbstractPointIndexFieldData implements IndexGeoPointFieldData { public LatLonPointIndexFieldData( String fieldName, ValuesSourceType valuesSourceType, - ToScriptFieldFactory> toScriptFieldFactory + ToScriptFieldFactory toScriptFieldFactory ) { super(fieldName, valuesSourceType, toScriptFieldFactory); } @Override - public LeafPointFieldData load(LeafReaderContext context) { + public LeafPointFieldData load(LeafReaderContext context) { LeafReader reader = context.reader(); FieldInfo info = reader.getFieldInfos().fieldInfo(fieldName); if (info != null) { @@ -43,7 +42,7 @@ public class LatLonPointIndexFieldData extends AbstractPointIndexFieldData loadDirect(LeafReaderContext context) throws Exception { + public LeafPointFieldData loadDirect(LeafReaderContext context) throws Exception { return load(context); } @@ -67,13 +66,9 @@ public class LatLonPointIndexFieldData extends AbstractPointIndexFieldData> toScriptFieldFactory; + private final ToScriptFieldFactory toScriptFieldFactory; - public Builder( - String name, - ValuesSourceType valuesSourceType, - ToScriptFieldFactory> toScriptFieldFactory - ) { + public Builder(String name, ValuesSourceType valuesSourceType, ToScriptFieldFactory toScriptFieldFactory) { this.name = name; this.valuesSourceType = valuesSourceType; this.toScriptFieldFactory = toScriptFieldFactory; diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractLeafGeoPointFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/plain/LeafGeoPointFieldData.java similarity index 76% rename from server/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractLeafGeoPointFieldData.java rename to server/src/main/java/org/elasticsearch/index/fielddata/plain/LeafGeoPointFieldData.java index 39a74eb89f2d..0630c477fbfd 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractLeafGeoPointFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/plain/LeafGeoPointFieldData.java @@ -7,20 +7,18 @@ */ package org.elasticsearch.index.fielddata.plain; -import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.index.fielddata.FieldData; import org.elasticsearch.index.fielddata.LeafPointFieldData; import org.elasticsearch.index.fielddata.MultiGeoPointValues; -import org.elasticsearch.index.fielddata.MultiPointValues; import org.elasticsearch.index.fielddata.SortedBinaryDocValues; import org.elasticsearch.script.field.DocValuesScriptFieldFactory; import org.elasticsearch.script.field.ToScriptFieldFactory; -public abstract class AbstractLeafGeoPointFieldData extends LeafPointFieldData { +public abstract class LeafGeoPointFieldData extends LeafPointFieldData { - protected final ToScriptFieldFactory> toScriptFieldFactory; + protected final ToScriptFieldFactory toScriptFieldFactory; - public AbstractLeafGeoPointFieldData(ToScriptFieldFactory> toScriptFieldFactory) { + public LeafGeoPointFieldData(ToScriptFieldFactory toScriptFieldFactory) { this.toScriptFieldFactory = toScriptFieldFactory; } diff --git a/server/src/main/java/org/elasticsearch/index/query/functionscore/DecayFunctionBuilder.java b/server/src/main/java/org/elasticsearch/index/query/functionscore/DecayFunctionBuilder.java index 589157ea2331..e358314bade8 100644 --- a/server/src/main/java/org/elasticsearch/index/query/functionscore/DecayFunctionBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/functionscore/DecayFunctionBuilder.java @@ -28,7 +28,7 @@ import org.elasticsearch.core.TimeValue; import org.elasticsearch.index.fielddata.FieldData; import org.elasticsearch.index.fielddata.IndexGeoPointFieldData; import org.elasticsearch.index.fielddata.IndexNumericFieldData; -import org.elasticsearch.index.fielddata.MultiPointValues; +import org.elasticsearch.index.fielddata.MultiGeoPointValues; import org.elasticsearch.index.fielddata.NumericDoubleValues; import org.elasticsearch.index.fielddata.SortedNumericDoubleValues; import org.elasticsearch.index.fielddata.SortingNumericDoubleValues; @@ -382,7 +382,7 @@ public abstract class DecayFunctionBuilder @Override protected NumericDoubleValues distance(LeafReaderContext context) { - final MultiPointValues geoPointValues = fieldData.load(context).getPointValues(); + final MultiGeoPointValues geoPointValues = fieldData.load(context).getPointValues(); return FieldData.replaceMissing(mode.select(new SortingNumericDoubleValues() { @Override public boolean advanceExact(int docId) throws IOException { @@ -413,7 +413,7 @@ public abstract class DecayFunctionBuilder protected String getDistanceString(LeafReaderContext ctx, int docId) throws IOException { StringBuilder values = new StringBuilder(mode.name()); values.append(" of: ["); - final MultiPointValues geoPointValues = fieldData.load(ctx).getPointValues(); + final MultiGeoPointValues geoPointValues = fieldData.load(ctx).getPointValues(); if (geoPointValues.advanceExact(docId)) { final int num = geoPointValues.docValueCount(); for (int i = 0; i < num; i++) { diff --git a/server/src/main/java/org/elasticsearch/script/field/GeoPointDocValuesField.java b/server/src/main/java/org/elasticsearch/script/field/GeoPointDocValuesField.java index 03cbae7516df..be2e09d63401 100644 --- a/server/src/main/java/org/elasticsearch/script/field/GeoPointDocValuesField.java +++ b/server/src/main/java/org/elasticsearch/script/field/GeoPointDocValuesField.java @@ -11,14 +11,14 @@ package org.elasticsearch.script.field; import org.elasticsearch.common.geo.GeoBoundingBox; import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.geo.GeoUtils; -import org.elasticsearch.index.fielddata.MultiPointValues; +import org.elasticsearch.index.fielddata.MultiGeoPointValues; import org.elasticsearch.index.fielddata.ScriptDocValues; public class GeoPointDocValuesField extends PointDocValuesField { // maintain bwc by making centroid and bounding box available to ScriptDocValues.GeoPoints private ScriptDocValues.GeoPoints geoPoints = null; - public GeoPointDocValuesField(MultiPointValues input, String name) { + public GeoPointDocValuesField(MultiGeoPointValues input, String name) { super(input, name, GeoPoint::new, new GeoBoundingBox(new GeoPoint(), new GeoPoint()), new GeoPoint[0]); } diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/CellIdSource.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/CellIdSource.java index 663347bbd46f..54a6a7989f02 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/CellIdSource.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/geogrid/CellIdSource.java @@ -53,7 +53,7 @@ public abstract class CellIdSource extends ValuesSource.Numeric { @Override public final SortedNumericDocValues longValues(LeafReaderContext ctx) { final MultiGeoPointValues multiGeoPointValues = valuesSource.geoPointValues(ctx); - final GeoPointValues values = (GeoPointValues) org.elasticsearch.index.fielddata.FieldData.unwrapSingleton(multiGeoPointValues); + final GeoPointValues values = org.elasticsearch.index.fielddata.FieldData.unwrapSingleton(multiGeoPointValues); if (geoBoundingBox.isUnbounded()) { return values == null ? unboundedCellMultiValues(multiGeoPointValues) : DocValues.singleton(unboundedCellSingleValue(values)); } else { diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSource.java b/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSource.java index da5dbcbaf1a0..fdb02b87ce88 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSource.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSource.java @@ -24,9 +24,9 @@ import org.elasticsearch.common.util.CollectionUtils; import org.elasticsearch.index.fielddata.AbstractSortingNumericDocValues; import org.elasticsearch.index.fielddata.DocValueBits; import org.elasticsearch.index.fielddata.IndexFieldData; +import org.elasticsearch.index.fielddata.IndexGeoPointFieldData; import org.elasticsearch.index.fielddata.IndexNumericFieldData; import org.elasticsearch.index.fielddata.IndexOrdinalsFieldData; -import org.elasticsearch.index.fielddata.IndexPointFieldData; import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData; import org.elasticsearch.index.fielddata.MultiGeoPointValues; import org.elasticsearch.index.fielddata.SortedBinaryDocValues; @@ -744,9 +744,9 @@ public abstract class ValuesSource { public static class Fielddata extends GeoPoint { - protected final IndexPointFieldData indexFieldData; + protected final IndexGeoPointFieldData indexFieldData; - public Fielddata(IndexPointFieldData indexFieldData) { + public Fielddata(IndexGeoPointFieldData indexFieldData) { this.indexFieldData = indexFieldData; } diff --git a/server/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java b/server/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java index df7fbd752d54..f58e24c68662 100644 --- a/server/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java @@ -33,7 +33,7 @@ import org.elasticsearch.index.fielddata.FieldData; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; import org.elasticsearch.index.fielddata.IndexGeoPointFieldData; -import org.elasticsearch.index.fielddata.MultiPointValues; +import org.elasticsearch.index.fielddata.MultiGeoPointValues; import org.elasticsearch.index.fielddata.NumericDoubleValues; import org.elasticsearch.index.fielddata.SortedNumericDoubleValues; import org.elasticsearch.index.fielddata.plain.LatLonPointIndexFieldData; @@ -642,7 +642,7 @@ public class GeoDistanceSortBuilder extends SortBuilder } private NumericDoubleValues getNumericDoubleValues(LeafReaderContext context) throws IOException { - final MultiPointValues geoPointValues = geoIndexFieldData.load(context).getPointValues(); + final MultiGeoPointValues geoPointValues = geoIndexFieldData.load(context).getPointValues(); final SortedNumericDoubleValues distanceValues = GeoUtils.distanceValues(geoDistance, unit, geoPointValues, localPoints); if (nested == null) { return FieldData.replaceMissing(sortMode.select(distanceValues), Double.POSITIVE_INFINITY); diff --git a/server/src/test/java/org/elasticsearch/index/fielddata/GeoFieldDataTests.java b/server/src/test/java/org/elasticsearch/index/fielddata/GeoFieldDataTests.java index b3e9b03469d7..9200aa0c236d 100644 --- a/server/src/test/java/org/elasticsearch/index/fielddata/GeoFieldDataTests.java +++ b/server/src/test/java/org/elasticsearch/index/fielddata/GeoFieldDataTests.java @@ -12,7 +12,7 @@ import org.apache.lucene.document.Field; import org.apache.lucene.document.StringField; import org.apache.lucene.index.LeafReaderContext; import org.apache.lucene.index.Term; -import org.elasticsearch.index.fielddata.plain.AbstractLeafGeoPointFieldData; +import org.elasticsearch.index.fielddata.plain.LeafGeoPointFieldData; import java.util.List; @@ -149,7 +149,7 @@ public class GeoFieldDataTests extends AbstractGeoFieldDataTestCase { LeafFieldData fieldData = indexFieldData.load(readerContext); assertThat(fieldData.ramBytesUsed(), greaterThanOrEqualTo(minRamBytesUsed())); - MultiGeoPointValues fieldValues = ((AbstractLeafGeoPointFieldData) fieldData).getPointValues(); + MultiGeoPointValues fieldValues = ((LeafGeoPointFieldData) fieldData).getPointValues(); assertValues(fieldValues, 0); assertValues(fieldValues, 1); assertValues(fieldValues, 2); @@ -165,7 +165,7 @@ public class GeoFieldDataTests extends AbstractGeoFieldDataTestCase { LeafFieldData fieldData = indexFieldData.load(readerContext); assertThat(fieldData.ramBytesUsed(), greaterThanOrEqualTo(minRamBytesUsed())); - MultiGeoPointValues fieldValues = ((AbstractLeafGeoPointFieldData) fieldData).getPointValues(); + MultiGeoPointValues fieldValues = ((LeafGeoPointFieldData) fieldData).getPointValues(); assertValues(fieldValues, 0); assertMissing(fieldValues, 1); assertValues(fieldValues, 2); @@ -181,7 +181,7 @@ public class GeoFieldDataTests extends AbstractGeoFieldDataTestCase { LeafFieldData fieldData = indexFieldData.load(readerContext); assertThat(fieldData.ramBytesUsed(), greaterThanOrEqualTo(minRamBytesUsed())); - MultiGeoPointValues fieldValues = ((AbstractLeafGeoPointFieldData) fieldData).getPointValues(); + MultiGeoPointValues fieldValues = ((LeafGeoPointFieldData) fieldData).getPointValues(); assertValues(fieldValues, 0); assertValues(fieldValues, 1); assertValues(fieldValues, 2); @@ -197,7 +197,7 @@ public class GeoFieldDataTests extends AbstractGeoFieldDataTestCase { LeafFieldData fieldData = indexFieldData.load(readerContext); assertThat(fieldData.ramBytesUsed(), greaterThanOrEqualTo(minRamBytesUsed())); - MultiGeoPointValues fieldValues = ((AbstractLeafGeoPointFieldData) fieldData).getPointValues(); + MultiGeoPointValues fieldValues = ((LeafGeoPointFieldData) fieldData).getPointValues(); assertValues(fieldValues, 0); assertMissing(fieldValues, 1); diff --git a/server/src/test/java/org/elasticsearch/index/mapper/GeoPointScriptFieldTypeTests.java b/server/src/test/java/org/elasticsearch/index/mapper/GeoPointScriptFieldTypeTests.java index 72ae251a25b8..97f7d3163a2b 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/GeoPointScriptFieldTypeTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/GeoPointScriptFieldTypeTests.java @@ -26,7 +26,7 @@ import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.lucene.search.function.ScriptScoreQuery; import org.elasticsearch.geo.GeometryTestUtils; import org.elasticsearch.index.fielddata.GeoPointScriptFieldData; -import org.elasticsearch.index.fielddata.MultiPointValues; +import org.elasticsearch.index.fielddata.MultiGeoPointValues; import org.elasticsearch.index.fielddata.ScriptDocValues; import org.elasticsearch.index.query.SearchExecutionContext; import org.elasticsearch.script.DocReader; @@ -74,7 +74,7 @@ public class GeoPointScriptFieldTypeTests extends AbstractNonTextScriptFieldType @Override public LeafCollector getLeafCollector(LeafReaderContext context) { - MultiPointValues dv = ifd.load(context).getPointValues(); + MultiGeoPointValues dv = ifd.load(context).getPointValues(); return new LeafCollector() { @Override public void setScorer(Scorable scorer) {} diff --git a/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/search/aggregations/bucket/geogrid/GeoHexAggregatorTests.java b/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/search/aggregations/bucket/geogrid/GeoHexAggregatorTests.java index 37f10782b17d..1427da4daf7d 100644 --- a/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/search/aggregations/bucket/geogrid/GeoHexAggregatorTests.java +++ b/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/search/aggregations/bucket/geogrid/GeoHexAggregatorTests.java @@ -42,6 +42,7 @@ public class GeoHexAggregatorTests extends GeoGridAggregatorTestCase getSupportedValuesSourceTypes() { + // TODO: why is shape here already, it is not supported yet return List.of(GeoShapeValuesSourceType.instance(), CoreValuesSourceType.GEOPOINT); }