Tero Tarkkala created WICKET-6045: ------------------------------------- Summary: ListView gets wrong viewsize when changing from arbitrary list with size > 0 to null list 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 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)