Tapestry 5
  1. Tapestry 5
  2. TAP5-22

Better client side reporting of problems with Zones and triggers is needed

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.15
    • Fix Version/s: 5.0.16
    • Component/s: None
    • Labels:
      None
    • Environment:
      Jetty 5.1.12; Tapestry 5.0.12

      Description

      Given a template with:

      <t:zone t:id="testZone">
      <t:delegate to="testBlock" />
      </t:zone>

      <t:block t:id="testBlock">
      <t:zone t:id="zone1">
      <t:delegate to="zone1Block"/>
      </t:zone>

      <t:zone t:id="zone2">
      <t:delegate to="zone2Block"/>
      </t:zone>
      </t:block>

      <t:block t:id="zone1Block">
      <t:actionlink t:id="showZone2Block2" zone="zone2">show zone2Block2</t:actionlink><br/>
      <t:actionlink t:id="refreshTestZone" zone="testZone">refresh testZone</t:actionlink>
      </t:block>

      <t:block t:id="zone2Block">
      zone2Block
      </t:block>

      <t:block t:id="zone2Block2">
      <b>zone2Block2</b>
      </t:block>

      and with code:
      @Inject
      @Property
      private Block _testBlock;

      @Inject
      @Property
      private Block _zone2Block2;

      @Inject
      @Property
      private Block _zone1Block;

      @Inject
      @Property
      private Block _zone2Block;

      Object onActionFromShowZone2Block2()
      {
      return _zone2Block2;
      }

      Object onActionFromRefreshTestZone()
      {
      return _testBlock;
      }

      ------

      I can click the 'show zone2Block2' as many times as I want (at first), but after clicking 'refresh testZone' (which will refresh the testZone properly) if I try clicking either of the actionlinks I get a ComponentEventException that is expecting a regular action request return type instead of an Ajax one::

      org.apache.tapestry.runtime.ComponentEventException
      A component event handler method returned the value org.apache.tapestry.internal.structure.BlockImpl@38c8c5. Return type org.apache.tapestry.internal.structure.BlockImpl can not be handled. Configured return types are java.lang.Class, java.lang.String, java.net.URL, org.apache.tapestry.Link, org.apache.tapestry.StreamResponse, org.apache.tapestry.runtime.Component.

      Stack trace:

      Stack trace

      • org.apache.tapestry.internal.services.ObjectComponentEventResultProcessor.processResultValue(ObjectComponentEventResultProcessor.java:39)
      • org.apache.tapestry.internal.services.ComponentResultProcessorWrapper.handleResult(ComponentResultProcessorWrapper.java:42)
      • org.apache.tapestry.internal.structure.ComponentPageElementImpl$15.handleResult(ComponentPageElementImpl.java:980)
      • org.apache.tapestry.internal.services.EventImpl.storeResult(EventImpl.java:56)
      • net.rim.appdir.pages.test.TestIndex.dispatchComponentEvent(TestIndex.java)
      • org.apache.tapestry.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:843)
      • org.apache.tapestry.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1004)
      • org.apache.tapestry.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:67)
      • org.apache.tapestry.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42)
      • org.apache.tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
      • org.apache.tapestry.services.TapestryModule$40.handle(TapestryModule.java:2121)
      • org.apache.tapestry.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:135)
      • org.apache.tapestry.services.TapestryModule$13.service(TapestryModule.java:955)
        from buildTimingFilter in AppModule:: return handler.service(request, response);

        Issue Links

          Activity

          Peter Beshai created issue -
          Alex.Hon made changes -
          Field Original Value New Value
          Link This issue blocks TAPESTRY-2341 [ TAPESTRY-2341 ]
          Howard M. Lewis Ship made changes -
          Affects Version/s 5.0.12 [ 12313048 ]
          Project Tapestry [ 10573 ] Tapestry 5 [ 12310833 ]
          Component/s Core Components [ 12311677 ]
          Key TAPESTRY-2326 TAP5-22
          Howard M. Lewis Ship made changes -
          Affects Version/s 5.0.15 [ 12313429 ]
          Howard M. Lewis Ship made changes -
          Assignee Howard M. Lewis Ship [ hlship ]
          Howard M. Lewis Ship made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Howard M. Lewis Ship made changes -
          Summary Nested Zone ComponentEventException bug Better client side reporting of problems with Zones and triggers is needed
          Howard M. Lewis Ship made changes -
          Fix Version/s 5.0.16 [ 12313427 ]
          Resolution Fixed [ 1 ]
          Status In Progress [ 3 ] Closed [ 6 ]

            People

            • Assignee:
              Howard M. Lewis Ship
              Reporter:
              Peter Beshai
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development