[
https://issues.apache.org/jira/browse/WICKET-6045?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sven Meier updated WICKET-6045:
-------------------------------
Summary: ListView NullPointerException when viewSize is set explicitly
(was: ListView gets wrong viewsize when changing from arbitrary list with size
> 0 to null list)
> ListView NullPointerException when viewSize is set explicitly
> -------------------------------------------------------------
>
> Key: WICKET-6045
> URL: https://issues.apache.org/jira/browse/WICKET-6045
> Project: Wicket
> Issue Type: Bug
> Affects Versions: 7.1.0
> Reporter: Tero Tarkkala
> Assignee: Sven Meier
> Priority: Minor
>
> ListView tries to render the null list because of the beginning of method
> ListView.getViewSize():
> public int getViewSize()
> {
> int size = viewSize;
> final Object modelObject = getDefaultModelObject();
> if (modelObject == null)
> {
> return size == Integer.MAX_VALUE ? 0 : size;
> }
> ....
> Let say I had 10 items in the list before a refresh to this listview. When
> refreshing, my getter returned null because it didn't find anything
> -> modelObject is null and size != Integer.MAX_VALUE
> -> previous viewSize is returned.
> -> populateItem throws npe if it tries for example getDefaultModelObject()
> like this:
> java.lang.NullPointerException
> at
> org.apache.wicket.markup.html.list.ListItemModel.getObject(ListItemModel.java:61)
> at org.apache.wicket.Component.getDefaultModelObject(Component.java:1626)
> at
> syncrontech.common.gate.list.GateEditableListPanel$2.populateItem(GateEditableListPanel.java:264)
> at
> org.apache.wicket.markup.html.list.ListView.onPopulate(ListView.java:523)
> The behaviour is also inconsistent: Constructing the listview with null list
> is ok, because that same point in code would return the 0.
> This should probably always return 0 if the modelObject is null? Or am I
> missing something?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)