cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <>
Subject Re: [showstopper] NPE in CForms MultivalueJXPathBinding
Date Tue, 22 Mar 2005 10:33:33 GMT
Giacomo Pati wrote:

> Sylvain Wallez wrote:

>> Giacomo, I started merging this with DOMFactory but cannot understand 
>> how this works. Can you explain?
>> AFAIK, JXPath calls the factory if the node at path "name" doesn't 
>> exist. So my understanding is that context.getValue(name) will 
>> *always* return null. 
> My debugging sessions showed that context.getValue(name) returs the 
> "node"
> JXPath wanted to insert something. So in my debugging session it was 
> (because
> I have bound to a Bean) the Collection holding the multi value items.
>> I saw you just added a test for this condition, but doesn't it have 
>> the effect of always failing by immediately returning false?
> I've never had any NPEs during my tests and Marco was right that there
> is a potential NPE if context.getValue(name) returns a null value. 
> Thus the
> test.
>> Also, what is the effect of 
>> ((Collection)context.getValue(name)).add(null)? How does adding a 
>> null value allow JXPath to continue further evaluation of the path?
> JXPath will replace the null value with the value from the multi value 
> item
> it wanted to store but had to call the factory first to create the slot.

Ok. I still don't really understand (would have just as you to follow 
this with a debugger!), but I merged the collection and DOM factories.

Works for me using DOM (the sample is no more broken). Can you 
cross-check with collections so that we can declare the showstopper solved?


Sylvain Wallez                        Anyware Technologies  
Apache Software Foundation Member     Research & Technology Director

View raw message