summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2012-06-21 14:51:59 +0300
committerLeif Åstrand <leif@vaadin.com>2012-06-21 14:52:17 +0300
commit6c73f2643f2d418d07f2c33d9d2a681ba8fee1df (patch)
tree55d9d55817c8e2b03155efccc201295854a7af71 /src
parent73fc286c1d6630f4d488fdc64e1c346afde13bef (diff)
downloadvaadin-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.java14
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) {