aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/ui/JavascriptManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/vaadin/ui/JavascriptManager.java')
-rw-r--r--src/com/vaadin/ui/JavascriptManager.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/com/vaadin/ui/JavascriptManager.java b/src/com/vaadin/ui/JavascriptManager.java
index e52962f177..72295dce2b 100644
--- a/src/com/vaadin/ui/JavascriptManager.java
+++ b/src/com/vaadin/ui/JavascriptManager.java
@@ -8,6 +8,7 @@ import java.util.HashMap;
import java.util.Map;
import com.vaadin.external.json.JSONArray;
+import com.vaadin.external.json.JSONException;
import com.vaadin.terminal.AbstractExtension;
import com.vaadin.terminal.gwt.client.communication.ServerRpc;
import com.vaadin.terminal.gwt.client.extensions.javascriptmanager.JavascriptManagerState;
@@ -25,8 +26,12 @@ public class JavascriptManager extends AbstractExtension {
registerRpc(new JavascriptCallbackRpc() {
public void call(String name, JSONArray arguments) {
JavascriptCallback callback = callbacks.get(name);
- // TODO error handling
- callback.call(arguments);
+ // TODO handle situation if name is not registered
+ try {
+ callback.call(arguments);
+ } catch (JSONException e) {
+ throw new IllegalArgumentException(e);
+ }
}
});
}