Skip to content

Commit 1411e2c

Browse files
committed
Geo: Add GeoJson parser to libs/geo classes (elastic#41575)
Adds GeoJson parser for Geometry classes defined in libs/geo. Relates elastic#40908 and elastic#29872
1 parent 92a820b commit 1411e2c

File tree

23 files changed

+1869
-27
lines changed

23 files changed

+1869
-27
lines changed

libs/geo/src/main/java/org/elasticsearch/geo/geometry/Circle.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public int hashCode() {
102102
}
103103

104104
@Override
105-
public <T> T visit(GeometryVisitor<T> visitor) {
105+
public <T, E extends Exception> T visit(GeometryVisitor<T, E> visitor) throws E {
106106
return visitor.visit(this);
107107
}
108108

libs/geo/src/main/java/org/elasticsearch/geo/geometry/Geometry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public interface Geometry {
2626

2727
ShapeType type();
2828

29-
<T> T visit(GeometryVisitor<T> visitor);
29+
<T, E extends Exception> T visit(GeometryVisitor<T, E> visitor) throws E;
3030

3131
boolean isEmpty();
3232

libs/geo/src/main/java/org/elasticsearch/geo/geometry/GeometryCollection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public ShapeType type() {
5757
}
5858

5959
@Override
60-
public <T> T visit(GeometryVisitor<T> visitor) {
60+
public <T, E extends Exception> T visit(GeometryVisitor<T, E> visitor) throws E {
6161
return visitor.visit(this);
6262
}
6363

libs/geo/src/main/java/org/elasticsearch/geo/geometry/GeometryVisitor.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,26 +44,26 @@
4444
*
4545
* @see <a href="https://en.wikipedia.org/wiki/Visitor_pattern">Visitor Pattern</a>
4646
*/
47-
public interface GeometryVisitor<T> {
47+
public interface GeometryVisitor<T, E extends Exception> {
4848

49-
T visit(Circle circle);
49+
T visit(Circle circle) throws E;
5050

51-
T visit(GeometryCollection<?> collection);
51+
T visit(GeometryCollection<?> collection) throws E;
5252

53-
T visit(Line line);
53+
T visit(Line line) throws E;
5454

55-
T visit(LinearRing ring);
55+
T visit(LinearRing ring) throws E;
5656

57-
T visit(MultiLine multiLine);
57+
T visit(MultiLine multiLine) throws E;
5858

59-
T visit(MultiPoint multiPoint);
59+
T visit(MultiPoint multiPoint) throws E;
6060

61-
T visit(MultiPolygon multiPolygon);
61+
T visit(MultiPolygon multiPolygon) throws E;
6262

63-
T visit(Point point);
63+
T visit(Point point) throws E;
6464

65-
T visit(Polygon polygon);
65+
T visit(Polygon polygon) throws E;
6666

67-
T visit(Rectangle rectangle);
67+
T visit(Rectangle rectangle) throws E;
6868

6969
}

libs/geo/src/main/java/org/elasticsearch/geo/geometry/Line.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public ShapeType type() {
103103
}
104104

105105
@Override
106-
public <T> T visit(GeometryVisitor<T> visitor) {
106+
public <T, E extends Exception> T visit(GeometryVisitor<T, E> visitor) throws E {
107107
return visitor.visit(this);
108108
}
109109

libs/geo/src/main/java/org/elasticsearch/geo/geometry/LinearRing.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public ShapeType type() {
5454
}
5555

5656
@Override
57-
public <T> T visit(GeometryVisitor<T> visitor) {
57+
public <T, E extends Exception> T visit(GeometryVisitor<T, E> visitor) throws E {
5858
return visitor.visit(this);
5959
}
6060
}

libs/geo/src/main/java/org/elasticsearch/geo/geometry/MultiLine.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public ShapeType type() {
4040
}
4141

4242
@Override
43-
public <T> T visit(GeometryVisitor<T> visitor) {
43+
public <T, E extends Exception> T visit(GeometryVisitor<T, E> visitor) throws E {
4444
return visitor.visit(this);
4545
}
4646
}

libs/geo/src/main/java/org/elasticsearch/geo/geometry/MultiPoint.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public ShapeType type() {
4040
}
4141

4242
@Override
43-
public <T> T visit(GeometryVisitor<T> visitor) {
43+
public <T, E extends Exception> T visit(GeometryVisitor<T, E> visitor) throws E {
4444
return visitor.visit(this);
4545
}
4646

libs/geo/src/main/java/org/elasticsearch/geo/geometry/MultiPolygon.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public ShapeType type() {
4040
}
4141

4242
@Override
43-
public <T> T visit(GeometryVisitor<T> visitor) {
43+
public <T, E extends Exception> T visit(GeometryVisitor<T, E> visitor) throws E {
4444
return visitor.visit(this);
4545
}
4646
}

libs/geo/src/main/java/org/elasticsearch/geo/geometry/Point.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public int hashCode() {
9393
}
9494

9595
@Override
96-
public <T> T visit(GeometryVisitor<T> visitor) {
96+
public <T, E extends Exception> T visit(GeometryVisitor<T, E> visitor) throws E {
9797
return visitor.visit(this);
9898
}
9999

0 commit comments

Comments
 (0)