Hi,

I am trying to serialize and deserialize to and from json using
AutoBean as per the link
http://code.google.com/p/google-web-toolkit/wiki/AutoBean

I have the following classes
---------------------------------------------------------------------------------------------
@ProxyFor(User.class)
public interface UserProxy extends EntityProxy {

  @Override
  EntityProxyId<UserProxy> stableId();

  String getId();

  void setId(String id);

  void setUserName(String userName);

  String getUserName();

  String getEmail();

  void setEmail(String email);

}
---------------------------------------------------------------------------------------------
@Category(EntityProxyCategory.class)
public interface GTAutoBeanFactory extends AutoBeanFactory {

        //AutoBean<UserProxy> userProxy();

        AutoBean<UserProxy> userProxy(UserProxy toWrap);
}
---------------------------------------------------------------------------------------------
// copied from the URL, I don't have much understanding on this....
public class EntityProxyCategory {
        EntityProxyId<?> stableId(AutoBean<EntityProxy> instance) {
                return (EntityProxyId<?>) instance.getTag("stableId");
        }
}
---------------------------------------------------------------------------------------------

//Serialize: (This has no problem)
//-----------------------------------------------
AutoBean<UserProxy> bean = AutoBeanUtils.getAutoBean(user);
String result = AutoBeanCodex.encode(bean).getPayload();

//  The result string is as below
//
{"email":"[email protected]","id":"4db6be71653a25e72154028c","userName":"test"}


//Deserialize:
//------------------
UserProxy user = AutoBeanCodex.decode(injector.getGTAutoBeanFactory(),
UserProxy.class, result).as();




However, when deserializing, I get the following error
23:08:49.604 [ERROR] [gettag] Failed to create an instance of
'com.gettag.client.GetTagClientModule$WebStorageProvider' via deferred
binding

java.lang.IllegalArgumentException: The AutoBeanFactory cannot create
a com.gettag.shared.proxies.UserProxy
    at com.google.gwt.autobean.shared.AutoBeanCodex
$Decoder.push(AutoBeanCodex.java:240)
    at com.google.gwt.autobean.shared.AutoBeanCodex
$Decoder.decode(AutoBeanCodex.java:50)
    at
com.google.gwt.autobean.shared.AutoBeanCodex.decode(AutoBeanCodex.java:
505)
    at
com.google.gwt.autobean.shared.AutoBeanCodex.decode(AutoBeanCodex.java:
521)
    at com.gettag.client.resources.WebStorage.&lt;init&gt;
(WebStorage.java:30)   <------------------ this is actually the
Deserialize line
    at com.gettag.client.GetTagClientModule
$WebStorageProvider.&lt;clinit&gt;(GetTagClientModule.java:52)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at
com.google.gwt.dev.shell.ModuleSpace.loadClassFromSourceName(ModuleSpace.java:
654)
    at
com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:
458)
    at
com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
    at com.google.gwt.core.client.GWT.create(GWT.java:98)
    at com.gettag.client.GetTagGinjectorImpl.create_Key$type$com$gettag
$client$GetTagClientModule$WebStorageProvider$_annotation$$none$$
(GetTagGinjectorImpl.java:257)
    at com.gettag.client.GetTagGinjectorImpl.get_Key$type$com$gettag
$client$GetTagClientModule$WebStorageProvider$_annotation$$none$$
(GetTagGinjectorImpl.java:271)
    at com.gettag.client.GetTagGinjectorImpl.create_Key$type$com$gettag
$client$resources$WebStorage$_annotation$$none$$
(GetTagGinjectorImpl.java:44)
    at com.gettag.client.GetTagGinjectorImpl.get_Key$type$com$gettag
$client$resources$WebStorage$_annotation$$none$$
(GetTagGinjectorImpl.java:56)
    at
com.gettag.client.GetTagGinjectorImpl.getWebStorage(GetTagGinjectorImpl.java:
35)
    at
com.gettag.client.presenter.LoginPresenter.onStart(LoginPresenter.java:
42)
    at com.mvp4g.client.Mvp4gModuleImpl$3.start(Mvp4gModuleImpl.java:
130)
    at
com.mvp4g.client.Mvp4gModuleImpl.createAndStartModule(Mvp4gModuleImpl.java:
163)
    at
com.gettag.client.GetTagEntryPoint.onModuleLoad(GetTagEntryPoint.java:
38)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:
396)
    at
com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:
183)
    at
com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:
510)
    at
com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:
352)
    at java.lang.Thread.run(Unknown Source)

Any kind help on this will be highly appreciated.

Many thanks & best regards
Andy

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to