diff options
author | Leif Åstrand <leif@vaadin.com> | 2012-06-21 14:51:59 +0300 |
---|---|---|
committer | Leif Åstrand <leif@vaadin.com> | 2012-06-21 14:52:17 +0300 |
commit | 6c73f2643f2d418d07f2c33d9d2a681ba8fee1df (patch) | |
tree | 55d9d55817c8e2b03155efccc201295854a7af71 /src | |
parent | 73fc286c1d6630f4d488fdc64e1c346afde13bef (diff) | |
download | vaadin-framework-6c73f2643f2d418d07f2c33d9d2a681ba8fee1df.tar.gz vaadin-framework-6c73f2643f2d418d07f2c33d9d2a681ba8fee1df.zip |
Show sensible message if variable change target isn't a VariableOwner
Diffstat (limited to 'src')
-rw-r--r-- | src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java b/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java index e04857f800..ecd4fdd1ad 100644 --- a/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java +++ b/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java @@ -1535,8 +1535,18 @@ public abstract class AbstractCommunicationManager implements Serializable { Map<String, Object> changes = legacyInvocation .getVariableChanges(); try { - changeVariables(source, (VariableOwner) connector, - changes); + if (connector instanceof VariableOwner) { + changeVariables(source, (VariableOwner) connector, + changes); + } else { + throw new IllegalStateException( + "Received legacy variable change for " + + connector.getClass().getName() + + " (" + + connector.getConnectorId() + + ") which is not a VariableOwner. The client-side connector sent these legacy varaibles: " + + changes.keySet()); + } } catch (Exception e) { Component errorComponent = null; if (connector instanceof Component) { |