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 /client | |
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
Diffstat (limited to 'client')
-rw-r--r-- | client/src/com/vaadin/client/ApplicationConnection.java | 9 |
1 files changed, 8 insertions, 1 deletions
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()) |