@Jody: I have some time here... just starting on wfs 2 support in geoserver and 
ran into this while working on getcapabilities response.
> 
> 

Nice; I would like to look at the filter capabilities section a bit and we can 
work from there. I mostly just want to make sure we are not duplicating 
concepts if we can avoid id. 
>  I will eventually need to reach a resolution within ideally a few weeks time 
> however, but for now i am happy just capturing everyones feedback and will 
> try to refine that into a more directed proposal. One that ideally makes 
> everyone happy.
> 
> 

no worries. 
> I like Andreas suggestion about using min and max occurs on FunctionParameter 
> to indiciate cardinality. It jives with both xml schema and how our feature 
> model does multi valued attributes. But he brings up a good point about how 
> to handle this given that our current system is purely positional.
> 
> 

Parameter does allow for min and max occurs:
- http://docs.geotools.org/latest/userguide/library/api/parameter.html
- http://docs.geotools.org/latest/javadocs/org/geotools/data/Parameter.html

I would hope the use of MIN / MAX metadata keys above will work; we can make 
getMinOccurs() and getMaxOccurs() if you like. The general idea is to define 
keys; and once we are happy make helper methods (as has already been done for 
password).
> I would generally like to avoid completely rewriting the api so that it is 
> purely named rather than positional. Especially given the number of function 
> implementations that currently exist. But at the same time leave the door 
> open for functions that want to switch over to support variable arguments.
> 
> 

Agreed. 
> All in all I think taking the java convention seems like the smoothest 
> upgrade path to me. That is only allowing a variable argument as the last 
> argument. I guess we could maybe leave this up to the actual function itself? 
> For instance if there is some other way to differentiate the arguments then I 
> guess a function could support it. For instance maybe a function can take two 
> arguments, where the first is a variable list of PropertyName, and the second 
> is a variable list of Literal or something like that.
> 
> 

I would also like to do the java convention; so that CQL can be used. I do note 
however that we already have a violation of this with the SE functions (one of 
them has an optional last argument; currently we can figure it out based on if 
the number of arguments is odd or even). 
> We could potentially create a subclass of FuntionImpl called 
> VariableArgumentFunctionImpl or something that could have some convenience 
> method for checking the rules of a variable arg function call. And maybe we 
> have the default be its checks for the java convention. Just thinking out 
> loud as well.
> 
> 

I think we could get buy with just FunctionName; however I really would like to 
make an AbstractFunction class as documented here:
- 
http://docs.geotools.org/latest/userguide/tutorial/advanced/function.html#abstract

It made writing a function a lot easier; but is currently just an example. We 
could add helper methods that made implementing a variable number of arguments 
easier to handle.
> So unless people object to this approach I will try to experiment with it and 
> come up with a more refined proposal.
> 
> 

Sounds good, I just don't want a forth parameter class :-( 
Jody
> 
> 
> On Mon, May 2, 2011 at 1:20 AM, Andrea Aime <andrea.a...@geo-solutions.it> 
> wrote:
> > On Mon, May 2, 2011 at 4:03 AM, Jody Garnett <jody.garn...@gmail.com> wrote:
> > > Good idea Ben; Andrea had that suggestion earlier when looking at geometry
> > > transformations; there is also the concept of "volitile" functions
> > > introduced to keep "random" from being optimised away.
> > 
> > Indeed I would treat this one similarly, add a "InvertibleFunction" 
> > interface
> >  that returns the inverse. If the function does not implement the interface,
> >  well, it's not invertible.
> > 
> > > I would like to start a proposal page so we can capture the current
> > > suggestions; and allow Justin to get back to work.
> > > Justin I am under the impression you have deadline's etc associated with
> > > this work; our policy gives you 3 days to before you can start committing 
> > > (I
> > > am never sure if that is working days or not).
> > 
> > I know there is that policy, however there is nothing preventing some late
> >  comer to -1 your proposal and leave you in a sorry state.
> >  I normally prefer to get a positive vote before putting days of work at 
> > stake...
> >  just my own preference admittedly
> > 
> >  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
> > 
> >  -------------------------------------------------------
> > 
> >  
> > ------------------------------------------------------------------------------
> > WhatsUp Gold - Download Free Network Management Software
> >  The most intuitive, comprehensive, and cost-effective network
> >  management toolset available today. Delivers lowest initial
> >  acquisition cost and overall TCO of any competing solution.
> > http://p.sf.net/sfu/whatsupgold-sd
> >  _______________________________________________
> >  Geotools-devel mailing list
> > Geotools-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/geotools-devel
> > 
> 
> 
> -- 
> Justin Deoliveira
> OpenGeo - http://opengeo.org
> Enterprise support for open source geospatial.
> 
> 
------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to