Hi,

I have a strange CCE on page deserialization with wicket 1.3.0-beta3:
java.lang.ClassCastException: cannot assign instance of
org.apache.wicket.model.PropertyModel to field
org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup.markupHelperof
type
org.apache.wicket.markup.html.ContainerWithAssociatedMarkupHelper in
instance of org.xoocode.xooctory.web.component.form.LabelBorder
     at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(
ObjectStreamClass.java:2032)
     at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java
:1212)
     at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java
:1951)
     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java
:1869)
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
:1753)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
     at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
     at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java
:1945)
     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java
:1869)
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
:1753)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
     at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
     at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java
:1945)
     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java
:1869)
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
:1753)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
     at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
     at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java
:1945)
     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java
:1869)
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java
:1753)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
     at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java
:396)
     at
org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(
AbstractPageStore.java:231)
     at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(
DiskPageStore.java:596)
     at
org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get
(SecondLevelCacheSessionStore.java:322)
     at org.apache.wicket.Session.getPage(Session.java:800)
     at
org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(
AbstractRequestCycleProcessor.java:427)
     at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(
WebRequestCycleProcessor.java:139)
     at org.apache.wicket.RequestCycle.step(RequestCycle.java:1091)
     at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1177)
     at org.apache.wicket.RequestCycle.request(RequestCycle.java:500)
     at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java
:261)
     at org.apache.wicket.protocol.http.WicketFilter.doFilter(
WicketFilter.java:127)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(
ServletHandler.java:1065)
     at
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal
(OpenSessionInViewFilter.java:198)
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(
OncePerRequestFilter.java:75)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(
ServletHandler.java:1065)
     at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java
:365)
     at org.mortbay.jetty.security.SecurityHandler.handle(
SecurityHandler.java:185)
     at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java
:181)
     at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java
:689)
     at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java
:391)
     at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java
:139)
     at org.mortbay.jetty.Server.handle(Server.java:285)
     at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java
:457)
     at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(
HttpConnection.java:751)
     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
     at org.mortbay.io.nio.SelectChannelEndPoint.run(
SelectChannelEndPoint.java:329)
     at org.mortbay.thread.BoundedThreadPool$PoolThread.run(
BoundedThreadPool.java:475)


The component on which I have the problem, LabelBorder, is a very simple
Border component:
public class LabelBorder extends Border {
    private static final long serialVersionUID = 1L;

    public LabelBorder(String id, IModel model, String label,
            String htmlTip) {
        super(id, model);
        add(new Label("label", label));
        if (htmlTip != null) {
            add(new ToolTipComponent("help", htmlTip));
        } else {
            add(new WebMarkupContainer("help"));
        }
    }

    public LabelBorder(String id, String label,
            String htmlTip) {
        this(id, null, label, htmlTip);
    }

}


So I'm wondering what can be going wrong. Any idea?

Xavier



-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://incubator.apache.org/ivy/
http://www.xoocode.org/

Reply via email to