Nested ListView in wicket throwing IndexOutOfBoundsException -
i have nested listview in wicket reason throwing indexoutofboundsexception. here relevant markup:
<table> <tr wicket:id="datarow"> <td wicket:id="datacell"><span wicket:id="datacontent"></span></td> </tr> <table>
and relevant code:
listview<user> datarow = new listview<user>("datarow", new abstractreadonlymodel<list<user>>() { private static final long serialversionuid = 1l; @override public list<user> getobject() { ... return getusers(itemoffset, c, filter, sc, isdescending ); // returns list<user> of row objects } }) { private static final long serialversionuid = 1l; @override protected void populateitem(listitem<user> item) { // list of <td>s listview<string> datacell = new listview<string>("datacell",new abstractreadonlymodel<list<string>>() { private static final long serialversionuid = 1l; @override public list<string> getobject() { return getcolumnvalues(item.getmodelobject()); // gets list of strings display user object } }) { private static final long serialversionuid = 1l; @override protected void populateitem(listitem<string> stringitem) { label datacontent = new label("datacontent", stringitem.getmodel()); datacontent.setrenderbodyonly(true); stringitem.add(datacontent); } }; datacell.setreuseitems(true); item.add(datacell); } }; datarow.setreuseitems(true); add(datarow);
no ajax refresh or has been done (yet), exception @ first rendering already:
unexpected runtimeexception last cause: index: 10, size: 10 wicketmessage: exception in rendering component: [component id = datacontent] stacktrace root cause: java.lang.indexoutofboundsexception: index: 10, size: 10 @ java.util.arraylist.rangecheck(arraylist.java:653) @ java.util.arraylist.get(arraylist.java:429) @ org.apache.wicket.markup.html.list.listitemmodel.getobject(listitemmodel.java:59) @ org.apache.wicket.component.getdefaultmodelobject(component.java:1605) @ org.apache.wicket.markup.html.list.listitem.getmodelobject(listitem.java:92) @ myadmin.web.panels.tableviewpanel$3$1.getobject(tableviewpanel.java:156) @ myadmin.web.panels.tableviewpanel$3$1.getobject(tableviewpanel.java:1) @ org.apache.wicket.component.getdefaultmodelobject(component.java:1605) @ org.apache.wicket.markup.html.list.listview.getmodelobject(listview.java:643) @ org.apache.wicket.markup.html.list.listitemmodel.getobject(listitemmodel.java:59) @ org.apache.wicket.component.getdefaultmodelobject(component.java:1605) @ org.apache.wicket.component.getdefaultmodelobjectasstring(component.java:1633) @ org.apache.wicket.markup.html.basic.label.oncomponenttagbody(label.java:131) @ org.apache.wicket.markup.html.panel.defaultmarkupsourcingstrategy.oncomponenttagbody(defaultmarkupsourcingstrategy.java:71) @ org.apache.wicket.component.internalrendercomponent(component.java:2529) @ org.apache.wicket.markup.html.webcomponent.onrender(webcomponent.java:56) @ org.apache.wicket.component.internalrender(component.java:2359) @ org.apache.wicket.component.render(component.java:2287) @ org.apache.wicket.markupcontainer.rendernext(markupcontainer.java:1392) @ org.apache.wicket.markupcontainer.renderall(markupcontainer.java:1557) @ org.apache.wicket.markupcontainer.rendercomponenttagbody(markupcontainer.java:1532) @ org.apache.wicket.markupcontainer.oncomponenttagbody(markupcontainer.java:1487) @ org.apache.wicket.markup.html.panel.defaultmarkupsourcingstrategy.oncomponenttagbody(defaultmarkupsourcingstrategy.java:71) @ org.apache.wicket.component.internalrendercomponent(component.java:2529) @ org.apache.wicket.markupcontainer.onrender(markupcontainer.java:1496) @ org.apache.wicket.component.internalrender(component.java:2359) @ org.apache.wicket.component.render(component.java:2287) @ org.apache.wicket.markup.html.list.listview.renderitem(listview.java:584) @ org.apache.wicket.markup.html.list.listview.renderchild(listview.java:573) @ org.apache.wicket.markup.repeater.abstractrepeater.onrender(abstractrepeater.java:101) @ org.apache.wicket.component.internalrender(component.java:2359) @ org.apache.wicket.component.render(component.java:2287) @ org.apache.wicket.markupcontainer.rendernext(markupcontainer.java:1392) @ org.apache.wicket.markupcontainer.renderall(markupcontainer.java:1557) @ org.apache.wicket.markupcontainer.rendercomponenttagbody(markupcontainer.java:1532) @ org.apache.wicket.markupcontainer.oncomponenttagbody(markupcontainer.java:1487) @ org.apache.wicket.markup.html.panel.defaultmarkupsourcingstrategy.oncomponenttagbody(defaultmarkupsourcingstrategy.java:71) @ org.apache.wicket.component.internalrendercomponent(component.java:2529) @ org.apache.wicket.markupcontainer.onrender(markupcontainer.java:1496) @ org.apache.wicket.component.internalrender(component.java:2359)
...
i don't see i'm doing wrong. appreciated.
Comments
Post a Comment