import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.SerializationException;
import com.google.gwt.user.client.rpc.SerializationStreamFactory;
import com.google.gwt.user.server.rpc.SerializationPolicy;
import com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter;
import com.smartgwt.client.widgets.Canvas;
public class CanvasSerialize{
public CanvasSerialize() {}
public String doSerialize(Canvas canvasIn){
Class<?> responseClass = canvasIn.getClass();
// make a serialization policy of my own to use, normally deteremined by rpc request
ServerSerializationStreamWriter stream = new ServerSerializationStreamWriter(new SerializePolicy());
stream.prepareToWrite();
if (responseClass != void.class) {
try {
stream.serializeValue(canvasIn, responseClass);
} catch (SerializationException e) {e.printStackTrace();}
}
String bufferStr = stream.toString();
return bufferStr;
}
public Canvas deSerialize(String buffer){
SerializationStreamFactory ssf = GWT.create( Canvas.class);
Canvas decodedObject = null;
try {
decodedObject = (Canvas)ssf.createStreamReader( buffer ).readObject();
} catch (SerializationException e) { e.printStackTrace();}
return decodedObject;
}
private class SerializePolicy extends SerializationPolicy {
@Override
public boolean shouldDeserializeFields(Class<?> clazz) {
return false;
}
@Override
public boolean shouldSerializeFields(Class<?> clazz) {
return false;
}
@Override
public void validateDeserialize(Class<?> clazz)
throws SerializationException {
}
@Override
public void validateSerialize(Class<?> clazz) throws SerializationException {
}
}
}
I have this file inside the server package, but i am calling it client side, is that the issue? any help would be greatly appreciated.
Thanks!