Hi,

I've been working on getting the full suite of Tomahawk examples
working on the 2.0 branch.  Most of the examples are working, and one
that's currently failing is "Data Scroller" (dataScroller.jsp).  It
looks like the dataScroller bean
(org.apache.myfaces.examples.listexample.DataScrollerList) specifies a
Long value for its "rowCount" property:

public Long getRowCount() {
        return rowCount;
}

... and this is used to initialize the <h:dataTable> in dataScroller.jsp:

rows="#{scrollerList.rowCount}"

... which in turn blows up UIData.getRows() since it's attempting to
cast a Long to an Integer:

public int getRows()
{
        return (Integer) getStateHelper().eval(PropertyKeys.rows,0);
}

I tried this example using MyFaces 1.2.6 and I get the same
ClassCastException.  So as far as I can tell, this _never_ worked.  I
would think the solution is to change DataScrollerList, but apparently
the code has been there for over two years.  How was this supposed to
work in the first place? :)

So, how should this be approached?  Fix DataScrollerList or change
UIData.getRows() to be more tolerant (i.e., cast the result to Number
and call .intValue())?

Thanks,


Curtiss Howard

Reply via email to