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

Reply via email to