cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Lundquist (JIRA)" <j...@apache.org>
Subject [jira] Commented: (COCOON-1725) Unexpected attempt to read values of JavaBean while saving form
Date Tue, 27 Dec 2005 00:02:32 GMT
    [ http://issues.apache.org/jira/browse/COCOON-1725?page=comments#action_12361248 ] 

Mark Lundquist commented on COCOON-1725:
----------------------------------------

> Just for sure, do you speak about the execution of child element fb:on-update? 

Not particularly; I mean just saving the value itself if it has changed.

> Despite the purpose, I think lack of the get method should mean that there is no way
to check whether a model update is > required. 

Maybe so... like I said, I'm not sure I know enough to really say.  Someone more expert than
me will have to give an opinion.

> So maybe lenient mode[1] will 
> help us? Then it would look like: 
> jxpc.setLenient(true); 
> Object oldValue = jxpc.getValue(this.xpath); 
> jxpc.setLenient(false); 

I don't think so... first off, JXPath leniency is already a configurable feature of the binding
framework, i.e. lenient may already be set to true before you even get to it.  In fact, IIRC,
it is, because we default it to true (and this was the source of a hard-to-debug problem for
me a while back! :-/).That's no showstopper of course, you'd just restore the original leniency
setting instead of always setting it to false.  But more importantly, in lenient mode, getValue()
on a non-existent jxpath returns null, and I think that is not what we want here...

Also, it looks like ValueJXPathBinding currently has no way to access the direction, i.e.
doSave() has been called because @direction was "save" or "both", but it has no way to distinguish
between a the two cases.



> Unexpected attempt to read values of JavaBean while saving form
> ---------------------------------------------------------------
>
>          Key: COCOON-1725
>          URL: http://issues.apache.org/jira/browse/COCOON-1725
>      Project: Cocoon
>         Type: Bug
>   Components: Blocks: Forms
>     Versions: 2.1.8
>     Reporter: Grzegorz Kossakowski (aka g[R]eK)
>     Priority: Minor

>
> Problem lays in org.apache.cocoon.forms.binding.ValueJXPathBinding.doSave at line 123:
>         Object oldValue = jxpc.getValue(this.xpath); //line 123
>         if (getLogger().isDebugEnabled()) {
>             getLogger().debug("value= " + value + "-- oldvalue=" + oldValue);
>         }
> This is for debugging purpose and it's quite handy but if there is no get method in bean
exception org.apache.commons.jxpath.JXPathException: No read method will be thrown and binding
will be interrupted. It will try to read value even @direction="save" is set.
> I think it is not valid to require read method while it is excplicitly stressed the direction
of binding.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message