Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-3741

Don't throw MarkupNotFoundException when the markup is acceptable to not be available yet

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.5-RC4
    • 1.5-RC5
    • wicket
    • None

    Description

      Some areas in Wicket code do expensive creation of WicketRuntimeException and then just ignores it.

      The most common case is :

      at java.lang.Throwable.fillInStackTrace(Native Method)
      at java.lang.Throwable.<init>(Throwable.java:218)
      at java.lang.Exception.<init>(Exception.java:59)
      at java.lang.RuntimeException.<init>(RuntimeException.java:61)
      at org.apache.wicket.WicketRuntimeException.<init>(WicketRuntimeException.java:49)
      at org.apache.wicket.MarkupContainer.getMarkupType(MarkupContainer.java:476)
      at org.apache.wicket.markup.DefaultMarkupCacheKeyProvider.getCacheKey(DefaultMarkupCacheKeyProvider.java:85)
      at org.apache.wicket.markup.MarkupCache.getMarkup(MarkupCache.java:274)
      at org.apache.wicket.markup.MarkupFactory.getMarkup(MarkupFactory.java:218)
      at org.apache.wicket.markup.MarkupFactory.getMarkup(MarkupFactory.java:192)
      at org.apache.wicket.MarkupContainer.getAssociatedMarkup(MarkupContainer.java:410)
      at org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy.getMarkup(PanelMarkupSourcingStrategy.java:70)
      at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:456)
      at org.apache.wicket.Component.getMarkup(Component.java:734)
      at org.apache.wicket.MarkupContainer.add(MarkupContainer.java:173)
      ...

      and is ignored in MarkupContainer#add().
      Such an exception is created for every component which is added in the constructor of another component (in contrast to onInitialize() where the markup will be available).

      Attachments

        1. 3741-panel-not-registered.log
          9 kB
          Martin Tzvetanov Grigorov
        2. wicket-3741.patch
          89 kB
          Juegen Donnerstag
        3. WICKET-3741.patch
          41 kB
          Martin Tzvetanov Grigorov
        4. WICKET-3741.patch
          33 kB
          Martin Tzvetanov Grigorov
        5. wicket-3741-2.patch
          3 kB
          Juegen Donnerstag

        Activity

          People

            jdonnerstag Juegen Donnerstag
            mgrigorov Martin Tzvetanov Grigorov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: