NullPointerException on column resize (Extenddatatable)
kalomo Oct 7, 2009 6:30 AMHi,
sometimes i am getting an NullPointerException after resizing the column of an extenddatatable. But it is not reproducible. Sometimes it works, but sometimes it fails.
Does anyone have an idea?
The problem seems to be in the changeColumnSize method in the ExtendDataTableState class.
String[] newWidths = newValue.split(";"); int index = 0; for (Iterator<UIColumn> iter = extendedDataTable.getSortedColumns(); iter.hasNext();) { UIComponent col = (UIComponent) iter.next(); if (col.isRendered()){ String colId = col.getId(); value.put(colId, newWidths[index++]); }//if }//fo
the newWidths array seems to be out of bounds..!!
java.lang.ArrayIndexOutOfBoundsException: 2 org.richfaces.component.ColumnsSizeState.changeColumnSize(ExtendedDataTableState.java:337) org.richfaces.component.ExtendedDataTableState.changeColumnSize(ExtendedDataTableState.java:173) org.richfaces.component.UIExtendedDataTable.processColumnResize(UIExtendedDataTable.java:186) org.richfaces.component.UIExtendedDataTable.broadcast(UIExtendedDataTable.java:101) org.ajax4jsf.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:1364) org.ajax4jsf.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:1364) org.ajax4jsf.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:1364) org.ajax4jsf.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:1364) org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321) org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296) org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253) org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:409) com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:101) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368) org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)