You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2011/06/01 15:33:47 UTC
[jira] [Commented] (WICKET-3741) Don't throw
MarkupNotFoundException when the markup is acceptable to not be available
yet
[ https://issues.apache.org/jira/browse/WICKET-3741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13042165#comment-13042165 ]
Martin Grigorov commented on WICKET-3741:
-----------------------------------------
The other change is that now MarkupContainer#getMarkupType() returns null when the type is still unknown, as its javadoc says. This was the main reason for most of the MarkupNotFoundExceptions. Because of this change I needed to change some code related to MarkupCache's cacheKey and DefaultMarkupResourceStreamProvider.
Another thing that confused me for a while is Markup#toString() which prints both the resourceStream and the markupElements and thus the same markup is printed twice.
And the last thing is Markup#NO_MARKUP - once it is used, other times 'null' is used. Maybe we should introduce Optional<T> from Igor's patch for AjaxFallbackXYZ components.
> Don't throw MarkupNotFoundException when the markup is acceptable to not be available yet
> -----------------------------------------------------------------------------------------
>
> 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
> Assignee: Martin Grigorov
> Attachments: 3741-panel-not-registered.log, WICKET-3741.patch, WICKET-3741.patch
>
>
> 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