GeoTools 2.2 At a Glance
The following are new and shiney for the 2.2.x release:
- Aggregate Functions: sum, min, max etc.. are now available (and optimized!) on feature collections
- FeatureVisitor is how we get those aggregate functions optimized into sql
- Sorting into a FeatureList
- Consistent use of iterator and close( iterator )
- ColorBrewer: able to generate beautiful styles using academic research from http://colorbrewer.org
- has been brought in line with SLD 1.0
- has events (for those making user interfaces)
- JTS: utility class has moved, the old one is still there and deprecated
- Shapefile: performance improvements, supports FeatureList api directly, woot!
- Oracle: makes use of metadata to quickly report the bounds of a table
- EPSG: hsql and property file implementations available. hsql implemention recommended
- Catalog API: finally some help in managing DataStores! An implementation of resource handles.
- Much More ...
The Bad (needs improvement)
There are some limitations with 2.2.x:
- Documentation has not yet been updated (please help!)
- We still don't have a seperation between FeatureType and FeatureFactory.
- GridCoverage support is still poor (and GCE seems to be on its way out, try and use the formats directly)
- Tests are incomplete (many test cases are disabled, due to Maven 2 being more strict than Maven 1)
The Ugly (aka will break your code)
We found a couple of Q&A mistakes from 2.1 that we fixed for 2.2:
- StyleFactory is no longer a class, please use StyleFactoryFinder to aquire a StyleFactory implemenation for use
We are sorry about these mistakes, they will require you to do a search and replace in your code
The following classes have been around for one public release cycle (they were deprecated in 2.1.0 and will now be removed:
- ...we need a complete list
Working on 2.2.x
Found a scary bug? Did we mess up a specification? Did our documentation confuse you? Here is how to help make 2.2.x a happy place to work and play....
Anything that does not change the api. The following are fair game:
- Bug fixes
- minor improvements
- new plugins
- functionality fixes
What changes are not allowed for 2.2.x?
Please make sure that you do the following when changing 2.2.x:
- create a JIRA task (and remember the number)
- mention the JIRA task in your commit message on 2.2.x
- mention the JIRA task in your commit message on 2.3.x
Tip Move Your Changes Forward Move Your Changes Forward
If you commit to 2.2.x, you should try to ensure your changes will be in the next stable version of Geotools. To do this, also move your changes to trunk (2.3).
- --# Tell the geotools developer's list what you are working on (or report in the JIRA bug tracker)
--# Make your changes in 2.2.x
--# Test Test Test and run the automatic test cases
--# Commit your changes to the 2.2.x SVN respository
--# 'svn update' your 2.3 archive
--# Move your changes over to 2.3
--# run the 2.3 automatic test case (hand testing would be great too!)
--# commit your code to the 2.3 (trunk) SVN respository
For more information please see the Developers Guide.
Warning title Automatic Code Formating Tools
Do NOT run any code formatting tools on 2.2.x or 2.3.x. You'll find that, when you (or others) try to move changes between 2.2.x and 2.3.x, you'll be spending a huge amount of frustrating time rectifying changes.
If we can set it up, we will restore Jalopy code formatting, so if you run the formatter before a commit pain will be minimal.
Changes to Expected on the 2.2.x branch