[ 
https://issues.apache.org/jira/browse/WICKET-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12620627#action_12620627
 ] 

Martijn Dashorst commented on WICKET-1780:
------------------------------------------

this happened when I added the message of an exception that occurred to the 
feedback queue using error(e.getMessage()); the a NPE has a null-message, so 
this instructed Wicket to create a FeedbackMessage(..., null, ...). Later on 
this causes a NPE in the feedback panel.

Though I think that empty messages are useless to users, the framework should 
not crash upon them. If we don't accept null messages, we should throw an 
IllegalArgumentException from the FeedbackMessage constructor, which allows the 
developer to pinpoint where he went wrong, instead of having to step through 
all code.

Any objections to throwing an IllegalArgumentException from the FeedbackMessage 
constructor?

> NPE in feedback panel
> ---------------------
>
>                 Key: WICKET-1780
>                 URL: https://issues.apache.org/jira/browse/WICKET-1780
>             Project: Wicket
>          Issue Type: Bug
>    Affects Versions: 1.3.4
>            Reporter: Martijn Dashorst
>            Assignee: Martijn Dashorst
>             Fix For: 1.3.5, 1.4-M4
>
>
> WicketMessage: Error attaching this container for rendering: [MarkupContainer 
> [Component id = feedbackul, page = 
> nl.topicus.tripleapoc.web.pages.deelnemer.intake.IntakeStap1Personalia, path 
> = 11:layLeft:feedback:feedbackul.FeedbackPanel$2, isVisible = true, 
> isVersioned = false]]
> Root cause:
> java.lang.NullPointerException
>      at 
> org.apache.wicket.markup.html.panel.FeedbackPanel.newMessageDisplayComponent(FeedbackPanel.java:324)
>      at 
> org.apache.wicket.markup.html.panel.FeedbackPanel$MessageListView.populateItem(FeedbackPanel.java:88)
>      at 
> org.apache.wicket.markup.html.list.ListView.onPopulate(ListView.java:573)
>      at 
> org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:127)
>      at org.apache.wicket.Component.internalBeforeRender(Component.java:1003)
>      at org.apache.wicket.Component.beforeRender(Component.java:1035)
>      at 
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1589)
>      at org.apache.wicket.Component.onBeforeRender(Component.java:3684)
>      at org.apache.wicket.Component.internalBeforeRender(Component.java:1003)
>      at org.apache.wicket.Component.beforeRender(Component.java:1035)
>      at 
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1589)
>      at org.apache.wicket.Component.onBeforeRender(Component.java:3684)
>      at org.apache.wicket.Component.internalBeforeRender(Component.java:1003)
>      at org.apache.wicket.Component.prepareForRender(Component.java:2168)
>      at 
> org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:747)
>      at 
> org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:649)
>      at 
> org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:564)
>      at 
> org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104)
>      at 
> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1177)
>      at org.apache.wicket.RequestCycle.step(RequestCycle.java:1248)
>      at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1349)
>      at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
>      at 
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:387)
>      at 
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:199)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to