There are actually two issues with Interpolate function.
1) variable functions in the middle (and an optional function at the end)
2) I could not sort out a good way to document repeating pairs (as the function 
is supposed to have pairs of data1,value1,data2,value2,etc...

So a code review would be good.

> > The other build breaker is the interpolation function, which has a variable
> 
> >  argument that is not the last one, when the name is buildt
> >  FunctionNameImpl.validate() blows up complaining variable length arguments
> >  can be only the last one.
> >  This issue is structural, interpolation is just declared the way it is by 
> > the
> >  SE standard, we either don't declare the types and multiplicities or we
> >  have to remove the check in FunctionNameImpl.validate().
> > 
> Hmm... not sure about this one. Should we just ditch the java style 
> convention for variable arguments?
I would prefer to do this; it is up to function authors to sort out what 
arguments they need and communicate what is allowed. 
> The downside is that it makes it harder for normal functions to dispatch 
> variable arguments.
> 
> 
> 

This did not make sense to me; perhaps you could be more explicit about what 
the problem is? Are you referring to the extra logic inside InterpolateFunction 
to sort out what parameters apply where? Perhaps we could just recommend only 
the last parameter support multiplicity?
>  Could we also just make Interpolate (and other functions that are dictated 
> by a spec like this) an exception and only disable validate for them?
> 
> 
> 

One approach would be to only apply the validation check in the utility method, 
and not in the factory or direct use of the FunctionNameImpl constructor. This 
is actually a good idea since when creating a FilterCapabilies for an external 
WFS service we have no assurance they are going to follow out conventions about 
variable arguments.

Jody 
------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to