sompage?67-1.-border-content-border_body-form is the path to your model François
> Le 30 mai 2020 à 16:35, smallufo <small...@gmail.com> a écrit : > > well , in fact , there is no such information : > All information are from wicket , no single line point to my package... > > FYI : > (wicket-8.6.0) > > 2020-05-30 21:35:14.117 [http-nio-8080-exec-6] ERROR > d.w.ExceptionPage.<init> - exception = Override this method to support > setObject(Object) , url = > http://localhost:8080/app/sompage?67-1.-border-content-border_body-form > <http://localhost:8080/app/sompage?67-1.-border-content-border_body-form> . > agent = Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 > (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36 . referrer = > http://localhost:8080/app/somepage <http://localhost:8080/app/somepage> . ip > = 0:0:0:0:0:0:0:1 > > java.lang.UnsupportedOperationException: Override this method to support > setObject(Object) > > at org.apache.wicket.model.IModel.setObject(IModel.java:84) > > at > org.apache.wicket.Component.setDefaultModelObject(Component.java:3012) > > at > org.apache.wicket.IGenericComponent.setModelObject(IGenericComponent.java:81) > > at > org.apache.wicket.markup.html.form.FormComponent.updateModel(FormComponent.java:1100) > > at > org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:223) > > at > org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:193) > > at > org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:274) > > at > org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:262) > > at > org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:262) > > at > org.apache.wicket.util.visit.Visits.visitPostOrder(Visits.java:245) > > at > org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrder(FormComponent.java:426) > > at > org.apache.wicket.markup.html.form.Form.internalUpdateFormComponentModels(Form.java:1873) > > at > org.apache.wicket.markup.html.form.Form.updateFormComponentModels(Form.java:1838) > > at org.apache.wicket.markup.html.form.Form.process(Form.java:990) > > at > org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:825) > > at org.apache.wicket.markup.html.form.Form.onRequest(Form.java:726) > > at > org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306) > > at > org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:255) > > at > org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:215) > > at > org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208) > > at > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914) > > at > org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65) > > at > org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282) > > at > org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253) > > at > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221) > > at > org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275) > > at > org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206) > > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > at > org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:186) > > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > at > org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:186) > > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) > > at > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) > > at > org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:609) > > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) > > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810) > > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1506) > > at > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) > > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > > at java.base/java.lang.Thread.run(Thread.java:834) > > Francois Meillet <francois.meil...@gmail.com > <mailto:francois.meil...@gmail.com>> 於 2020年5月30日 週六 下午10:29寫道: > >> In your stacktrace, look at the line just below >> org.apache.wicket.model.IModel.setObject(IModel.java:84) >> You will find the cuprit >> >> Exception in thread "main" java.lang.UnsupportedOperationException: >> Override this method to support setObject(Object) >> at org.apache.wicket.model.IModel.setObject(IModel.java:84) >> at >> xxx.yyyy.zzz.YourClassUsingThisModel.theMethod(YourClassUsingThisModel.java:12) >> >> François >> >> >> >>> Le 30 mai 2020 à 16:13, smallufo <small...@gmail.com> a écrit : >>> >>> Yes , I know... >>> But I hope it will be more informative. >>> Because in practice , there may be lots of models , nested panels , forms >>> , even in one page... >>> Informative error message can make us quickly understand which model >> needs >>> to implement setObject. >>> (just like the un-serializable field error message) >>> >>> Thanks. >>> >>> >>> Francois Meillet <francois.meil...@gmail.com >>> <mailto:francois.meil...@gmail.com> <mailto: >> francois.meil...@gmail.com>> 於 2020年5月30日 週六 下午9:58寫道: >>> >>>> Hi, >>>> >>>> Depending on the model you use, you may need to ovveride the setObject() >>>> method. >>>> >>>> from the API docs >>>> >>>> default void setObject(T object) >>>> >>>> Throws: >>>> UnsupportedOperationException - unless overridden >>>> >>>> >>>> >>>> >> https://ci.apache.org/projects/wicket/apidocs/9.x/org/apache/wicket/model/IModel.html#setObject(T) >> >> <https://ci.apache.org/projects/wicket/apidocs/9.x/org/apache/wicket/model/IModel.html#setObject(T)> >>>> < >>>> >> https://ci.apache.org/projects/wicket/apidocs/9.x/org/apache/wicket/model/IModel.html#setObject(T) >> < >> https://ci.apache.org/projects/wicket/apidocs/9.x/org/apache/wicket/model/IModel.html#setObject(T) >>> >>>>> >>>> >>>> >>>> François >>>> >>>> >>>> >>>>> Le 30 mai 2020 à 15:46, smallufo <small...@gmail.com> a écrit : >>>>> >>>>> Hi >>>>> I am building an app with complicated forms , nested models ... >>>>> Some times it obsesses me is the UnsupportedOperationException : >>>>> >>>>> java.lang.UnsupportedOperationException: Override this method to >> support >>>>> setObject(Object) >>>>> >>>>> at org.apache.wicket.model.IModel.setObject(IModel.java:84) >>>>> It doesn't pinpoint me which model , which form , which panel... >>>>> very hard to debug... >>>>> For non-serializable exception , it can provide meaning information , >>>> even >>>>> pinpoint which field causes the problem. >>>>> I hope some day , this UnsupportedOperationException can also be so >>>>> informative. >>>>> >>>>> Thanks.