Given a bug Hugh Saalmans found the JTS developers were looking at rolling
out a fix.

Sadly in testing the fix I ran into a subtle API change
<https://github.com/locationtech/jts/pull/290> preventing an easy upgrade.
Polygon. getExteriorRing() returning a LinearRing (previously it returned a
LineString). Because of the way Java interfaces work
<https://wiki.eclipse.org/Evolving_Java-based_APIs_2#Evolving_API_interfaces_-_API_methods>
that
is a change that breaks binary compatibility as shown here:

*Exception in thread "SunTileScheduler0Standard1"
java.lang.NoSuchMethodError:
org.locationtech.jts.geom.Polygon.getExteriorRing()Lorg/locationtech/jts/geom/LineString;*
* at
it.geosolutions.jaiext.utilities.shape.PolygonIterator.<init>(PolygonIterator.java:61)*
* at
it.geosolutions.jaiext.utilities.shape.GeomCollectionIterator.getIterator(GeomCollectionIterator.java:92)*
* at
it.geosolutions.jaiext.utilities.shape.GeomCollectionIterator.init(GeomCollectionIterator.java:65)*
* at
it.geosolutions.jaiext.utilities.shape.GeomCollectionIterator.<init>(GeomCollectionIterator.java:75)*
* at
it.geosolutions.jaiext.utilities.shape.LiteShape.getPathIterator(LiteShape.java:245)*

When the time comes to upgrade to JTS we will need to ask jai-ext to
recompile.
--
Jody Garnett
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to