[
https://issues.apache.org/jira/browse/WICKET-2479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12758134#action_12758134
]
Esko Suomi commented on WICKET-2479:
------------------------------------
Interesting side effect I just noticed: Clearing another datetimefield
invalidates current session.
> NPE when clearing DateTimeField
> -------------------------------
>
> Key: WICKET-2479
> URL: https://issues.apache.org/jira/browse/WICKET-2479
> Project: Wicket
> Issue Type: Bug
> Affects Versions: 1.4.1
> Reporter: Esko Suomi
> Priority: Blocker
>
> This bug is apparently caused by regression of some sort since this was fixed
> for 1.4.0 (see links below). Simply, the NPE still occurs when clearing the
> DateTimeField. In our environment we're using CompoundPropertyModel as model
> object for the related form. When I get back to work (it's saturday so that'd
> be a few days) I can paste the stacktrace but I doubt that's needed, this
> should be easy to fix based on information in the previous issues.
> Since fixing of this bug has obviously failed before, I've set the priority
> of this one to Blocker to enforce its quick resolution.
> Related issues:
> https://issues.apache.org/jira/browse/WICKET-2083
> https://issues.apache.org/jira/browse/WICKET-2237
> EDIT: Here's the stacktrace:
> WicketMessage: Error calling method: public void
> org.apache.wicket.extensions.yui.calendar.DateTimeField.setDate(java.util.Date)
> on object: [MarkupContainer [Component id = endDate]]
> Root cause:
> java.lang.NullPointerException
> at
> org.apache.wicket.extensions.yui.calendar.DateTimeField.setDate(DateTimeField.java:239)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.wicket.util.lang.PropertyResolver$MethodGetAndSet.setValue(PropertyResolver.java:1129)
> at
> org.apache.wicket.util.lang.PropertyResolver$ObjectAndGetSetter.setValue(PropertyResolver.java:588)
> at
> org.apache.wicket.util.lang.PropertyResolver.setValue(PropertyResolver.java:136)
> at
> org.apache.wicket.model.AbstractPropertyModel.setObject(AbstractPropertyModel.java:169)
> at org.apache.wicket.Component.setDefaultModelObject(Component.java:3052)
> at
> org.apache.wicket.markup.html.form.FormComponent.updateModel(FormComponent.java:1168)
> at
> org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:225)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrderHelper(FormComponent.java:514)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrderHelper(FormComponent.java:493)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrderHelper(FormComponent.java:493)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrder(FormComponent.java:465)
> at
> org.apache.wicket.markup.html.form.Form.internalUpdateFormComponentModels(Form.java:2051)
> at
> org.apache.wicket.markup.html.form.Form.updateFormComponentModels(Form.java:2019)
> at org.apache.wicket.markup.html.form.Form.process(Form.java:984)
> at org.apache.wicket.markup.html.form.Form.process(Form.java:911)
> at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:876)
> at
> org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:135)
> at
> org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)
> at
> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:299)
> at
> org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:113)
> at
> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
> at
> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
> at
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:456)
> at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:289)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:382)
> at
> org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
> Complete stack:
> org.apache.wicket.WicketRuntimeException: Error calling method: public void
> org.apache.wicket.extensions.yui.calendar.DateTimeField.setDate(java.util.Date)
> on object: [MarkupContainer [Component id = endDate]]
> at
> org.apache.wicket.util.lang.PropertyResolver$MethodGetAndSet.setValue(PropertyResolver.java:1133)
> at
> org.apache.wicket.util.lang.PropertyResolver$ObjectAndGetSetter.setValue(PropertyResolver.java:588)
> at
> org.apache.wicket.util.lang.PropertyResolver.setValue(PropertyResolver.java:136)
> at
> org.apache.wicket.model.AbstractPropertyModel.setObject(AbstractPropertyModel.java:169)
> at org.apache.wicket.Component.setDefaultModelObject(Component.java:3052)
> at
> org.apache.wicket.markup.html.form.FormComponent.updateModel(FormComponent.java:1168)
> at
> org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:225)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrderHelper(FormComponent.java:514)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrderHelper(FormComponent.java:493)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrderHelper(FormComponent.java:493)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrder(FormComponent.java:465)
> at
> org.apache.wicket.markup.html.form.Form.internalUpdateFormComponentModels(Form.java:2051)
> at
> org.apache.wicket.markup.html.form.Form.updateFormComponentModels(Form.java:2019)
> at org.apache.wicket.markup.html.form.Form.process(Form.java:984)
> at org.apache.wicket.markup.html.form.Form.process(Form.java:911)
> at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:876)
> at
> org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:135)
> at
> org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)
> at
> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:299)
> at
> org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:113)
> at
> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
> at
> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
> at
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:456)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.