Hello again
So here goes the list of issues/bugs/questions we've come up with when
migrating to 2.6.x and adding the UOM functionalities:
1. Question: why not put all setters in the
org.geotools.styling.Symbolizer interface?
. Example: setGeometryPropertyName()
. Wouldn't it be nice to have an abstract SymbolizerImpl?
2. Question: now that we have non-deprecated setters in the Symbolizers,
is it OK to have setUnitOfMeasure()? We implemented it this way.. If it
is OK like that, then I guess the uom member variables should not be
final anymore.
3. Question: why is PointSymbolizerImpl.setGeometryPropertyName() still
deprecated?
4. PointSymbolizerImpl initializes UOM to NonSI.PIXEL by default. I
think this is the right thing to do, but then:
. The same must be done for all SymbolizerImpl's. Since nobody else
behaves this way, I changed it to look like the others: initializes to null
. We should enforce all setUnitOfMeasure(null) to set NonSI.PIXEL instead
5. The original idea was to create an SEParser (effectively an
SLD+SEParser) that would contain the changes for UOM, etc. Do you still
want to do it that way, Jody? In any case, the same would have to be
done for SLDTransformer to enable UOMs when serializing (i.e., create an
SETransformer as well)
6. Problems in DuplicatingStyleVisitor:
. visit(FeatureTypeStyle) does not call visit(Rule) for its Rules!
- Does not actually copy the rules: their references were just
being placed directly on the new Style!
- Could not find a practical way to do it, due to: lack of factory
method + problems in fts.setTitle when title is null
. Many mistakes in copy() methods:
- Visit() is called (pushing an Object to the pages stack) but the
copy is returned WITHOUT popping the object back
- Cases:ColorMap,Halo,Displacement,LabelPlacement,Symbol,AnchorPoint
7. Problems in RasterSymbolizer.equals() and hashCode()
. hashCode was crashing for null member variables
. equals was not correct because many member variables equals()
methods were not implemented (implemented the minimum that was needed)
8. Problem in SLDStyleFactory
. If a PointSymbolizer's size is less than 1 (e.g., 0.1), the factory
was assuming it was zero and then switching to a default value of 16!
9. Problem with FilterTransformer
. Previously all Filters encoded included a <Filter></Filter> root
tag, but the current version does not (which is correct in my opinion,
since the FilterDOMParser does not expect one anyway). However, for some
reason the visit(Id filter, Object extraData) method was putting it
hard-coded, which is *really* wrong (especially if you consider that the
Id filter may be inside composite filters such as And, etc)
10. Problem with GraphicImpl.setExternalGraphics() and setMarks()
. Was clearing up all graphics, regardless of class (e.g.,
setExternalGraphics() was clearing the Marks and vice-versa)
My idea is to provide you guys with separate patches for these issues,
if you think the ideas and fixes are OK.
A final note: I tried updating GeoTools and running Maven here today and
it complained that it couldn't find jar-collector-2.6-SNAPSHOT.jar. It
seems to be looking in the OSgeo repository for plugins, which I guess
is wrong (it should be Opengeo now right?)
Cheers
Milton
--
Milton Jonathan
Grupo GIS e Meio Ambiente
Tecgraf/PUC-Rio
Tel: +55-21-3527-2502
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel