Can you try with Form<Void> instead of Form<String>
On Tue, Dec 14, 2010 at 4:12 PM, nino martinez wael <
[email protected]> wrote:
> refreshRateModel = new Model<Integer>();
>
> refreshRateModel.setObject(coreDaoService
> .getWallboardRefreshTimeInSeconds());
>
> Form<String> viewerAjaxrefreshRateForm = new Form<String>(
> "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);
>
> when I enter a value I get this exception:
>
> WicketMessage: 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 5:viewerAjaxrefreshRateForm:refreshRate
>
> Stacktrace
>
> 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.h
>