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/