Don't throw exception when callbacks are not provided. Project: http://git-wip-us.apache.org/repos/asf/incubator-wave/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-wave/commit/138ba70b Tree: http://git-wip-us.apache.org/repos/asf/incubator-wave/tree/138ba70b Diff: http://git-wip-us.apache.org/repos/asf/incubator-wave/diff/138ba70b
Branch: refs/heads/swellrt Commit: 138ba70b863d490b6d4627472848f240fc0a91e4 Parents: 8468553 Author: Pablo Ojanguren <[email protected]> Authored: Tue Sep 6 18:25:35 2016 +0200 Committer: Pablo Ojanguren <[email protected]> Committed: Wed Sep 7 10:52:15 2016 +0200 ---------------------------------------------------------------------- .../java/org/swellrt/api/ServiceCallback.java | 20 +++++++ wave/src/main/java/org/swellrt/api/SwellRT.java | 60 +++++++++++++++++--- 2 files changed, 71 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/138ba70b/wave/src/main/java/org/swellrt/api/ServiceCallback.java ---------------------------------------------------------------------- diff --git a/wave/src/main/java/org/swellrt/api/ServiceCallback.java b/wave/src/main/java/org/swellrt/api/ServiceCallback.java index 0bceb27..7fe6117 100644 --- a/wave/src/main/java/org/swellrt/api/ServiceCallback.java +++ b/wave/src/main/java/org/swellrt/api/ServiceCallback.java @@ -49,6 +49,26 @@ public class ServiceCallback extends JavaScriptObject { } + + private static ServiceCallback VOID_SERVICE_CALLBACK = null; + + private static native ServiceCallback createVoidCallback() /*-{ + + var callback = function(x) { + console.log("Default callback invoked. Did you forget a callback argument?"); + }; + + return callback; + + }-*/; + + public static ServiceCallback getVoidCallback() { + + if (VOID_SERVICE_CALLBACK == null) + VOID_SERVICE_CALLBACK = createVoidCallback(); + + return VOID_SERVICE_CALLBACK; + } protected ServiceCallback() { } http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/138ba70b/wave/src/main/java/org/swellrt/api/SwellRT.java ---------------------------------------------------------------------- diff --git a/wave/src/main/java/org/swellrt/api/SwellRT.java b/wave/src/main/java/org/swellrt/api/SwellRT.java index 6529863..bb5d526 100644 --- a/wave/src/main/java/org/swellrt/api/SwellRT.java +++ b/wave/src/main/java/org/swellrt/api/SwellRT.java @@ -190,10 +190,14 @@ public class SwellRT implements EntryPoint, UnsavedDataListener { channel = null; } - public void login(JavaScriptObject parameters, final ServiceCallback callback) + public void login(JavaScriptObject parameters, ServiceCallback _callback) throws RequestException { + if (_callback == null) + _callback = ServiceCallback.getVoidCallback(); + final ServiceCallback callback = _callback; + String url = baseServerUrl + "/swell/auth"; RequestBuilder builder = SwellRTUtils.newRequestBuilder(RequestBuilder.POST, url); @@ -241,8 +245,13 @@ public class SwellRT implements EntryPoint, UnsavedDataListener { } - public void resume(final ServiceCallback callback) + public void resume(ServiceCallback _callback) throws RequestException { + + if (_callback == null) + _callback = ServiceCallback.getVoidCallback(); + + final ServiceCallback callback = _callback; String url = baseServerUrl + "/swell/auth"; url = BrowserSession.addSessionToUrl(url); @@ -293,8 +302,13 @@ public class SwellRT implements EntryPoint, UnsavedDataListener { } - public void logout(final ServiceCallback callback) throws RequestException { + public void logout(ServiceCallback _callback) throws RequestException { + + if (_callback == null) + _callback = ServiceCallback.getVoidCallback(); + final ServiceCallback callback = _callback; + // // Clean session, websocket ,objects and registries // @@ -421,7 +435,12 @@ public class SwellRT implements EntryPoint, UnsavedDataListener { * @param callback * @throws RequestException */ - public void open(JavaScriptObject parameters, final ServiceCallback callback) throws RequestException { + public void open(JavaScriptObject parameters, ServiceCallback _callback) throws RequestException { + + if (_callback == null) + _callback = ServiceCallback.getVoidCallback(); + + final ServiceCallback callback = _callback; Preconditions.checkArgument(loggedInUser != null, "Login is not present"); @@ -515,7 +534,11 @@ public class SwellRT implements EntryPoint, UnsavedDataListener { }-*/; - public void close(JavaScriptObject parameters, final ServiceCallback callback) throws RequestException { + public void close(JavaScriptObject parameters, ServiceCallback callback) throws RequestException { + + if (callback == null) + callback = ServiceCallback.getVoidCallback(); + String id = extractWaveIdParameter(parameters); Preconditions.checkArgument(id != null, "Missing object or id"); WaveId waveId = WaveId.deserialise(id); @@ -1346,9 +1369,13 @@ public class SwellRT implements EntryPoint, UnsavedDataListener { - public void createUser(JavaScriptObject parameters, final ServiceCallback callback) + public void createUser(JavaScriptObject parameters, ServiceCallback _callback) throws RequestException { + if (_callback == null) + _callback = ServiceCallback.getVoidCallback(); + + final ServiceCallback callback = _callback; String url = baseServerUrl + "/swell/account"; url = BrowserSession.addSessionToUrl(url); @@ -1378,9 +1405,14 @@ public class SwellRT implements EntryPoint, UnsavedDataListener { } - public void updateUserProfile(JavaScriptObject parameters, final ServiceCallback callback) + public void updateUserProfile(JavaScriptObject parameters, ServiceCallback _callback) throws RequestException { + if (_callback == null) + _callback = ServiceCallback.getVoidCallback(); + + final ServiceCallback callback = _callback; + String url = baseServerUrl + "/swell/account/" + loggedInUser.getName(); url = BrowserSession.addSessionToUrl(url); @@ -1409,8 +1441,13 @@ public class SwellRT implements EntryPoint, UnsavedDataListener { } - public void getUserProfile(final ServiceCallback callback) + public void getUserProfile(ServiceCallback _callback) throws RequestException { + + if (_callback == null) + _callback = ServiceCallback.getVoidCallback(); + + final ServiceCallback callback = _callback; String url = baseServerUrl + "/swell/account/" + loggedInUser.getName(); url = BrowserSession.addSessionToUrl(url); @@ -1437,9 +1474,14 @@ public class SwellRT implements EntryPoint, UnsavedDataListener { }); } - public void getUserProfile(JsArrayString participants, final ServiceCallback callback) + public void getUserProfile(JsArrayString participants, ServiceCallback _callback) throws RequestException { + if (_callback == null) + _callback = ServiceCallback.getVoidCallback(); + + final ServiceCallback callback = _callback; + String url = baseServerUrl + "/swell/account/"; url = BrowserSession.addSessionToUrl(url);
