once again trying to send this mail
thanks!



________________________________
Von: Agent Mahone <[email protected]>
An: [email protected]
Gesendet: Freitag, den 6. Februar 2009, 01:06:50 Uhr
Betreff: AW: java.lang.ClassCastException in ListMultipleChoice


Hi, here my example:

### CarSearchPanel ###
        // create formular
        Form form = new Form("form");

        BoundCompoundPropertyModel model = new BoundCompoundPropertyModel(new 
CarSearchModel());
        form.setModel(model);
                ...
        // add cars
        ChoiceRenderer carRenderer = new ChoiceRenderer();
        carRenderer..put("1", "Mercedes");    // key, value
        carRenderer.put("2", "BMW");
        carRenderer.put("3", "Porsche");

        ListMultipleChoice listMultipleChoice = new ListMultipleChoice("cars", 
new Model(), renderer.getKeys(), renderer);    // multiple selections possible
        form.add(model.bind(listMultipleChoice, "cars"));

        ...
        
        ### CarSearchModel ###
        private List<Car> cars;
        
        public List<Car> getCars() {
            return cars;
        }

        public void setCars(List<Car> cars) {
            this.cars = cars;
        }


In SearchDao class, I iterate through a List of Car objects.

java.lang.ClassCastException: java.lang.String cannot be cast to 
com.myproject.model.core.Car
    at com.myproject.dao.SearchDao$7.doInHibernate(SearchDao.java:332)
    at 
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
    at 
org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
    at com.myproject.dao.SearchDao.searchCars(SearchDao..java:313)
    at 
com.myproject.usecase.core.search.SearchUseCase.searchCar(SearchUseCase.java:91)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at 
org.apache.wicket.proxy.LazyInitProxyFactory$JdkHandler.invoke(LazyInitProxyFactory.java:416)
    at org..apache.wicket.proxy.$Proxy6.searchCar(Unknown Source)
    at 
com.myproject.web.component.content.search.car.CarSearchPanel$4.onFormSubmit(CarSearchPanel.java:174)
    at 
com.myproject.web.markup.button.FormSubmitButton$3..onSubmit(FormSubmitButton.java:117)
    at 
org.apache.wicket.ajax.markup..html.form.AjaxFallbackButton$1.onSubmit(AjaxFallbackButton.java:72)
    at 
org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:128)
    at 
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:163)
    at 
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:297)
    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:1175)
    at org.apache.wicket.RequestCycle.step(RequestCycle.java:1252)
    at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353)
    at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
    at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355)
    at 
org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:145)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    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:175)
    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:844)
    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)
2009-02-06 00:35:51,109 ERROR [http-8080-2] com.myproject.web.MyApplication: 
java.lang.String cannot be cast to com.myproject.model.core.Car



________________________________
Von: Stefan Lindner <[email protected]>
An: [email protected]
Gesendet: Donnerstag, den 5. Februar 2009, 23:44:16 Uhr
Betreff: RE: java.lang.ClassCastException in ListMultipleChoice

And a little bit of example's code too.

-----Ursprüngliche Nachricht-----
Von: [email protected] [mailto:[email protected]] Im Auftrag von Thomas 
Mäder
Gesendet: Donnerstag, 5. Februar 2009 23:38
An: [email protected]
Betreff: Re: java.lang.ClassCastException in ListMultipleChoice

Stack trace please?

On Thu, Feb 5, 2009 at 10:16 PM, Agent Mahone <[email protected]> wrote:

> Hi guys, I have a simple question.
>
> I´m using a ListMultipleChoice in my form.
> The selected items should be binded to "Car.color" as "List<Car> cars".
>
> If I bind the ListMultipleChoice to "cars", I´ll get a
> java.lang.ClassCastException
> because wicket trys to map a List<String> to List<Car>.
>
> java.lang.ClassCastException: java.lang.String cannot be cast to
> com.***.***.Car
>
> Any ideas???
>
> Thanks for your help
>
>
>
>




-- 
Thomas Mäder
Wicket & Eclipse Consulting
www.devotek-it.ch

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


      

Reply via email to