I have some pretty straightforward Ajax code in my project. I do not use any custom JavaScript or anything external to tapestry - just zones and blocks. I'm using Tapestry 5.1.0.0-SNAPSHOT. Everything worked fine until 15. February 2009, when Tapestry started complaining about the BlockImpl returned from the event listener. Earlier snapshots still work.
Does anyone else have similar problems and if does, what should be changed in the code that is using zone? Or maybe it is a bug? Now, I have two cases: 1. A simple zone with updating behavior, without forms, for testing purposes. Just a link inside a zone that updates the zone to display some text. 2. A form inside a component with inherited:zone. When the zone is updated, the block is returned. There is inheritance and a few components are nested, but the logic is simple and, to repeat, I do not use any exotic hack. Just what is provided by tapestry. Snapshots prior to 15.Feb: both cases work. Snapshots after 15. Feb. changes (and there are lots of them so I can not find a source of the problem): 1. Still works 2: I get a ComponentEventException The exception report: # A component event handler method returned the value Block[edit within model/CreateGirlfriend:creategirlfriend, at classpath:org/aloole/tapestry/tapestryioc/app/components/model/CreateGirlfriend.tml, line 6]. Return type org.apache.tapestry5.internal.structure.BlockImpl can not be handled. Configured return types are java.lang.Class, java.lang.String, java.net.URL, org.apache.tapestry5.Link, org.apache.tapestry5.StreamResponse, org.apache.tapestry5.runtime.Component. context eventType action location classpath:org/aloole/tapestry/tapestryioc/app/components/model/EditGirlfriend.tml, line 2 1 <t:container xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> 2 <form t:type="Form" t:id="form" t:zone="inherit:zone"> 3 <t:errors/> 4 GirlfriendEditor 5 <ul> 6 <li><input t:type="Checkbox" t:id="agreementCheckbox" t:value="agreement"/></li> 7 <li><input id="submit" class="portlet-form-button" type="submit" value="Save"/></li> # org.apache.tapestry5.runtime.ComponentEventException A component event handler method returned the value Block[edit within model/CreateGirlfriend:creategirlfriend, at classpath:org/aloole/tapestry/tapestryioc/app/components/model/CreateGirlfriend.tml, line 6]. Return type org.apache.tapestry5.internal.structure.BlockImpl can not be handled. Configured return types are java.lang.Class, java.lang.String, java.net.URL, org.apache.tapestry5.Link, org.apache.tapestry5.StreamResponse, org.apache.tapestry5.runtime.Component. context eventType failure location classpath:org/aloole/tapestry/tapestryioc/app/components/model/EditGirlfriend.tml, line 2 # java.lang.RuntimeException A component event handler method returned the value Block[edit within model/CreateGirlfriend:creategirlfriend, at classpath:org/aloole/tapestry/tapestryioc/app/components/model/CreateGirlfriend.tml, line 6]. Return type org.apache.tapestry5.internal.structure.BlockImpl can not be handled. Configured return types are java.lang.Class, java.lang.String, java.net.URL, org.apache.tapestry5.Link, org.apache.tapestry5.StreamResponse, org.apache.tapestry5.runtime.Component. Hide uninteresting stack frames Stack trace * org.apache.tapestry5.internal.services.ObjectComponentEventResultProcessor.processResultValue(ObjectComponentEventResultProcessor.java:39) * $ComponentEventResultProcessor_11f7fa7e128.processResultValue($ComponentEventResultProcessor_11f7fa7e128.java) * $ComponentEventResultProcessor_11f7fa7e0b8.processResultValue($ComponentEventResultProcessor_11f7fa7e0b8.java) * org.apache.tapestry5.internal.services.ComponentResultProcessorWrapper.handleResult(ComponentResultProcessorWrapper.java:42) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$6.handleResult(ComponentPageElementImpl.java:1040) * org.apache.tapestry5.internal.services.EventImpl.storeResult(EventImpl.java:74) * org.aloole.tapestry.base.components.ObjectDetails.dispatchComponentEvent(ObjectDetails.java) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:889) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1068) * org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.triggerContextEvent(InternalComponentResourcesImpl.java:263) * org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:391) * org.apache.tapestry5.corelib.components.Form$onAction$invocation_11f7fa803ce.invokeAdvisedMethod(Form$onAction$invocation_11f7fa803ce.java) * org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:71) * org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:45) * org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54) * org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:80) * org.apache.tapestry5.corelib.components.Form.onAction(Form.java) * org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:897) * org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1068) * org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:75) * org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42) * $ComponentEventRequestHandler_11f7fa7e126.handle($ComponentEventRequestHandler_11f7fa7e126.java) * org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42) * $ComponentEventRequestHandler_11f7fa7e126.handle($ComponentEventRequestHandler_11f7fa7e126.java) * org.apache.tapestry5.services.TapestryModule$34.handle(TapestryModule.java:2071) * $ComponentEventRequestHandler_11f7fa7e126.handle($ComponentEventRequestHandler_11f7fa7e126.java) * $ComponentEventRequestHandler_11f7fa7e0b5.handle($ComponentEventRequestHandler_11f7fa7e0b5.java) * org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43) * $ComponentRequestHandler_11f7fa7e0ae.handleComponentEvent($ComponentRequestHandler_11f7fa7e0ae.java) * org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:138) * $Dispatcher_11f7fa7e0af.dispatch($Dispatcher_11f7fa7e0af.java) * $Dispatcher_11f7fa7e0a5.dispatch($Dispatcher_11f7fa7e0a5.java) * org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:242) * org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) * $RequestHandler_11f7fa7e0a6.service($RequestHandler_11f7fa7e0a6.java) * org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:760) * $RequestHandler_11f7fa7e0a6.service($RequestHandler_11f7fa7e0a6.java) * org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:750) * $RequestHandler_11f7fa7e0a6.service($RequestHandler_11f7fa7e0a6.java) * org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85) * $RequestHandler_11f7fa7e0a6.service($RequestHandler_11f7fa7e0a6.java) * org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90) * org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81) * org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85) * org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103) * $RequestHandler_11f7fa7e0a6.service($RequestHandler_11f7fa7e0a6.java) * $RequestHandler_11f7fa7e09c.service($RequestHandler_11f7fa7e09c.java) * org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:194) * org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53) * $HttpServletRequestHandler_11f7fa7e09e.service($HttpServletRequestHandler_11f7fa7e09e.java) * org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) * $HttpServletRequestFilter_11f7fa7e09b.service($HttpServletRequestFilter_11f7fa7e09b.java) * $HttpServletRequestHandler_11f7fa7e09e.service($HttpServletRequestHandler_11f7fa7e09e.java) * org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:712) * $HttpServletRequestHandler_11f7fa7e09e.service($HttpServletRequestHandler_11f7fa7e09e.java) * $HttpServletRequestHandler_11f7fa7e099.service($HttpServletRequestHandler_11f7fa7e099.java) * org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127) -- View this message in context: http://www.nabble.com/Zone-broken-in-15-February-2009-5.1.0.0-SNAPSHOT-changes-tp22039148p22039148.html Sent from the Tapestry - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org