Hi all,

I'm trying to update some TextFields in a FormComponentPanel when the user 
selects a radio button from a RadioGroup.

Here is a fragment of my code that created Radio and RadioGroup objects:

            add(nanp = new RadioGroup("nanp", new PropertyModel(this, 
"phoneNumber.nanp")));
            nanp.add(new Radio("nanpTrue", new Model(new 
Boolean(true))).add(new AjaxEventBehavior("onchange") {

                  private static final long serialVersionUID = 
-1406454064553153207L;

                  protected void onEvent(AjaxRequestTarget target) {
                        nanp.processInput();
                        target.addComponent(areaCode);
                        target.addComponent(countryDialingCode);
                        target.addComponent(routingDialingCode);
                  }
            }));
            nanp.add(new Radio("nanpFalse", new Model(new 
Boolean(false))).add(new AjaxEventBehavior("onchange") {

                  private static final long serialVersionUID = 
6475950784724594836L;

                  protected void onEvent(AjaxRequestTarget target) {
                        nanp.processInput();
                        target.addComponent(areaCode);
                        target.addComponent(countryDialingCode);
                        target.addComponent(routingDialingCode);
                  }
            }));

The problem is that as soon as I click on one of the radio buttons, I get the 
following exception:

WicketMessage: Can't convert null value to a primitive class: boolean for 
setting it on [EMAIL PROTECTED]

Root cause:

org.apache.wicket.util.convert.ConversionException: Can't convert null value to 
a primitive class: boolean for setting it on [EMAIL PROTECTED]
     at 
org.apache.wicket.util.lang.PropertyResolver$MethodGetAndSet.setValue(PropertyResolver.java:1079)
     at 
org.apache.wicket.util.lang.PropertyResolver$ObjectAndGetSetter.setValue(PropertyResolver.java:576)
     at 
org.apache.wicket.util.lang.PropertyResolver.setValue(PropertyResolver.java:130)
     at 
org.apache.wicket.model.AbstractPropertyModel.setObject(AbstractPropertyModel.java:164)
     at org.apache.wicket.Component.setModelObject(Component.java:2880)
     at 
org.apache.wicket.markup.html.form.FormComponent.updateModel(FormComponent.java:1052)
     at 
org.apache.wicket.markup.html.form.FormComponent.processInput(FormComponent.java:934)
     at 
com.route1.mobi.map3.web.panels.PhoneNumberPanel$2.onEvent(PhoneNumberPanel.java:125)
     at 
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:161)
     at 
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:288)
     at 
org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:100)
     at 
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
     at 
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1166)
     at org.apache.wicket.RequestCycle.step(RequestCycle.java:1243)
     at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330)
     at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
     at 
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:358)
     at 
org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:124)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
     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:213)
     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:174)
     at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
     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:689)
     at java.lang.Thread.run(Thread.java:595)
It looks like the model in RadioGroup is not updated when nanp.processInput() 
is called. Any idea what I have done wrong?

By the way I'm using Wicket 1.3.2, JDK 1.5.0_15, Tomcat 5.5.26 and Firefox 
2.0.0.12

Thanks,
Zhubin
Zhubin Salehi
Senior Software Engineer
Route1, Inc.
Phone:  (416) 848-8391 Ext. 2262 * Fax:  (416) 848-8394
[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> * 
www.route1.com<blocked::http://www.route1.com/>
This electronic mail transmission contains information from Route1, Inc that is 
for the sole use of the intended recipient and may contain confidential, 
privileged or proprietary information. If you are not the intended recipient, 
please be aware that any disclosure, copying, distribution or use of this 
message, its contents, or any attachment is prohibited. Any wrongful 
interception of this message is punishable as a federal crime. If you have 
received this message in error, please return a copy to the sender by 
electronic mail indicating the error. Then, please destroy the original message 
and any copies from your computer. Thank you.

Reply via email to