[ https://issues.apache.org/jira/browse/WICKET-3741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13039065#comment-13039065 ]
Martin Grigorov commented on WICKET-3741: ----------------------------------------- org.apache.wicket.Component.getMarkup() may throw MarkupNotFoundException (extends WicketRuntimeException) if the parent is unknown yet, but many of its callers (e.g. org.apache.wicket.MarkupContainer.add(Component...), com.unitedinternet.mam.phoenix.client.ui.page.base.CustomPageMarkupSourcingStrategy.findInTransparentContainers(MarkupContainer, String), org.apache.wicket.Page.configureResponse(), org.apache.wicket.MarkupContainer.createAndAddComponentsForWicketTags(), org.apache.wicket.markup.html.internal.HtmlHeaderContainer.getMarkup(), org.apache.wicket.markup.html.border.Border.BorderBodyContainer.getMarkup(Component), org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(MarkupContainer, Component) ) actually can deal with 'null' response in such cases. > Introduce lightweight WicketRuntimeException for the cases when it can be > ignored > --------------------------------------------------------------------------------- > > Key: WICKET-3741 > URL: https://issues.apache.org/jira/browse/WICKET-3741 > Project: Wicket > Issue Type: Improvement > Components: wicket-core > Affects Versions: 1.5-RC4 > Reporter: Martin Grigorov > > 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). -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira