I have 2 types of objects: boxes and links. simplifyed code:
[code]
public class ObjectData {
public static final int BOX = 1;
public static final int LINK = 2;
public int type;
public String id;
public ObjectData() {
}
public ObjectData(int type) {
this.type = type;
}
public static class BoxData extends ObjectData {
public String boxName;
public BoxData() {
super(BOX);
}
}
public static class LinkData extends ObjectData {
public String linkName;
public LinkData() {
super(LINK);
}
}
}
[/code]shared state:
[code]
public class MySharedState extends AbstractComponentState {
public ObjectData object;
}
[/code]but on client when I try to cast ObjectData to correct BoxData I got:
…
Caused by: java.lang.ClassCastException
…
How to serialize objects like this? it is really common task
Exception caught: undefinedcom.google.gwt.event.shared.UmbrellaException: Exception caught: undefined
at Unknown.fillInStackTrace_0(com.nofilis.vaadin.DefaultWidgetSet-0.js@23)
at Unknown.fillInStackTrace(com.nofilis.vaadin.DefaultWidgetSet-0.js@3)
at Unknown.Throwable_1(com.nofilis.vaadin.DefaultWidgetSet-0.js@8)
at Unknown.Exception_1(com.nofilis.vaadin.DefaultWidgetSet-0.js@15)
at Unknown.RuntimeException_1(com.nofilis.vaadin.DefaultWidgetSet-0.js@15)
at Unknown.UmbrellaException(com.nofilis.vaadin.DefaultWidgetSet-0.js@22)
at Unknown.UmbrellaException_0(com.nofilis.vaadin.DefaultWidgetSet-0.js@21)
at Unknown.$fireEvent(com.nofilis.vaadin.DefaultWidgetSet-0.js@13)
at Unknown.$fireEvent_2(com.nofilis.vaadin.DefaultWidgetSet-0.js@66)
at Unknown.fireEvent_6(com.nofilis.vaadin.DefaultWidgetSet-0.js@3)
at Unknown.$sendStateChangeEvents(com.nofilis.vaadin.DefaultWidgetSet-0.js@28)
at Unknown.execute_24(com.nofilis.vaadin.DefaultWidgetSet-0.js@3)
at Unknown.runWhenDependenciesLoaded(com.nofilis.vaadin.DefaultWidgetSet-0.js@30)
at Unknown.$handleUIDLMessage(com.nofilis.vaadin.DefaultWidgetSet-0.js@3)
at Unknown.$handleReceivedJSONMessage(com.nofilis.vaadin.DefaultWidgetSet-0.js@3)
at Unknown.$handleWhenCSSLoaded(com.nofilis.vaadin.DefaultWidgetSet-0.js@45)
at Unknown.$handleJSONText(com.nofilis.vaadin.DefaultWidgetSet-0.js@5)
at Unknown.$start_0(com.nofilis.vaadin.DefaultWidgetSet-0.js@5)
at Unknown.execute_19(com.nofilis.vaadin.DefaultWidgetSet-0.js@3)
at Unknown.$executeScheduled(com.nofilis.vaadin.DefaultWidgetSet-0.js@30)
at Unknown.runScheduledTasks(com.nofilis.vaadin.DefaultWidgetSet-0.js@86)
at Unknown.$flushPostEventPumpCommands(com.nofilis.vaadin.DefaultWidgetSet-0.js@47)
at Unknown.execute_2(com.nofilis.vaadin.DefaultWidgetSet-0.js@35)
at Unknown.execute_1(com.nofilis.vaadin.DefaultWidgetSet-0.js@14)
at Unknown.apply_0(com.nofilis.vaadin.DefaultWidgetSet-0.js@23)
at Unknown.entry0(com.nofilis.vaadin.DefaultWidgetSet-0.js@16)
at Unknown.eval(com.nofilis.vaadin.DefaultWidgetSet-0.js@14)
at Unknown.eval(com.nofilis.vaadin.DefaultWidgetSet-0.js@32)
at Unknown.eval(com.nofilis.vaadin.DefaultWidgetSet-0.js@5)
Caused by: java.lang.ClassCastException
at Unknown.fillInStackTrace_0(com.nofilis.vaadin.DefaultWidgetSet-0.js@23)
at Unknown.fillInStackTrace(com.nofilis.vaadin.DefaultWidgetSet-0.js@3)
at Unknown.Throwable(com.nofilis.vaadin.DefaultWidgetSet-0.js@8)
at Unknown.Exception(com.nofilis.vaadin.DefaultWidgetSet-0.js@13)
at Unknown.RuntimeException(com.nofilis.vaadin.DefaultWidgetSet-0.js@13)
at Unknown.ClassCastException(com.nofilis.vaadin.DefaultWidgetSet-0.js@20)
at Unknown.dynamicCast(com.nofilis.vaadin.DefaultWidgetSet-0.js@11)
at Unknown.onStateChanged_6(com.nofilis.vaadin.DefaultWidgetSet-0.js@9)
at Unknown.$dispatch_32(com.nofilis.vaadin.DefaultWidgetSet-0.js@12)
at Unknown.dispatch_33(com.nofilis.vaadin.DefaultWidgetSet-0.js@22)
at Unknown.dispatch(com.nofilis.vaadin.DefaultWidgetSet-0.js@8)
at Unknown.dispatchEvent_1(com.nofilis.vaadin.DefaultWidgetSet-0.js@11)
at Unknown.$doFire(com.nofilis.vaadin.DefaultWidgetSet-0.js@9)
at Unknown.$fireEvent_0(com.nofilis.vaadin.DefaultWidgetSet-0.js@3)
at Unknown.$fireEvent(com.nofilis.vaadin.DefaultWidgetSet-0.js@29)
at Unknown.$fireEvent_2(com.nofilis.vaadin.DefaultWidgetSet-0.js@66)
at Unknown.fireEvent_6(com.nofilis.vaadin.DefaultWidgetSet-0.js@3)
at Unknown.$sendStateChangeEvents(com.nofilis.vaadin.DefaultWidgetSet-0.js@28)
at Unknown.execute_24(com.nofilis.vaadin.DefaultWidgetSet-0.js@3)
at Unknown.runWhenDependenciesLoaded(com.nofilis.vaadin.DefaultWidgetSet-0.js@30)
at Unknown.$handleUIDLMessage(com.nofilis.vaadin.DefaultWidgetSet-0.js@3)
at Unknown.$handleReceivedJSONMessage(com.nofilis.vaadin.DefaultWidgetSet-0.js@3)
at Unknown.$handleWhenCSSLoaded(com.nofilis.vaadin.DefaultWidgetSet-0.js@45)
at Unknown.$handleJSONText(com.nofilis.vaadin.DefaultWidgetSet-0.js@5)
at Unknown.$start_0(com.nofilis.vaadin.DefaultWidgetSet-0.js@5)
at Unknown.execute_19(com.nofilis.vaadin.DefaultWidgetSet-0.js@3)
at Unknown.$executeScheduled(com.nofilis.vaadin.DefaultWidgetSet-0.js@30)
at Unknown.runScheduledTasks(com.nofilis.vaadin.DefaultWidgetSet-0.js@86)
at Unknown.$flushPostEventPumpCommands(com.nofilis.vaadin.DefaultWidgetSet-0.js@47)
at Unknown.execute_2(com.nofilis.vaadin.DefaultWidgetSet-0.js@35)
at Unknown.execute_1(com.nofilis.vaadin.DefaultWidgetSet-0.js@14)
at Unknown.apply_0(com.nofilis.vaadin.DefaultWidgetSet-0.js@23)
at Unknown.entry0(com.nofilis.vaadin.DefaultWidgetSet-0.js@16)
at Unknown.eval(com.nofilis.vaadin.DefaultWidgetSet-0.js@14)
at Unknown.eval(com.nofilis.vaadin.DefaultWidgetSet-0.js@32)
at Unknown.eval(com.nofilis.vaadin.DefaultWidgetSet-0.js@5)
This is something you are getting on the client side, on which I have very minimal knowledge. Anyway kindly check if you have compiled & packaged the widgetset properly.