diff options
Diffstat (limited to 'src/com/vaadin/ui/JavascriptManager.java')
-rw-r--r-- | src/com/vaadin/ui/JavascriptManager.java | 9 |
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); + } } }); } |