Re: Serialization whitelist

2010-04-13 Thread Jon Vaughan
aha, that is helpful.  I didn't know about the existence of the
{App}.rpc.log file (is that documented anywhere?)

for anyone reading this who isn't aware, this log file is presumably
created as the compiler works out what types are reachable and whether
they are serializable and goes something like:

com.foo.bar.MyClass
   Serialization status
  Instantiable
   Path
  'com.foo.bar.MyClass' is reachable as a subtype of type
'interface com.bar.whatever.ICommandT'
  Started from 'com.itf.shared.actions.ICommandT'

and so on.


On Apr 12, 3:05 pm, kozura koz...@gmail.com wrote:
 Yes, T must extend a serializable type, as you said otherwise GWT
 can't tell what it might be.  Yes serialization discovery issues are a
 pain...right now you just have to stare through the RPC log and try to
 divine what happened.

 On Apr 12, 4:46 am, Jon Vaughan jsvaug...@gmail.com wrote:



  I think the problem is that on this example the type of the payload
  can be anything (it is not required to be serializable); given that
  this is possible, GWT must say, OK, then this type itself cannot be
  serialized (I would like this to fail the compile though somehow)

  On Apr 12, 10:27 am, Jon Vaughan jsvaug...@gmail.com wrote:

   Hi,

   I have a serialization issue to solve, where a class that is passed to
   the client, and is marked as IsSerializable, with a default no arg
   constructor, does not end up in the whitelist.  There are no messages
   during the gwt compile (at debug level)

   1.  Does anyone have any thoughts about how I could automatically test
   for, or fail a build, if this is the case?
   2.  Does anyone know how I can get detailed information from GWT about
   this type of issue?
   3.  Anybody got any ideas what the problem itself is? :) (Are there
   issues with generic types and serialization?  Do I have to explicitly
   whitelist the variations I want to use somehow?)

   Thanks if anyone has the time to look

   Jon

   My specific problem is as follows: Type
   'com.itf.shared.actions.ResponseWithPayload' was not included in the
   set of types which can be serialized by this SerializationPolicy

   With the following command pattern style interface (where
   SingleQuestion is itself in the whitelist)

   1.  The service

   public interface ApplicationService extends RemoteService {
       T extends IResponse T execute(ICommandT action);

   }

   2. The command

   public class SingleQuestionRequest implements
   ICommandResponseWithPayloadSingleQuestion, IsSerializable {
       public SingleQuestionRequest() {
       }

   }

   3.  The response class that doesn't end up in the whitelist

   public class ResponseWithPayloadT implements IResponse,
   IsSerializable {
       private T payload;

       @SuppressWarnings(unused)
       private ResponseWithPayload() {
       }

       public ResponseWithPayload(T payload) {
           super();
           this.payload = payload;
       }

       public T getPayload() {
           return payload;
       }

   }

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



Re: Serialization whitelist

2010-04-13 Thread Sripathi Krishnan

 re. Is it documented anywhere?

See GWT Presentations page -
http://code.google.com/webtoolkit/media_gallery.html. The Story of Your
Compile presentation explains this, and a lot of other optimizations.

Other than that, I am not aware of any other documentation.

--Sri



On 13 April 2010 15:38, Jon Vaughan jsvaug...@gmail.com wrote:

 aha, that is helpful.  I didn't know about the existence of the
 {App}.rpc.log file (is that documented anywhere?)

 for anyone reading this who isn't aware, this log file is presumably
 created as the compiler works out what types are reachable and whether
 they are serializable and goes something like:

 com.foo.bar.MyClass
   Serialization status
  Instantiable
   Path
  'com.foo.bar.MyClass' is reachable as a subtype of type
 'interface com.bar.whatever.ICommandT'
  Started from 'com.itf.shared.actions.ICommandT'

 and so on.


 On Apr 12, 3:05 pm, kozura koz...@gmail.com wrote:
  Yes, T must extend a serializable type, as you said otherwise GWT
  can't tell what it might be.  Yes serialization discovery issues are a
  pain...right now you just have to stare through the RPC log and try to
  divine what happened.
 
  On Apr 12, 4:46 am, Jon Vaughan jsvaug...@gmail.com wrote:
 
 
 
   I think the problem is that on this example the type of the payload
   can be anything (it is not required to be serializable); given that
   this is possible, GWT must say, OK, then this type itself cannot be
   serialized (I would like this to fail the compile though somehow)
 
   On Apr 12, 10:27 am, Jon Vaughan jsvaug...@gmail.com wrote:
 
Hi,
 
I have a serialization issue to solve, where a class that is passed
 to
the client, and is marked as IsSerializable, with a default no arg
constructor, does not end up in the whitelist.  There are no messages
during the gwt compile (at debug level)
 
1.  Does anyone have any thoughts about how I could automatically
 test
for, or fail a build, if this is the case?
2.  Does anyone know how I can get detailed information from GWT
 about
this type of issue?
3.  Anybody got any ideas what the problem itself is? :) (Are there
issues with generic types and serialization?  Do I have to explicitly
whitelist the variations I want to use somehow?)
 
Thanks if anyone has the time to look
 
Jon
 
My specific problem is as follows: Type
'com.itf.shared.actions.ResponseWithPayload' was not included in the
set of types which can be serialized by this SerializationPolicy
 
With the following command pattern style interface (where
SingleQuestion is itself in the whitelist)
 
1.  The service
 
public interface ApplicationService extends RemoteService {
T extends IResponse T execute(ICommandT action);
 
}
 
2. The command
 
public class SingleQuestionRequest implements
ICommandResponseWithPayloadSingleQuestion, IsSerializable {
public SingleQuestionRequest() {
}
 
}
 
3.  The response class that doesn't end up in the whitelist
 
public class ResponseWithPayloadT implements IResponse,
IsSerializable {
private T payload;
 
@SuppressWarnings(unused)
private ResponseWithPayload() {
}
 
public ResponseWithPayload(T payload) {
super();
this.payload = payload;
}
 
public T getPayload() {
return payload;
}
 
}

 --
 You received this message because you are subscribed to the Google Groups
 Google Web Toolkit group.
 To post to this group, send email to google-web-tool...@googlegroups.com.
 To unsubscribe from this group, send email to
 google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/google-web-toolkit?hl=en.



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



Re: Serialization whitelist

2010-04-12 Thread Jon Vaughan
I think the problem is that on this example the type of the payload
can be anything (it is not required to be serializable); given that
this is possible, GWT must say, OK, then this type itself cannot be
serialized (I would like this to fail the compile though somehow)


On Apr 12, 10:27 am, Jon Vaughan jsvaug...@gmail.com wrote:
 Hi,

 I have a serialization issue to solve, where a class that is passed to
 the client, and is marked as IsSerializable, with a default no arg
 constructor, does not end up in the whitelist.  There are no messages
 during the gwt compile (at debug level)

 1.  Does anyone have any thoughts about how I could automatically test
 for, or fail a build, if this is the case?
 2.  Does anyone know how I can get detailed information from GWT about
 this type of issue?
 3.  Anybody got any ideas what the problem itself is? :) (Are there
 issues with generic types and serialization?  Do I have to explicitly
 whitelist the variations I want to use somehow?)

 Thanks if anyone has the time to look

 Jon

 My specific problem is as follows: Type
 'com.itf.shared.actions.ResponseWithPayload' was not included in the
 set of types which can be serialized by this SerializationPolicy

 With the following command pattern style interface (where
 SingleQuestion is itself in the whitelist)

 1.  The service

 public interface ApplicationService extends RemoteService {
     T extends IResponse T execute(ICommandT action);

 }

 2. The command

 public class SingleQuestionRequest implements
 ICommandResponseWithPayloadSingleQuestion, IsSerializable {
     public SingleQuestionRequest() {
     }

 }

 3.  The response class that doesn't end up in the whitelist

 public class ResponseWithPayloadT implements IResponse,
 IsSerializable {
     private T payload;

     @SuppressWarnings(unused)
     private ResponseWithPayload() {
     }

     public ResponseWithPayload(T payload) {
         super();
         this.payload = payload;
     }

     public T getPayload() {
         return payload;
     }



 }

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