summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2012-12-19 08:59:07 +0200
committerLeif Åstrand <leif@vaadin.com>2012-12-19 08:59:07 +0200
commit55142ffc2fe177505d284ef5285f4766714935b2 (patch)
treebc2ecc6b47318b7515399adcfb82a762730c7eb7 /client
parent90da2e172af7ae095b1ada5bc7dafc4986b36217 (diff)
downloadvaadin-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.java9
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())