John Fletcher wrote:
I am currently using GT 2.1.0 in a project, and make heavy use of the
FilterFactory interface. I've noticed that there are some pretty big
changes to this interface from 2.1 to 2.2 RC1 (deprecation of methods,
disappearance of createFilterFactory method), and again some pretty big
changes from 2.2 to 2.3, according to the javadocs for 2.3
(implementation of opengis interface).
Yeah a user!
Okay here is the plan (from 2.1 to 2.2):
- we are trying to separate out concerns - there was no way an attribute
expression (data query) should be required
to have the AttribueType (data metadata), so this is a mistake and the
method has been deprecated, the original code had a bug so if anyone
ever used it null pointer exceptions were thrown.
- FilterFactory was a class with a createFilterFactory method, this was
also a mistake, geotools is built with interfaces (in module api), and a
FilterFactoryFinder in main. It is expected in the future that the
FactoryFinder methods will fall into disuse as people adopt containers
to manage factories.
I admit this was only discussed on the developers list, and we should
prep a migration guide page - your feedback would
be a wonderful starting point.
Now for the 2.3 plan:
- we are finally getting on the same page with the GeoAPI project,
whenever we have an API we like we lock it down and stick it in the
GeoAPI project
- the Filter.getType method (and associated constants) are deprecated -
they are still there so old code will work. There are explicit
interfaces that cover the same ground. (
Why do this? Now a single instnaceof check will work, rather then an
instnaceof+getType check.)
- the Expression methods now accept Object (rather then just Feature),
we needed to do this as the Filter/Expression api is being used by the
standards bodies against Features, Metadta, Graphics and Records. This
change breaks no code, and offers us a way to stay relevant.
My question is, should the GT 2.2 release be considered kind of a
"transitional" release as far as the FilterFactory interface is
concerned? I'd like to keep the application in line with the most
current GeoTools as far as possible, as future upgrades to the
application will be less effort. If I defer adoption of a new GT
release until 2.3, will that be a more stable Filter api or are there
major changes planned over the course of the next several releases?
Great Question, here is an answer:
- The focus of 2.3 is on adopting a consistent Feature model, and
ensuring that our data/query/application split is "pure". This will take
some blood, sweat and tears (and is already doing so).
- 2.2 is a stable release that us commercial types will be basing our
paid work on for the next year, both uDig 1.1 and GeoServer will be
working against this release, and frankly it is a great release
Yes we are taking the hard hits on 2.3 development (well Justin is),
this is to keep geotools happy in the long term. In the short term the
community is lining up behind 2.2 and it is the best choice, and the
best choice in a long time.
Thanks in advance for the info.
Thanks for the questions,
Jody
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel