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

Reply via email to