problems with ExtendedDataModel
wgworek Jul 31, 2008 1:27 PMHi!
In my rich:dataTable I'm using my own implementation of ExtendedDataModel for proper pagination. On client side everything is OK but during tests some methods are called that are not called when testing with normal browser.
@Override public int getRowIndex() { throw new UnsupportedOperationException(); } @Override public void setRowIndex(int rowIndex) { throw new UnsupportedOperationException(); } @Override public Object getWrappedData() { throw new UnsupportedOperationException(); } @Override public void setWrappedData(Object data) { throw new UnsupportedOperationException(); } @Override public Object getRowKey() { throw new UnsupportedOperationException(); }
When using ExtendedDataModel these methods are never called (rich:dataTable is aware of this class). Somehow with JSFUnit getRowKey() and setRowKey() are invoked. When I comment out the
throw new ...all tests passes. It's quite strange behaviour.
Does anybody had this problem before?
Stack trace below:
java.lang.UnsupportedOperationException at ui.core.base.BaseExtendedDataModel.setRowIndex(BaseExtendedDataModel.java:140) at org.richfaces.model.ModifiableModel.setRowIndex(ModifiableModel.java:95) at org.ajax4jsf.component.UIDataAdaptor.setRowIndex(UIDataAdaptor.java:290) at org.jboss.jsfunit.jsfsession.ClientIDs.addUIData(ClientIDs.java:120) at org.jboss.jsfunit.jsfsession.ClientIDs.addAllIDs(ClientIDs.java:75) at org.jboss.jsfunit.jsfsession.ClientIDs.addAllIDs(ClientIDs.java:83) at org.jboss.jsfunit.jsfsession.ClientIDs.addAllIDs(ClientIDs.java:83) at org.jboss.jsfunit.jsfsession.ClientIDs.addAllIDs(ClientIDs.java:83) at org.jboss.jsfunit.jsfsession.ClientIDs.<init>(ClientIDs.java:62) at org.jboss.jsfunit.jsfsession.JSFServerSession.pageCreated(JSFServerSession.java:181) at org.jboss.jsfunit.jsfsession.JSFServerSession.<init>(JSFServerSession.java:54) at org.jboss.jsfunit.jsfsession.JSFSession.<init>(JSFSession.java:83) at dvs3.ui.test.util.DVSWebUITestCase.goTo(DVSWebUITestCase.java:60) at dvs3.ui.test.util.DVSWebUITestCase.goTo(DVSWebUITestCase.java:45) at dvs3.ui.test.user.UserListTest.testProperPageRendered(UserListTest.java:53) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at org.apache.cactus.internal.AbstractCactusTestCase.runBareServer(AbstractCactusTestCase.java:153) at org.apache.cactus.internal.server.AbstractWebTestCaller.doTest(AbstractWebTestCaller.java:119) at org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody0(AbstractWebTestController.java:93) at org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody1$advice(AbstractWebTestController.java:224) at org.apache.cactus.internal.server.AbstractWebTestController.handleRequest(AbstractWebTestController.java) at org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody2(ServletTestRedirector.java:101) at org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody3$advice(ServletTestRedirector.java:224) at org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedirector.java) at org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody0(ServletTestRedirector.java:72) at org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody1$advice(ServletTestRedirector.java:224) at org.apache.cactus.server.ServletTestRedirector.doGet(ServletTestRedirector.java) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.jsfunit.framework.JSFUnitFilter.doFilter(JSFUnitFilter.java:122) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595)