You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by bu...@apache.org on 2005/09/20 23:05:57 UTC

DO NOT REPLY [Bug 36749] New: - form binding ambiguity creating new paths

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=36749>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=36749

           Summary: form binding  ambiguity creating new paths
           Product: Cocoon 2
           Version: Current SVN 2.2
          Platform: Other
        OS/Version: other
            Status: NEW
          Severity: normal
          Priority: P3
         Component: CocoonForms
        AssignedTo: dev@cocoon.apache.org
        ReportedBy: spodxx@gmail.com


The current way cform binding is handled is a bit confusing regarding the
creation of new (jx)path elements.

While fb:value works (to me) as expected, other bindings behave quite different.
E.g. the following binding would create the given path if non-existing. 
<fb:value id="form.test" path="/test/hello" />
Others, such as fb:set-attribute or fb:custom would not and throw an exception
given the path above. This must be due the fact that the doSave() method of each
binding class is implemented differently. The ValueJXPathBinding class calls
createPathAndSetValue() while others expect that the given path does already
exist calling getRelativeContext() directly. This behaviour is especially
annoying for fb:custom bindings in my case.

See also:
http://issues.apache.org/bugzilla/show_bug.cgi?id=30693
http://www.mail-archive.com/dev@cocoon.apache.org/msg20645.html

fb:custom exception:
org.apache.commons.jxpath.JXPathException: Cannot create a relative context for
a non-existent node: /form/test
	at
org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.getRelativeContext(JXPathContextReferenceImpl.java:581)
	at
org.apache.cocoon.forms.binding.CustomJXPathBinding.doSave(CustomJXPathBinding.java:83)
	at
org.apache.cocoon.forms.binding.JXPathBindingBase.saveFormToModel(JXPathBindingBase.java:192)

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.