The idea of the Map was in case other properties are added in the future, that the filterfactory interface doesn't have to change anymore. But by popular demand, I will change it.

The proposal is updated now with all your remarks..

On 12/05/11 22:06, Justin Deoliveira wrote:
I don't have really anything to add past Andreas feedback. The proposal looks good but I echo Andreas statements to only apply the collection wrappers in cases where one of the sides of the filter is already a collection. As for the new method on filter factory I agree just be explicit and add a new parameter for matchAction. This is also generally the pattern already used by the interface so I would say continue on with that.

2c.

On Thu, May 12, 2011 at 6:15 AM, Andrea Aime <[email protected] <mailto:[email protected]>> wrote:

    On Thu, May 12, 2011 at 6:25 AM, Niels <[email protected]>
    wrote:
    >
    
http://docs.codehaus.org/display/GEOTOOLS/Support+Multi-Valued+Attributes+in+Filter+Comparison+Operators

    I don't have the Filter 2.0 specification handy but afaik you'll also
    have to update the
    OGC interfaces for those filters to add the matchAction attribute
    and modify the
    XML encoders and parsers (both old and new generation, sorry) to
    handle the
    matchAction?
    The proposal does not show that part.

    A little detail, in the code example it should be matchAction, not
    matchCase?

    As for the performance perspective, it would be better to avoid
    creating the collectoin
    wrappers as filters are evaluated repeatedly for each feature in the
    rendering, it's not
    uncommon to render hundreds of thousands, up to millions features
    in a simple
    feature rendering situation.

    So the code should be preceded, imho, with a check like:

    if(!(object1 instanceof Collection) && !(object2 instanceof
    Collection)) {
     return evaluateInternal(value1, value2);
    }

    right after the collection wrapping step.

    The changes to the filter factory... you will be preserving
    backwards compatible
    methods right?
    I did not follow the whole discussion but an untyped kvp is
    painful to use, it's
    one of the reasons why working with JAI is painful (look ma, just
    one factory
    method for all operations! And then they realized it was hard to
    use and made
    statically typed *Descriptor classes to make it code complete and
    autodoc
    friendly).

    Cheers
    Andrea

    --
    -------------------------------------------------------
    Ing. Andrea Aime
    GeoSolutions S.A.S.
    Tech lead

    Via Poggio alle Viti 1187
    55054  Massarosa (LU)
    Italy

    phone: +39 0584 962313
    fax:      +39 0584 962313

    http://www.geo-solutions.it
    http://geo-solutions.blogspot.com/
    http://www.youtube.com/user/GeoSolutionsIT
    http://www.linkedin.com/in/andreaaime
    http://twitter.com/geowolf

    -------------------------------------------------------

    
------------------------------------------------------------------------------
    Achieve unprecedented app performance and reliability
    What every C/C++ and Fortran developer should know.
    Learn how Intel has extended the reach of its next-generation tools
    to help boost performance applications - inlcuding clusters.
    http://p.sf.net/sfu/intel-dev2devmay
    _______________________________________________
    Geotools-devel mailing list
    [email protected]
    <mailto:[email protected]>
    https://lists.sourceforge.net/lists/listinfo/geotools-devel




--
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.



--
*Niels Charlier*

Software Engineer
CSIRO Earth Science and Resource Engineering
Phone: +61 8 6436 8914

Australian Resources Research Centre
26 Dick Perry Avenue, Kensington WA 6151
------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to