Wraped form components can't be attached to FieldLabels -------------------------------------------------------
Key: TAPESTRY-1076 URL: http://issues.apache.org/jira/browse/TAPESTRY-1076 Project: Tapestry Issue Type: Bug Components: Core Affects Versions: 4.1 Reporter: Pedro Viegas Priority: Minor I have a component witch wraps a tapestry "TextField". Something like this just as an example... .html <html> <body jwcid="$content$"> <input jwcid="[EMAIL PROTECTED]"/> </body> </html> .jwc <?xml version="1.0"?> <!DOCTYPE component-specification PUBLIC "-//Apache Software Foundation//Tapestry Specification 4.0//EN" "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd"> <component-specification allow-body="no" allow-informal-parameters="yes"> </component-specification> If I use this component with a Label in a form like this... <form jwcid="[EMAIL PROTECTED]"> <label jwcid="@FieldLabel" field="component:comp1"/> <input jwcid="[EMAIL PROTECTED]" displayName="Field description" value="ognl:data" /> </form> I get the following error: "org.apache.tapestry.BindingException Error converting value for template parameter field: No type converter for type org.apache.tapestry.form.IFormComponent is available." Seems like it need the form component and is trying to get it as the parent of the inner TextField component, witch is not the form but my wrapper component. At least this is my guess. The full stacktrace... * org.apache.tapestry.coerce.ValueConverterImpl.coerceValue(ValueConverterImpl.java:105) * $ValueConverter_10d41ea6164.coerceValue($ValueConverter_10d41ea6164.java) * org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:91) * $FieldLabel_330.getField($FieldLabel_330.java) * org.apache.tapestry.valid.FieldLabel.renderComponent(FieldLabel.java:52) * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:676) * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:131) * org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:491) * org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.java:41) * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:676) * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:131) * org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:491) * org.apache.tapestry.form.FormSupportImpl.render(FormSupportImpl.java:495) * org.apache.tapestry.form.Form.renderComponent(Form.java:219) * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:676) * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:131) * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92) * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:676) * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:131) * org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:491) * org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.java:41) * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:676) * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:131) * org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:491) * org.apache.tapestry.html.Body.renderComponent(Body.java:151) * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:676) * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:131) * org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:491) * org.apache.tapestry.html.Shell.renderComponent(Shell.java:64) * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:676) * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:131) * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92) * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:676) * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:131) * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92) * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:676) * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:129) * org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:248) * org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:402) * org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse(DefaultResponseBuilder.java:117) * org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:33) * $ResponseRenderer_10d41ea6195.renderResponse($ResponseRenderer_10d41ea6195.java) * $ResponseRenderer_10d41ea6194.renderResponse($ResponseRenderer_10d41ea6194.java) * org.apache.tapestry.engine.HomeService.service(HomeService.java:68) * $IEngineService_10d41ea61fc.service($IEngineService_10d41ea61fc.java) * org.apache.tapestry.services.impl.EngineServiceInnerProxy.service(EngineServiceInnerProxy.java:77) * 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:60) * $WebRequestServicer_10d41ea61dd.service($WebRequestServicer_10d41ea61dd.java) * $WebRequestServicer_10d41ea61dc.service($WebRequestServicer_10d41ea61dc.java) * $WebRequestServicer_10d41ea61d9.service($WebRequestServicer_10d41ea61d9.java) * $WebRequestServicer_10d41ea61d8.service($WebRequestServicer_10d41ea61d8.java) * org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56) * $ServletRequestServicer_10d41ea61bf.service($ServletRequestServicer_10d41ea61bf.java) * $ServletRequestServicer_10d41ea61be.service($ServletRequestServicer_10d41ea61be.java) * org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55) * $ServletRequestServicerFilter_10d41ea61bb.service($ServletRequestServicerFilter_10d41ea61bb.java) * $ServletRequestServicerFilter_10d41ea61ba.service($ServletRequestServicerFilter_10d41ea61ba.java) * $ServletRequestServicer_10d41ea61c0.service($ServletRequestServicer_10d41ea61c0.java) * org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52) * $ServletRequestServicerFilter_10d41ea61b9.service($ServletRequestServicerFilter_10d41ea61b9.java) * $ServletRequestServicerFilter_10d41ea61b8.service($ServletRequestServicerFilter_10d41ea61b8.java) * $ServletRequestServicer_10d41ea61c0.service($ServletRequestServicer_10d41ea61c0.java) * org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53) * $ServletRequestServicerFilter_10d41ea61bd.service($ServletRequestServicerFilter_10d41ea61bd.java) * $ServletRequestServicerFilter_10d41ea61bc.service($ServletRequestServicerFilter_10d41ea61bc.java) * $ServletRequestServicer_10d41ea61c0.service($ServletRequestServicer_10d41ea61c0.java) * $ServletRequestServicer_10d41ea61b3.service($ServletRequestServicer_10d41ea61b3.java) * $ServletRequestServicer_10d41ea61b2.service($ServletRequestServicer_10d41ea61b2.java) * org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123) * org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:104) * javax.servlet.http.HttpServlet.service(HttpServlet.java:697) * javax.servlet.http.HttpServlet.service(HttpServlet.java:810) * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) * org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81) * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) * org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) * org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) * org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39) * org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159) * org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59) * org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) * org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) * org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) * org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) * org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) * org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) * org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) * org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) * java.lang.Thread.run(Thread.java:595) If a full test case is required I could provide one. -- 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]