RowsetでdataTable

JSFベータのとき、うまくいかなかったけど、今日試したらやっぱりうまくいかなかった( http://d.hatena.ne.jp/muimy/20040416#1082139712 はWebアプリの場合は大丈夫みたい)

SunのJSF RI1.0とrowset RIで試したところ、dataTableのvaluerowsetを渡すとエラーになる。

javax.faces.FacesException: java.sql.SQLException: Invalid cursor position
	at javax.faces.model.ResultSetDataModel.isRowAvailable(ResultSetDataModel.java:152)
	at javax.faces.model.ResultSetDataModel.setRowIndex(ResultSetDataModel.java:278)
	at javax.faces.component.UIData.setRowIndex(UIData.java:413)

原因はrowset実装のバグっぽい感じ
Rowset#absolute()メソッドでラッパをかます方法
http://forum.java.sun.com/thread.jsp?forum=427&thread=513239
でこれは対処できたが、今度は検索結果が0件のときにこんなエラー。

java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
	at java.util.Vector.get(Vector.java:709)
	at com.sun.rowset.CachedRowSetImpl.getCurrentRow(CachedRowSetImpl.java:1589)
	at com.sun.rowset.CachedRowSetImpl.rowDeleted(CachedRowSetImpl.java:3792)


absoluteで範囲外のとき例外を返さないで欲しいなり、範囲内だったらtrueを返してほしいなり。近いうちにRowsetでデモを作りたいのだが、困ったものだす。いくつかパッチがあたってるみたいだけど、、、
http://jcp.org/aboutJava/communityprocess/maintenance/jsr114/114ChangeLog.html
rowsetのソースほしい。。。