You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sis.apache.org by Martin Desruisseaux <ma...@geomatys.com> on 2021/06/22 15:41:40 UTC

Major update of filter interfaces

Hello all

I have just published in a branch a major refactoring of OGC Filters 
implementation. The previous implementation (never released) was based 
on GeoAPI interfaces defined 15 years ago. Those Java interfaces 
mirrored the XML schema. At that time, it was thought to be a good idea. 
But since, I have shown in various OGC meetings how very simple 
operations become very complicated when using Java interfaces derived 
from XML. An extreme example was fetching the axes of a Coordinate 
Reference System, which in only 1 line of code when using an API derived 
from UML but become more than 100 lines of code when using an API 
derived from XML. The old Java filter interfaces (the 
"org.opengis.filter" package) had this problem. Replacing the previous 
interfaces (derived from XML) by new interfaces derived from UML allowed 
to remove a considerable amount of code duplication in Apache SIS.

The changes can be viewed at https://github.com/apache/sis/pull/23 but 
the amount of code changed (200 files) is so large that I do not really 
expect anyone to do a review. But as far as GeoAPI and Apache SIS are 
concerned, it should not be an issue since filter API and 
implementations have never been part of a formal release.

Unless any objection or issue are raised, I hope we can go ahead rapidly 
for merging. This issue was a blocker for SIS 1.0 release.

     Martin