same result :
private void addViewerAjaxrefreshRateForm() {
refreshRateModel = new Model<Integer>();
refreshRateModel.setObject(coreDaoService
.getWallboardRefreshTimeInSeconds());
Form<Void> viewerAjaxrefreshRateForm = new Form<Void>(
"viewerAjaxrefreshRateForm") {
@Override
protected void onSubmit() {
Integer newRefreshRate = refreshRateModel.getObject();
coreDaoService
.saveWallboardRefreshTimeInSeconds(newRefreshRate);
info("Stored new refresh rate");
}
};
TextField<Integer> refreshRateTextField = new TextField<Integer>(
"refreshRate", refreshRateModel);
RangeValidator<Integer> rangeValidator = new RangeValidator<Integer>(1,
1800);
refreshRateTextField.add(rangeValidator);
viewerAjaxrefreshRateForm.add(refreshRateTextField);
add(viewerAjaxrefreshRateForm);
}
full stack:
Root cause:
java.lang.ClassCastException: java.lang.Integer cannot be cast to
java.lang.String
at java.lang.String.compareTo(String.java:92)
at
org.apache.wicket.validation.validator.RangeValidator.validate(RangeValidator.java:76)
at
org.apache.wicket.markup.html.form.FormComponent.validateValidators(FormComponent.java:1445)
at
org.apache.wicket.markup.html.form.FormComponent.validate(FormComponent.java:1042)
at org.apache.wicket.markup.html.form.Form$17.validate(Form.java:1833)
at
org.apache.wicket.markup.html.form.Form$ValidationVisitor.component(Form.java:164)
at
org.apache.wicket.markup.html.form.Form$ValidationVisitor.component(Form.java:148)
at
org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:278)
at
org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:267)
at org.apache.wicket.util.visit.Visits.visitPostOrder(Visits.java:249)
at
org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrder(FormComponent.java:338)
at
org.apache.wicket.markup.html.form.Form.visitFormComponentsPostOrder(Form.java:1041)
at
org.apache.wicket.markup.html.form.Form.validateComponents(Form.java:1825)
at org.apache.wicket.markup.html.form.Form.validate(Form.java:1805)
at org.apache.wicket.markup.html.form.Form.process(Form.java:863)
at org.apache.wicket.markup.html.form.Form.process(Form.java:821)
at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:786)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:211)
at
org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:192)
at
org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:173)
at
org.apache.wicket.request.RequestHandlerStack.executeRequestHandler(RequestHandlerStack.java:84)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:206)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:248)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:131)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:184)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at
com.wideplay.warp.persist.PersistenceFilter$3.run(PersistenceFilter.java:141)
at
com.wideplay.warp.persist.internal.Lifecycles.failEarlyAndLeaveNoOneBehind(Lifecycles.java:29)
at
com.wideplay.warp.persist.PersistenceFilter.doFilter(PersistenceFilter.java:155)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:440)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Complete stack:
org.apache.wicket.WicketRuntimeException: Exception
'java.lang.ClassCastException: java.lang.Integer cannot be cast to
java.lang.String' occurred during validation
org.apache.wicket.validation.validator.RangeValidator on component
3:viewerAjaxrefreshRateForm:refreshRate
at
org.apache.wicket.markup.html.form.FormComponent.validateValidators(FormComponent.java:1455)
at
org.apache.wicket.markup.html.form.FormComponent.validate(FormComponent.java:1042)
at org.apache.wicket.markup.html.form.Form$17.validate(Form.java:1833)
at
org.apache.wicket.markup.html.form.Form$ValidationVisitor.component(Form.java:164)
at
org.apache.wicket.markup.html.form.Form$ValidationVisitor.component(Form.java:148)
at
org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:278)
at
org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:267)
at org.apache.wicket.util.visit.Visits.visitPostOrder(Visits.java:249)
at
org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrder(FormComponent.java:338)
at
org.apache.wicket.markup.html.form.Form.visitFormComponentsPostOrder(Form.java:1041)
at
org.apache.wicket.markup.html.form.Form.validateComponents(Form.java:1825)
at org.apache.wicket.markup.html.form.Form.validate(Form.java:1805)
at org.apache.wicket.markup.html.form.Form.process(Form.java:863)
at org.apache.wicket.markup.html.form.Form.process(Form.java:821)
at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:786)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:211)
at
org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:192)
at
org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:173)
at
org.apache.wicket.request.RequestHandlerStack.executeRequestHandler(RequestHandlerStack.java:84)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:206)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:248)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:131)