Release Notes - GeoTools - Version 2.4.1 - HTML format

Sub-task

  • [GEOT-1530] - Add DataStore.dispose() and fix common implementations
  • [GEOT-1540] - Handle recursive type definitions in external schemas
  • [GEOT-1541] - Support new Operation and Measurement schemas
  • [GEOT-1542] - Support querying complex datastore through xlink:href property
  • [GEOT-1546] - Provide sample shapefile wrapping for complex features
  • [GEOT-1556] - Support loading schemas from a local oasis catalog
  • [GEOT-1557] - see if there is any quick wins in performance to allow us to deliver say 3000 results in a timeseries.

Bug

  • [GEOT-1267] - MetaBufferEstimator can throw NPE
  • [GEOT-1411] - Lenien datum comparison fails because of different ivDefinitive values
  • [GEOT-1414] - xml code generator fails when schema does not explixity map target namespace
  • [GEOT-1427] - SLD.filters(Rule[]) utility method returns an array where all elements are the filter of the first rule
  • [GEOT-1445] - GTopo30Format.accepts is leaving streams open for the garbage collector
  • [GEOT-1453] - Wrong computation in resample operation
  • [GEOT-1456] - Geometry hanlders in the shapefile renderer do not use LiteCoordinateSequence
  • [GEOT-1457] - Converters class inefficient
  • [GEOT-1458] - LabelCacheDefault should decimate geometries more before attempting to clip them
  • [GEOT-1459] - Decimator decimateTransformGeneralize inefficient
  • [GEOT-1460] - LiteShape2 still invokes decimator when no decimation is possible, and uses inefficient array cloning
  • [GEOT-1461] - Shapefile renderer does not work against reprojecting feature sources (wrapping a shapefile datastore)
  • [GEOT-1465] - DefaultSqlBuilder optimization turns out to be a slowdown
  • [GEOT-1467] - Avoid LiteShape2 geometry cloning when the datastore declares the feature can be altered at leisure
  • [GEOT-1471] - IndexedFidReader does not leverage the already read buffer, keeps on moving for each new fid
  • [GEOT-1472] - LazySearchCollection.isEmtpy() triggers a full index walk
  • [GEOT-1473] - IndexInfo checks for collection not being emtpy forcing an unecessary disk access
  • [GEOT-1474] - Don't go thru PropertyName when working against Feature, do a direct access instead
  • [GEOT-1475] - DuplicatorStyleVisitor/DuplicatingStyleVisitor throws NPE if external graphics is null
  • [GEOT-1479] - Cache LiteCoordinateSequence size
  • [GEOT-1480] - ShapefileRenderer always memory maps the dbf just to grab the dbf header, causing OOM
  • [GEOT-1481] - Shapefile renderer opens and scans thru the DBF file even if no attribute needs to be read
  • [GEOT-1486] - xsd-xml does not guard fine logging statements, and toStrings every encoded object triggering an OOM for big collections
  • [GEOT-1488] - Profile impl does not honor set order (if the set is a LinkedHashSet)
  • [GEOT-1489] - Parse SRS BBOX too
  • [GEOT-1490] - Access to spatial index is very inefficient
  • [GEOT-1515] - NPE on LiteralExpressionImpl.evaluate if literal is null
  • [GEOT-1518] - Oracle datastore fails to detect the geometry type if the native srs is not recognized
  • [GEOT-1521] - Oracle datastore should try harder to cope with Oracle datastore CRS definition brokenness
  • [GEOT-1523] - Allow Encoder to work with an externally provided content handler
  • [GEOT-1528] - SLD parser does not take into consideration "IsDefault" element of UserStyle
  • [GEOT-1550] - BBox-capablities is not recognized
  • [GEOT-1551] - SLDStyleFactory image and font loading is not thread safe
  • [GEOT-1570] - Have DefaultAttributeType use converter support
  • [GEOT-1584] - WFS datastore does not protect against feature type name array modification
  • [GEOT-1586] - CQL parser fails with escaped quote
  • [GEOT-1589] - ScrictWFSStrategy breaks with simple fid & bbox filter
  • [GEOT-1593] - Shapefile renderer does process every row of the shapefile even if there is no rule that applies to current scale
  • [GEOT-1598] - LoggerAdapter performs expensive operations before checking for the logging level
  • [GEOT-1604] - XML encoder always put a xml prolog in the generate output, this is unsuitable for partial document generation
  • [GEOT-1609] - Versioning datastore does not version enable point tables with a single point inside
  • [GEOT-1611] - Streaming Renderer and ShapefileRenderer can only draw one kind of Geometry at a time
  • [GEOT-1613] - MaxIncFIDMapper does not close result set
  • [GEOT-1655] - CQL.toExpression broken with multiple nested functions
  • [GEOT-1659] - urn:ogc:def:crs:EPSG:4326 parsing won't work if forcexy is activated
  • [GEOT-1671] - Shapefile renderer cascade onto StreamingRenderer triggers memory leaks
  • [GEOT-1672] - Shapefile renderer might stop drawing at all if the query sports a filter or a sld using the geometry column
  • [GEOT-1673] - ShapefileRenderer fails to handle filters using bbox literals
  • [GEOT-1674] - Shapefile renderer does not handle properly distance based filter
  • [GEOT-1675] - Clash between Point2D.hashCode() and DirectPosition.hashCode()
  • [GEOT-1676] - PostPreSplittingFilterVisitor cannot handle or-ed filters in a number superior to the maximum stack depth allowed by java
  • [GEOT-1678] - Six times slowdown in the application of big filters
  • [GEOT-1682] - BandSelect fails if asked to extract bands other than the first one without the specification of the visible band
  • [GEOT-1690] - CQL
  • [GEOT-1693] - FeatureCollection.size() does not respect maxFeatures
  • [GEOT-1702] - Stack overflow error doing crs lookup
  • [GEOT-1703] - Default Query against WFS returns no features
  • [GEOT-1717] - ShapefileDataStore not working with extension less files

Improvement

  • [GEOT-63] - Add convenience method for constructing a GridCoverage from a matrix
  • [GEOT-1072] - Support Coverages with Palette in ImageMosaic and ImagePyramid
  • [GEOT-1092] - LookupTableFactory should consider using SoftValueHashMap instead of WeakValueHashMap
  • [GEOT-1093] - ColorModelFactory should consider using SoftValueHashMap instead of WeakValueHashMap
  • [GEOT-1290] - Hide the classes generated by javacc
  • [GEOT-1455] - reduce property accessor overhead for the simple case
  • [GEOT-1493] - Have a quick way to check for a Geometry coordinate validity respect to the CRS axis bounds
  • [GEOT-1503] - Needless geometry check in SLDStyleFactory
  • [GEOT-1504] - Coverage rendering malfunctions when the buffer option is used
  • [GEOT-1509] - Halos are not perfectly centered on their label in both shapefile and streaming renderer
  • [GEOT-1511] - Support Google CRS (EPSG:900913)
  • [GEOT-1514] - Have versioning datastore understand version "FIRST" and "LAST"
  • [GEOT-1525] - Filter limiting code should check what filters are active before giving up because the filters are too many
  • [GEOT-1545] - Need a Logger subclass which redirect everything to common-logging
  • [GEOT-1547] - SLDParser: CssParameter parser should support mixed syntax
  • [GEOT-1558] - MultiSurfaceTypeBinding must run in BEFORE mode so that AbstractGeometryTypeBinding can handle SRS
  • [GEOT-1559] - OGCUtils.spatial fails to copy the srs from envelope to polygon
  • [GEOT-1561] - ShapefileRenderer delegation to streaming rendering breaks multilayer labelling
  • [GEOT-1562] - GML parsers and encoders should be axis order aware
  • [GEOT-1563] - Cannot decode http://www.opengis.net/gml/srs/epsg.xml#XXXX when XXXX is a custom projection
  • [GEOT-1564] - PropertyDataStore will loose CRS definition at any write attempt
  • [GEOT-1565] - ReprojectionFeatureResults won't work properly if the original result set is a ForceCoordinateFeatureResults
  • [GEOT-1566] - DuplicatingFilterVisitor does not deep copy Not child
  • [GEOT-1616] - RetypingFeatureCollection returns wrong schema
  • [GEOT-1621] - ReprojectFeatureResults/ReprojectingFeatureCollection fails with npe when there are null geometries
  • [GEOT-1622] - PostgisFeatureStore.getBounds(query) does not handle reprojection
  • [GEOT-1624] - Add semantic action for beyond filter
  • [GEOT-1630] - Make max num of tile to load configurable
  • [GEOT-1631] - unvailable image for mosaic should be configurable
  • [GEOT-1658] - Resolve the charcter string rule consistently with the CQL BNF
  • [GEOT-1687] - Hide unsupported ArcSDE column types from the FeatureTypes created by the arcsde plugin
  • [GEOT-1707] - MIspelled method name in PrjFileReader: getCoodinateSystem
  • [GEOT-1713] - Implement some basic speedups in the MysqlDataStore

Task

  • [GEOT-873] - Merge the coverage branch to the trunk

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.