[ 
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

Reply via email to