From: Artur Signell Date: Thu, 1 Mar 2012 16:33:06 +0000 (+0200) Subject: #8444 Generate serializers for classes used as parameters in ClientRPC X-Git-Tag: 7.0.0.alpha2~400 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f4e226b9e2d511e1132f4fbe085b8e6c1402c2dd;p=vaadin-framework.git #8444 Generate serializers for classes used as parameters in ClientRPC methods --- diff --git a/src/com/vaadin/terminal/gwt/widgetsetutils/SerializerMapGenerator.java b/src/com/vaadin/terminal/gwt/widgetsetutils/SerializerMapGenerator.java index a766d75da7..4d93675af6 100644 --- a/src/com/vaadin/terminal/gwt/widgetsetutils/SerializerMapGenerator.java +++ b/src/com/vaadin/terminal/gwt/widgetsetutils/SerializerMapGenerator.java @@ -21,6 +21,7 @@ import com.google.gwt.core.ext.typeinfo.JType; import com.google.gwt.core.ext.typeinfo.TypeOracle; import com.google.gwt.user.rebind.ClassSourceFileComposerFactory; import com.google.gwt.user.rebind.SourceWriter; +import com.vaadin.terminal.gwt.client.communication.ClientRpc; import com.vaadin.terminal.gwt.client.communication.SerializerMap; import com.vaadin.terminal.gwt.client.communication.ServerRpc; import com.vaadin.terminal.gwt.client.communication.SharedState; @@ -146,11 +147,12 @@ public class SerializerMapGenerator extends Generator { } // Serializer classes might also be needed for RPC methods - JClassType serverRpcType = typeOracle.findType(ServerRpc.class - .getName()); - JClassType[] serverRpcSubtypes = serverRpcType.getSubtypes(); - for (JClassType type : serverRpcSubtypes) { - addMethodParameterTypes(type, types); + for (Class cls : new Class[] { ServerRpc.class, ClientRpc.class }) { + JClassType rpcType = typeOracle.findType(cls.getName()); + JClassType[] serverRpcSubtypes = rpcType.getSubtypes(); + for (JClassType type : serverRpcSubtypes) { + addMethodParameterTypes(type, types); + } } // Add all types used from/in the types