It is used by FunctionFinder; in the event a function cannot be found a 
placeholder function is returned which will always evaluate to the fallback 
value. We should be using this when parsing an SLD file; but we are always 
caught between representing what the user provided; vs freaking out early so 
they can tell when they have spelled a function name wrong.

So to answer your question; no we are not using fallback value (or symbology 
encoding) very widely yet.
-- 
Jody Garnett

On Friday, 29 April 2011 at 10:05 PM, Michael Bedward wrote: 
> OK, I'm beginning to understand better now - thanks. But there are
> still some details that I can't fit into place.
> 
> Is Function.getFallbackValue() ever used in GeoTools ? I can't quite
> get my head around when it would be used and a quick grep of the code
> didn't find much.
> 
> Sorry to harp on about this but I would really like to reach
> enlightenment with respect to filter functions and whenever I feel
> like I'm getting close it all goes hazy again.
> 
> Michael
> 
> 
> On 29 April 2011 15:19, Jody Garnett <[email protected]> wrote:
> > Nope; cause function is the data structure responsible for holding:
> > - function name
> > - arguments
> > - fallback value (if an implementation of the function cannot be found)
> > Here is the trouble; we should not of really made our function
> > implementations be the same as the data structure.
> > Just like we have PropertyAccessor as the "internals" of PropertyName
> > expression; we should of had some kind of "FunctionExecution" be the
> > "internals" of a Function expression.
> > Since we doubled up, each and every one of our Functions needs to be a
> > proper Function expression (as we will use them during documentation
> > generation).
> > So your confusion represent a design failure on our part; just not perhaps
> > the one you were expecting?
> > Jody
> > 
> > On Fri, Apr 29, 2011 at 11:39 AM, Michael Bedward
> > <[email protected]> wrote:
> > > 
> > > Thanks Jody. I still don't quite understand. If a fallback value is a
> > > Literal returned when a function is not implemented on a system, then
> > > shouldn't it be held somewhere in the code responsible for calling the
> > > function (e.g. a finder or factory class) rather than the function
> > > itself ? It seems illogical that the function stores a value that is
> > > only used when the function itself does not exist.
> > > 
> > > I should add that I think that part of the SE specification is badly
> > > written, or at least incomplete, and they don't seem to have thought
> > > about default values, as opposed to fallback values, at all.
> > > 
> > > Michael
> > > 
> > > On 28 April 2011 22:29, Jody Garnett <[email protected]> wrote:
> > > > Good question :-)
> > > > I will answer twice and both times be right (don't mind me I am a bit
> > > > punch
> > > > drunk from writing docs):
> > > > A: The fallback value *is* needed in case you are going to encode a
> > > > document
> > > > - no sense throwing out information.
> > > > A: In a related manner you may be constructing a style for use with
> > > > another
> > > > system does not implement the function.
> > > > An easy example is a previous version of a GeoTools; or an
> > > > environment
> > > > that does not have some of your custom functions defined.
> > > > So that scary SE quote is correct, we may not need to use the value at
> > > > execution time, however it is still of use.
> > > > And idea occurs to me - we could also use the fallback value when
> > > > rendering
> > > > a style "quickly"; ie configure the renderer to not call functions for a
> > > > quick preview; and then do the full render if the user is
> > > > interested. The
> > > > fallback value is always a literal so the resulting style would be
> > > > "fast".
> > > > --
> > > > Jody Garnett
> > > > 
> > > > On Thursday, 28 April 2011 at 8:37 PM, Michael Bedward wrote:
> > > > 
> > > > Hello Jody,
> > > > 
> > > > Many thanks for this. It looks great.
> > > > 
> > > > I have a question that is peripheral to the tutorial, and that I know
> > > > we've gone over in the past: what is the valid use of a fallback value
> > > > with filter functions ? The Symbology Encoding spec says:
> > > > 
> > > > "The value of the fallbackValue attribute is used as a default value,
> > > > if the SE implementation does not support the function. If the
> > > > implementation supports the function, then the result value is
> > > > determined by executing the function."
> > > > 
> > > > In that case, a function shouldn't even have a fallback value field
> > > > should
> > > > it ?
> > > > 
> > > > I remember struggling with this when helping to do the "env" function.
> > > > If you look at the code for EnvFunction you'll see that a "default"
> > > > value can be supplied as an optional extra arg to the evaluate method
> > > > (this was Andrea's suggestion for how to have a default while not
> > > > violating the spec). If the setFallbackValue is called an warning is
> > > > logged.
> > > > 
> > > > Sorry that this is banal feedback on a nice tutorial - but it's so
> > > > good to have a teaching page about filter functions at last so I think
> > > > it's worth checking that it's squeaky clean.
> > > > 
> > > > Michael
> > > > 
> > > > 
> > > > On 28 April 2011 01:08, Jody Garnett <[email protected]> wrote:
> > > > 
> > > > Available now:
> > > > -
> > > > http://docs.geotools.org/latest/userguide/tutorial/advanced/function.html
> > > > Review and feedback are of course welcome.
> > > > --
> > > > Jody Garnett
> > > > --
> > > > Jody Garnett
> > > > 
> > > > 
> > > > 
> > > > ------------------------------------------------------------------------------
> > > > 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-gt2-users mailing list
> > > > [email protected]
> > > > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
> 
------------------------------------------------------------------------------
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-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to