Hello,
I have a
org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable
with a
org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider.
The dataprovider gets data from a database-table.
We add an AjaxNavigationToolbar to the datatable.
Everything works fine, most of the time, BUT there is one case where a
problem arises:
We have set rowsPerPage to 20, and we have 21 rows in the
database-table. If we show the initial datatable, delete one row from
the database, and then try to go to the next page (which now doesn't
exist, since we have 20 rows per page and 20 rows), we get an exception
(instead of what I would assume: stay on the 1st page and remove the
navigation-buttons):
12:26:02,310 WARN [org.apache.wicket.RequestListenerInterface]
(http--0.0.0.0-8203-2) behavior not enabled; ignore call. Behavior
org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigationIncrementLink$1@609bfc99
at component [AjaxPagingNavigationIncrementLink [Component id = next]]
12:26:02,312 WARN [RequestCycleExtra] (http--0.0.0.0-8203-2)
********************************
12:26:02,313 WARN [RequestCycleExtra] (http--0.0.0.0-8203-2) Handling
the following exception:
org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedException:
Behavior rejected interface invocation. Component:
[AjaxPagingNavigationIncrementLink [Component id = next]] Behavior:
org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigationIncrementLink$1@609bfc99
Listener: [RequestListenerInterface name=IBehaviorListener,
method=public abstract void
org.apache.wicket.behavior.IBehaviorListener.onRequest()]
at
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:237)
[wicket-core-6.9.0.jar:6.9.0]
at
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:247)
[wicket-core-6.9.0.jar:6.9.0]
at
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:226)
[wicket-core-6.9.0.jar:6.9.0]
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:861)
[wicket-core-6.9.0.jar:6.9.0]
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
[wicket-request-6.9.0.jar:6.9.0]
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
[wicket-core-6.9.0.jar:6.9.0]
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
[wicket-core-6.9.0.jar:6.9.0]
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
[wicket-core-6.9.0.jar:6.9.0]
at
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
[wicket-core-6.9.0.jar:6.9.0]
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
[wicket-core-6.9.0.jar:6.9.0]
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
[wicket-core-6.9.0.jar:6.9.0]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
[jbossweb-7.0.13.Final.jar:]
at
org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
[jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]
at
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
[jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
[jbossweb-7.0.13.Final.jar:]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_51]
Have I done something wrong, or is this expected behavior?
We mostly ignore this, since it's very rare for it to happen, but if
possible we would like to avoid it happening at all....
kind regards,
Oddgeir Bell