What did you think of the idea of performing two tests (in order to maintain 
performance).

So my performance question may be handled with an extra method:

1. short list property accessors that think they can handle the xpath 
expresison using canHandle (this should be a test just to see if the xpath 
expression is well formed for the purpose of the accessor)

2. Go through the short listed implementations using a canEvaulate method that 
performs a more serious test against actual data (the feature type in this case)

3. Actually evaluate returning the value (or null if the value was null)

Justin's question is harder; what to do if nobody can handle the the 
expression. Either because it is invalid; or does not match the data structure 
(ie the invalid column name case). Can we safely return an expression in this 
case? Or should we be returning null.

Jody


On 21/09/2010, at 11:57 AM, Niels wrote:

> I think it would be a good idea to make it optional and still throw a null 
> value when this particular option is selected "off", like I first suggested. 
> Question is only, at which point in time and in which manner this option is 
> selected. Is it something that should be left completely to the users? For 
> example in the case of app-schema, the problem was that non-existing columns 
> in the mapping file can cause unclear exceptions. In this particular case it 
> would be advised always to check on the existence of columns, while this 
> might be different for other uses of expression evaluation.
> 
> Remark that the patch also fixes something else that could cause bugs in the 
> future. 
> The way the XPath Property Accessor worked, it could easily prevent other 
> property accessors from being used (when they are stored later in the queue - 
> since xpath property accessor always returns true to canHandle), but still 
> fail. (Refer to the earlier discussion with Jody.) That's why Jody suggested 
> to actually try multiple property accessors. I think that is an important 
> change that definitely should be kept.
> 
> With Regards,
> Niels
> 
> On 21/09/10 09:18, Justin Deoliveira wrote:
>> 
>> Hi all,
>> 
>> Recently this patch has been proposed:
>> 
>>  http://jira.codehaus.org/browse/GEOT-3066
>> 
>> And this issue was discussed in detail on the mailing list some time ago in 
>> this thread:
>> 
>> http://osgeo-org.1803224.n2.nabble.com/evaluating-invalid-attribute-names-td5489979.html
>>  
>> 
>> Apologies for not weighing in then. But I think this has some pretty serious 
>> backward compatibility issues. The issue/proposal is to throw an exception 
>> vs return null when a type has no such attribute described by an attribute 
>> name or xpath, rather than return null. The thread above proposes to just 
>> change the behaviour and update any test cases that rely on it. I could not 
>> disagree more with his approach. This breaks backward compatibility and i 
>> think requires more discussion. There is much more use of geotools beyond 
>> test cases and even beyond geoserver and udig. If there is one thing i 
>> learned at foss4g it is that there are lots of people using geotools, even 
>> though they don't take parts in discussions on the developer list.
>> 
>> So i think this change requires more discussion and probably a proposal. And 
>> it certainly can't take place on stable branch imo. 
>> 
>> Is there any way we can have this behaviour engage only when the user 
>> explicitly requests it? That has been a pattern that has worked very well in 
>> the past for such changes. 
>> 
>> -Justin
>> 
>> -- 
>> 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
> ------------------------------------------------------------------------------
> Start uncovering the many advantages of virtual appliances
> and start using them to simplify application deployment and
> accelerate your shift to cloud computing.
> http://p.sf.net/sfu/novell-sfdev2dev_______________________________________________
> Geotools-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geotools-devel

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to