[
https://issues.apache.org/jira/browse/WICKET-928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martijn Dashorst updated WICKET-928:
------------------------------------
Fix Version/s: (was: 1.3.4)
1.3.5
> Exception when clicking two times rapidly on the "next" button in a wizard
> --------------------------------------------------------------------------
>
> Key: WICKET-928
> URL: https://issues.apache.org/jira/browse/WICKET-928
> Project: Wicket
> Issue Type: Bug
> Components: wicket-extensions
> Affects Versions: 1.3.0-beta2, 1.3.0-beta3
> Reporter: Joël Vimenet
> Assignee: Eelco Hillenius
> Fix For: 1.3.5
>
> Attachments: Apache.tar.gz
>
>
> On a tree steps wizard, the first step contains two fields without any
> validation. The second one contains only one field that must be an integer.
> The last step will display the data entered in the two first steps.
> When I am on the first step, and I click two times rapidly on the "next"
> button, it throws an exception.
> Here is the stack trace :
> ----------------------------------------------------------------------------------
> WicketMessage: Method onFormSubmitted of interface
> org.apache.wicket.markup.html.form.IFormSubmitListener targeted at component
> [MarkupContainer [Component id = form, page = test.www.factory.TestPage, path
> = 0:wizard:form.Form, isVisible = true, isVersioned = false]] threw an
> exception
> Root cause:
> java.lang.NullPointerException
> at
> org.apache.wicket.util.convert.converters.AbstractConverter.parse(AbstractConverter.java:50)
> at
> org.apache.wicket.util.convert.converters.AbstractNumberConverter.parse(AbstractNumberConverter.java:71)
> at
> org.apache.wicket.util.convert.converters.IntegerConverter.convertToObject(IntegerConverter.java:44)
> at
> org.apache.wicket.markup.html.form.FormComponent.convertInput(FormComponent.java:1159)
> at
> org.apache.wicket.markup.html.form.FormComponent.validate(FormComponent.java:1027)
> at org.apache.wicket.markup.html.form.Form$15.validate(Form.java:1671)
> at
> org.apache.wicket.markup.html.form.Form$ValidationVisitor.formComponent(Form.java:160)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:403)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:390)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:390)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrderHelper(FormComponent.java:390)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrder(FormComponent.java:368)
> at
> org.apache.wicket.markup.html.form.Form.visitFormComponentsPostOrder(Form.java:1004)
> at org.apache.wicket.markup.html.form.Form.validateComponents(Form.java:1667)
> at org.apache.wicket.markup.html.form.Form.validate(Form.java:1658)
> at org.apache.wicket.markup.html.form.Form.process(Form.java:811)
> at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:783)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:186)
> at
> org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
> at
> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:90)
> at
> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1032)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1108)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1177)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:500)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:261)
> at
> org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:144)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:595)
> Complete stack:
> org.apache.wicket.WicketRuntimeException: Method onFormSubmitted of interface
> org.apache.wicket.markup.html.form.IFormSubmitListener targeted at component
> [MarkupContainer [Component id = form, page = test.www.factory.TestPage, path
> = 0:wizard:form.Form, isVisible = true, isVersioned = false]] threw an
> exception
> at
> org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:197)
> at
> org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
> at
> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:90)
> at
> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1032)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1108)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1177)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:500)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:261)
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:186)
> at
> org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
> at
> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:90)
> at
> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1032)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1108)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1177)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:500)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:261)
> ----------------------------------------------------------------------------------
> The first click on "next" seems to make the wizard go into the second step
> but the second click sends a request from the first step, which is not
> correct with the actual state of the wizard...
> Am I clear?
> Please find enclosed a sample of code to reproduce the bug.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.