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

Reply via email to