Updated Branches: refs/heads/master c59c5fbc1 -> 3a8760b06
WICKET-4611 Provide native integration with web containers' websocket support Change the API of IWebSocketRequestHandler#push(String) to #push(CharSequence). Add some checks for the passed messages. Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/3a8760b0 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/3a8760b0 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/3a8760b0 Branch: refs/heads/master Commit: 3a8760b062fbf178cc9ca1725d288d9c2bc25ff9 Parents: 68c97c2 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Wed Jun 20 10:40:06 2012 +0300 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Wed Jun 20 10:40:06 2012 +0300 ---------------------------------------------------------------------- .../wicket/ajax/IWebSocketRequestHandler.java | 2 +- .../wicket/ajax/WebSocketRequestHandler.java | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/3a8760b0/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/ajax/IWebSocketRequestHandler.java ---------------------------------------------------------------------- diff --git a/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/ajax/IWebSocketRequestHandler.java b/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/ajax/IWebSocketRequestHandler.java index d177161..45e9749 100644 --- a/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/ajax/IWebSocketRequestHandler.java +++ b/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/ajax/IWebSocketRequestHandler.java @@ -29,7 +29,7 @@ public interface IWebSocketRequestHandler * @param message * the text message to push to the client if the web socket connection is open */ - void push(String message); + void push(CharSequence message); /** * Pushes a binary message to the client. http://git-wip-us.apache.org/repos/asf/wicket/blob/3a8760b0/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/ajax/WebSocketRequestHandler.java ---------------------------------------------------------------------- diff --git a/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/ajax/WebSocketRequestHandler.java b/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/ajax/WebSocketRequestHandler.java index 839c2e6..1974ef4 100644 --- a/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/ajax/WebSocketRequestHandler.java +++ b/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/ajax/WebSocketRequestHandler.java @@ -75,18 +75,23 @@ public class WebSocketRequestHandler implements AjaxRequestTarget, IWebSocketReq } @Override - public void push(String message) + public void push(CharSequence message) { if (connection.isOpen()) { + Args.notNull(message, "message"); try { - connection.sendMessage(message); + connection.sendMessage(message.toString()); } catch (IOException iox) { LOG.error("An error occurred while pushing text message.", iox); } } + else + { + LOG.warn("The websocket connection is already closed. Cannot push the text message '{}'", message); + } } @Override @@ -94,6 +99,7 @@ public class WebSocketRequestHandler implements AjaxRequestTarget, IWebSocketReq { if (connection.isOpen()) { + Args.notNull(message, "message"); try { connection.sendMessage(message, offset, length); @@ -102,6 +108,10 @@ public class WebSocketRequestHandler implements AjaxRequestTarget, IWebSocketReq LOG.error("An error occurred while pushing binary message.", iox); } } + else + { + LOG.warn("The websocket connection is already closed. Cannot push the binary message '{}'", message); + } } @Override
