elasticsearch/modules/lang-expression
Craig Taverner b68d62ba1e
Refactor GeoPoint and GeoShape with generics (#89388)
* Refactor GeoPoint and GeoShape with generics

In preparation for supporting CartesianPoint and CartesianShape
in aggregations, this PR adds a common interface between GeoPoint
and CartesianPoint, and then uses that to split out some key common
code that will be used in CartesianPoint and CartesianShape aggregations

* Simplify generics (by Ignacio)

Co-authored-by: Ignacio Vera <ivera@apache.org>

* Refactor ElasticPoint to SpatialPoint

* Rename ShapeValuesProvider to ShapeValuesSource

It extends ValuesSource, and is extended by GeoShapeValuesSource.
There is no reason for the suffix `Provider`.

* Code review, mostly AbstractShapeIndexFieldData

* Reverted trivial refactoring

* Removed unused Writable interface implementation

* Further generics refinements

Based on Ignacio's work in 050df953df,
we fix the BoundingBox generics, and also add a little more specificity
to the previous generics (replace <?> with <? extends SpatialPoint>).

* Removed some geo-specific code from BoundingBox

Co-authored-by: Ignacio Vera <ivera@apache.org>
2022-09-07 11:23:34 +02:00
..
licenses Add verification metadata for dependencies (#88814) 2022-08-04 09:51:16 +02:00
src Refactor GeoPoint and GeoShape with generics (#89388) 2022-09-07 11:23:34 +02:00
build.gradle Modularize the lang-expression component (#87790) 2022-06-17 14:11:56 +01:00