Wicket
  1. Wicket
  2. WICKET-3989

MarkupNotFoundException when refreshing a component with AJAX inside a TransparentWebMarkupContainer

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.5-RC6
    • Fix Version/s: 1.5-RC7
    • Component/s: wicket
    • Labels:
      None

      Description

      A component placed inside a TransparentWebMarkupContainer, added to its parent cannot be refreshed with AJAX. See quickstart.

      1. myproject.tar.gz
        17 kB
        Emond Papegaaij
      2. wicket-3989.diff
        2 kB
        Emond Papegaaij
      3. wicket-3989.diff
        7 kB
        Martin Grigorov

        Activity

        Hide
        Martijn Dashorst added a comment -

        Assigned to RC 7, but fix should go into 1.5-RC6

        Show
        Martijn Dashorst added a comment - Assigned to RC 7, but fix should go into 1.5-RC6
        Hide
        Martin Grigorov added a comment -

        I've heart Martijn is working on the test case too.

        Show
        Martin Grigorov added a comment - I've heart Martijn is working on the test case too.
        Hide
        Martin Grigorov added a comment -

        Update Emond's patch by extracting the common code in AbstractMarkupSourcingStrategy.

        Now it seems only FragmentMarkupSourcingStrategy (FMSS) doesn't reuse that common code for free.

        @Juergen: do you think that FMSS needs it too ?

        I'll modify the quickstart to a unit test.

        Show
        Martin Grigorov added a comment - Update Emond's patch by extracting the common code in AbstractMarkupSourcingStrategy. Now it seems only FragmentMarkupSourcingStrategy (FMSS) doesn't reuse that common code for free. @Juergen: do you think that FMSS needs it too ? I'll modify the quickstart to a unit test.
        Hide
        Martin Grigorov added a comment -

        The problem lies in org.apache.wicket.markup.MarkupFragment.find(String). It stops looking for inner IMarkupElements if the component doesn't match and is not auto-component. I'll see how to make TransparentWebMarkupContainer's tag always auto, and what would that break.

        Show
        Martin Grigorov added a comment - The problem lies in org.apache.wicket.markup.MarkupFragment.find(String). It stops looking for inner IMarkupElements if the component doesn't match and is not auto-component. I'll see how to make TransparentWebMarkupContainer's tag always auto, and what would that break.
        Hide
        Emond Papegaaij added a comment -

        A git bisect run shows that r1151831 for WICKET-3931 introduced this problem.

        Show
        Emond Papegaaij added a comment - A git bisect run shows that r1151831 for WICKET-3931 introduced this problem.
        Hide
        Emond Papegaaij added a comment -

        The quickstart does work with RC5.1, so this is a regression.

        Show
        Emond Papegaaij added a comment - The quickstart does work with RC5.1, so this is a regression.

          People

          • Assignee:
            Martijn Dashorst
            Reporter:
            Emond Papegaaij
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development