Wicket
  1. Wicket
  2. WICKET-5309

No page id appended to some stateful pages using repeaters

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 6.9.1
    • Fix Version/s: 6.10.0, 7.0.0-M1
    • Component/s: None
    • Labels:

      Description

      My test case is a page containing a ListView with a single stateful child. In that case, there is no redirect done to append a pageId to the url because the page's statefulness check is erroneous.

      Analysis:
      This calls page.isPageStateless() to dertermine whether a pageId should be added

      BookmarkableMapper(AbstractBookmarkableMapper).getPageInfo(IPageRequestHandler) line: 440
      BookmarkableMapper(AbstractBookmarkableMapper).mapHandler(IRequestHandler) line: 387
      SystemMapper(CompoundRequestMapper).mapHandler(IRequestHandler) line: 215
      RequestCycle.mapUrlFor(IRequestHandler) line: 429
      WebPageRenderer.respond(RequestCycle) line: 268
      RenderPageRequestHandler.respond(IRequestCycle) line: 165
      RequestCycle$HandlerExecutor.respond(IRequestHandler) line: 861
      RequestCycle$HandlerExecutor(RequestHandlerStack).execute(IRequestHandler) line: 64
      RequestCycle.execute(IRequestHandler) line: 261

      The problem I see is that AbstractRepeater's onPopulate() is called during onBeforeRender() and this is not done when the stateless status of the page is first checked. Therefore, no pageId is added unless other components not located inside repeaters are also stateful.

      See thread http://wicket-users.markmail.org/thread/6q2dmns7lqjgkok7

      I will add a quickstart.

      1. WICKET-5309.zip
        27 kB
        Bertrand Guay-Paquet

        Issue Links

          Activity

          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Resolved Resolved
          14h 6m 1 Sven Meier 08/Aug/13 11:37
          Sven Meier made changes -
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 7.0.0 [ 12322958 ]
          Fix Version/s 6.10.0 [ 12324643 ]
          Hide
          Sven Meier added a comment -

          The page url is now checked again after rendering (as before WICKET-4995). Note that the fix for WICKET-4995 is still in place, i.e. the page is acquired first to prevent a stateful page to be rendered twice.

          Show
          Sven Meier added a comment - The page url is now checked again after rendering (as before WICKET-4995 ). Note that the fix for WICKET-4995 is still in place, i.e. the page is acquired first to prevent a stateful page to be rendered twice.
          Hide
          Sven Meier added a comment -

          page url can change after render

          Show
          Sven Meier added a comment - page url can change after render
          Sven Meier made changes -
          Link This issue is broken by WICKET-4995 [ WICKET-4995 ]
          Sven Meier made changes -
          Assignee Sven Meier [ svenmeier ]
          Bertrand Guay-Paquet made changes -
          Field Original Value New Value
          Attachment WICKET-5309.zip [ 12596702 ]
          Hide
          Bertrand Guay-Paquet added a comment -

          Quickstart

          Show
          Bertrand Guay-Paquet added a comment - Quickstart
          Hide
          Bertrand Guay-Paquet added a comment - - edited

          According to Sven Meier, probably caused by WICKET-4995

          Show
          Bertrand Guay-Paquet added a comment - - edited According to Sven Meier, probably caused by WICKET-4995
          Bertrand Guay-Paquet created issue -

            People

            • Assignee:
              Sven Meier
              Reporter:
              Bertrand Guay-Paquet
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development