Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-6045

ListView NullPointerException when viewSize is set explicitly

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 7.1.0
    • 7.2.0, 8.0.0-M1
    • None
    • None

    Description

      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?

      Attachments

        Activity

          People

            svenmeier Sven Meier
            tta Tero Tarkkala
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: