diff options
author | Leif Åstrand <leif@vaadin.com> | 2012-12-19 08:59:07 +0200 |
---|---|---|
committer | Leif Åstrand <leif@vaadin.com> | 2012-12-19 08:59:07 +0200 |
commit | 55142ffc2fe177505d284ef5285f4766714935b2 (patch) | |
tree | bc2ecc6b47318b7515399adcfb82a762730c7eb7 | |
parent | 90da2e172af7ae095b1ada5bc7dafc4986b36217 (diff) | |
download | vaadin-framework-55142ffc2fe177505d284ef5285f4766714935b2.tar.gz vaadin-framework-55142ffc2fe177505d284ef5285f4766714935b2.zip |
Fix regressions in RPC handling (#10549)
* Generate parameter types based on RPC interface instead of defining
interface
* Don't try to find parameter types for JavaScript RPC invocations
Change-Id: I0e61e74f57dd34665c8befe826aa2759aeb01b54
-rw-r--r-- | client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ServerRpcVisitor.java | 2 | ||||
-rw-r--r-- | client/src/com/vaadin/client/ApplicationConnection.java | 9 |
2 files changed, 9 insertions, 2 deletions
diff --git a/client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ServerRpcVisitor.java b/client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ServerRpcVisitor.java index e14e8234d5..f444abf0ad 100644 --- a/client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ServerRpcVisitor.java +++ b/client-compiler/src/com/vaadin/server/widgetsetutils/metadata/ServerRpcVisitor.java @@ -38,7 +38,7 @@ public class ServerRpcVisitor extends TypeVisitor { for (JMethod method : methods) { ClientRpcVisitor.checkReturnType(logger, method); bundle.setNeedsDelayedInfo(type, method); - bundle.setNeedsParamTypes(subType, method); + bundle.setNeedsParamTypes(type, method); JType[] parameterTypes = method.getParameterTypes(); for (JType paramType : parameterTypes) { diff --git a/client/src/com/vaadin/client/ApplicationConnection.java b/client/src/com/vaadin/client/ApplicationConnection.java index 00b0d75c6c..2e8387c5da 100644 --- a/client/src/com/vaadin/client/ApplicationConnection.java +++ b/client/src/com/vaadin/client/ApplicationConnection.java @@ -2396,7 +2396,8 @@ public class ApplicationConnection { JSONArray paramJson = new JSONArray(); Type[] parameterTypes = null; - if (!isLegacyVariableChange(invocation)) { + if (!isLegacyVariableChange(invocation) + && !isJavascriptRpc(invocation)) { try { Type type = new Type(invocation.getInterfaceName(), null); @@ -2457,6 +2458,12 @@ public class ApplicationConnection { makeUidlRequest(req.toString(), extraParams, forceSync); } + private boolean isJavascriptRpc(MethodInvocation invocation) { + String connectorId = invocation.getConnectorId(); + ServerConnector connector = connectorMap.getConnector(connectorId); + return connector instanceof HasJavaScriptConnectorHelper; + } + private boolean isLegacyVariableChange(MethodInvocation invocation) { return ApplicationConstants.UPDATE_VARIABLE_METHOD.equals(invocation .getInterfaceName()) |