So, you're saying that when you're creating a new bandPojo
it works, but when you're editing an existing one it fails?

I'm taking a look at the error messages + the beanform templates to see
why this is happening - is it possible to try T4.1.6-SNAPSHOT and
OGNL-2.7.3 in the meantime (just in case) ?

On Sat, Jun 14, 2008 at 5:04 AM,  <[EMAIL PROTECTED]> wrote:
> Hello all,
>
> I'm having an issue with BeanForm (version 0.9).  I have a feeling it's
> something I'm missing - but I've done about all the research and probing I can
> think of to no avail.
>
> The particulars - I'm executing in Jetty 4.2.27 (old, I know - but it seems
> rather trusty) on ubuntu linux.  My tapestry jars are the 4.1.5 release, I'm
> using tacos 4.1.1.  Along with OGNL 2.7.2  (hope I didn't forget anything).
>
> I've searched the exceptions and errors messages, I've went through the source
> code for the component, and I've done a bunch of searches in MarkMail and
> Nabble.  I found a promising lead, but that too doesn't work.
>
> So - I have pojo, Band, and I am able to use BeanForm to create a new pojo 
> (and
> persist, etc).
>
> [my .html]
> ------------------------------
>        <form jwcid="[EMAIL PROTECTED]:BeanForm"
>            bean="ognl:bandPojo"
>            exclude="bandId"
>            delegate="bean:validationDelegate"
>            clientValidationEnabled="ognl:true"
>            focus="ognl:true"
>            method="post"
>            save="listener:save"
>            delete="listener:delete"/>
>
> But when I enter my edit page from the view-all page with a pojo specified for
> editing, I get the following 4 exceptions (which result one from the other, I
> think):
>
> --------------------------------------
> Exception: Unable to read OGNL expression '<parsed OGNL expression>' of
> [EMAIL PROTECTED]/EditBand/bandEdit.label]: labelBlock
>
> org.apache.tapestry.BindingException
>
> ExpressionBinding[pages/EditBand/bandEdit.label labelBlock]
> classpath:/net/sf/beanform/BeanFormLabel.jwc, line 37, column 51
>
> 36           <component id="label" type="RenderBlock">
> 37               <binding name="block" value="labelBlock"/>
> 38           </component>
>
> Exception: Unable to read OGNL expression '<parsed OGNL expression>' of
> [EMAIL PROTECTED]/EditBand/bandEdit.label]: labelBlock
>
> org.apache.hivemind.ApplicationRuntimeException
>
> component:      [EMAIL PROTECTED]/EditBand/bandEdit.label]
> classpath:/net/sf/beanform/BeanForm.jwc, line 109, column 49
>
> 107          <component id="renderBody" type="RenderBody"/>
> 108          <component id="rows" type="BeanFormRows"/>
> 109          <component id="label" type="BeanFormLabel"/>
> 110          <component id="field" type="BeanFormField"/>
> 111          <component id="buttons" type="BeanFormButtons"/>
>
> Exception: labelBlock
> ognl.OgnlException
>
> Exception:
> java.lang.NullPointerException
>
> Stack Trace:
>
>    *
> net.sf.beanform.BeanFormComponent.getPropertySelectionModel(BeanFormComponent.java:105)
>    *
> net.sf.beanform.BeanFormComponent.hasPropertySelectionModel(BeanFormComponent.java:99)
>    * net.sf.beanform.BeanFormLabel.getLabelBlock(BeanFormLabel.java:45)
>    * sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    *
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    *
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    * java.lang.reflect.Method.invoke(Method.java:585)
>    * ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:851)
>    * ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:1414)
>    *
> ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:60)
>    * ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:147)
>    * ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2210)
>    * ognl.ASTProperty.getValueBody(ASTProperty.java:114)
>    * ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
>    * ognl.SimpleNode.getValue(SimpleNode.java:258)
>    * ognl.Ognl.getValue(Ognl.java:494)
>    * ognl.Ognl.getValue(Ognl.java:458)
>    *
> org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.readCompiled(ExpressionEvaluatorImpl.java:123)
>    *
> $ExpressionEvaluator_11a849d15d2.readCompiled($ExpressionEvaluator_11a849d15d2.java)
>    *
> org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:141)
>    *
> org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125)
>    *
> org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>    * $RenderBlock_242.getBlock($RenderBlock_242.java)
>    *
> org.apache.tapestry.components.RenderBlock.renderComponent(RenderBlock.java:61)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>    *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>    *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>    * org.apache.tapestry.components.Any.renderComponent(Any.java:44)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>    *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>    * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>    *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>    *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>    *
> org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.java:39)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>    *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>    *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>    * org.apache.tapestry.components.Any.renderComponent(Any.java:44)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>    *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>    *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>    * org.apache.tapestry.components.ForBean.renderComponent(ForBean.java:181)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>    *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>    * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>    * net.sf.beanform.BeanFormRows.renderComponent(BeanFormRows.java:58)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>    *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>    *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>    * org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:94)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>    *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>    *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>    * org.apache.tapestry.components.Any.renderComponent(Any.java:44)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>    *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>    *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>    * org.apache.tapestry.components.Block.renderForComponent(Block.java:65)
>    *
> org.apache.tapestry.components.RenderBlock.renderComponent(RenderBlock.java:65)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>    *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>    *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>    * org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:94)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>    *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>    * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>    * net.sf.beanform.BeanForm.renderComponent(BeanForm.java:191)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>    *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>    *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>    * org.apache.tapestry.form.FormSupportImpl.rewind(FormSupportImpl.java:624)
>    * org.apache.tapestry.form.Form.renderComponent(Form.java:196)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>    *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>    * org.apache.tapestry.form.Form.rewind(Form.java:269)
>    * org.apache.tapestry.engine.RequestCycle.rewindForm(RequestCycle.java:469)
>    * org.apache.tapestry.form.Form.trigger(Form.java:280)
>    *
> org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:166)
>    * org.apache.tapestry.engine.DirectService.service(DirectService.java:142)
>    * $IEngineService_11a849d1510.service($IEngineService_11a849d1510.java)
>    *
> org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:72)
>    * 
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:241)
>    *
> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
>    *
> $WebRequestServicer_11a849d14e8.service($WebRequestServicer_11a849d14e8.java)
>    *
> org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCachingFilter.java:54)
>    *
> $WebRequestServicerFilter_11a849d14ea.service($WebRequestServicerFilter_11a849d14ea.java)
>    *
> $WebRequestServicer_11a849d14ec.service($WebRequestServicer_11a849d14ec.java)
>    *
> $WebRequestServicer_11a849d14e4.service($WebRequestServicer_11a849d14e4.java)
>    *
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
>    *
> $ServletRequestServicer_11a849d14ca.service($ServletRequestServicer_11a849d14ca.java)
>    *
> org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
>    *
> $ServletRequestServicerFilter_11a849d14c6.service($ServletRequestServicerFilter_11a849d14c6.java)
>    *
> $ServletRequestServicer_11a849d14cc.service($ServletRequestServicer_11a849d14cc.java)
>    *
> org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
>    *
> $ServletRequestServicerFilter_11a849d14c4.service($ServletRequestServicerFilter_11a849d14c4.java)
>    *
> $ServletRequestServicer_11a849d14cc.service($ServletRequestServicer_11a849d14cc.java)
>    *
> org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
>    *
> $ServletRequestServicerFilter_11a849d14c8.service($ServletRequestServicerFilter_11a849d14c8.java)
>    *
> $ServletRequestServicer_11a849d14cc.service($ServletRequestServicer_11a849d14cc.java)
>    *
> $ServletRequestServicer_11a849d14be.service($ServletRequestServicer_11a849d14be.java)
>    *
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:126)
>    * 
> org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:171)
>    * javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>    * javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>    * org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
>    *
> org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:342)
>    * org.apache.tapestry.RedirectFilter.doFilter(RedirectFilter.java:103)
>    *
> org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334)
>    *
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:286)
>    * org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>    * org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
>    *
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:526)
>    * org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
>    * org.mortbay.http.HttpServer.service(HttpServer.java:879)
>    * org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
>    * org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
>    * org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
>    * org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
>    * org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
>    * org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
>
> Now - I found a message from Sept 2006 that mentioned there is an issue with
> BeanForm being used in a Form tag.  I believe it's a modification from 4.0 to
> 4.1 regarding the Form component:
>
> http://www.nabble.com/I%27m-trying-to-get-the-marvelous-BeanForm-component-working-with-tap-4.1-td6119786.html#a6122605
>
> I thought "DANG! THAT'S GOTTA BE IT!"  Because my problem appears to be 
> related
> to the Form component being rewound.  So I changed .html
>
>
> [my .html]
> ------------------------------
>   <form jwcid="@Form">
>        <span jwcid="[EMAIL PROTECTED]:BeanForm"
>            bean="ognl:bandPojo"
>            exclude="bandId"
>            delegate="bean:validationDelegate"
>            clientValidationEnabled="ognl:true"
>            focus="ognl:true"
>            method="post"
>            save="listener:save"
>            delete="listener:delete"/>
>   </form>
>
> I still got that above exception.  I mucked with the delegate, client
> validation, and still get the exception.
>
> Sorry for the excessive length - it's just that I've done a bunch of research,
> debugging, and looking into this... so I wanted to make sure I included all 
> the
> details.
>
> Thanks,
>
> Andy
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



-- 
Andreas Andreou - [EMAIL PROTECTED] - http://blog.andyhot.gr
Tapestry / Tacos developer
Open Source / JEE Consulting

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to