You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/10/20 23:03:52 UTC
svn commit: r1533980 - in /tomcat/trunk/java/org/apache/tomcat/websocket:
Util.java WsSession.java
Author: markt
Date: Sun Oct 20 21:03:52 2013
New Revision: 1533980
URL: http://svn.apache.org/r1533980
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55681
Pass the session to the Pojo MessageHandler wrappers so it is passed in to the MessageHandler method calls.
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/Util.java
tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/Util.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/Util.java?rev=1533980&r1=1533979&r2=1533980&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/Util.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/Util.java Sun Oct 20 21:03:52 2013
@@ -45,6 +45,7 @@ import javax.websocket.Encoder;
import javax.websocket.EndpointConfig;
import javax.websocket.MessageHandler;
import javax.websocket.PongMessage;
+import javax.websocket.Session;
import org.apache.tomcat.util.res.StringManager;
import org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBinary;
@@ -348,7 +349,8 @@ public class Util {
public static Set<MessageHandlerResult> getMessageHandlers(
- MessageHandler listener, EndpointConfig endpointConfig) {
+ MessageHandler listener, EndpointConfig endpointConfig,
+ Session session) {
Class<?> target = Util.getMessageType(listener);
@@ -377,7 +379,7 @@ public class Util {
} else if (byte[].class.isAssignableFrom(target)) {
MessageHandlerResult result = new MessageHandlerResult(
new PojoMessageHandlerWholeBinary(listener,
- getOnMessageMethod(listener), null,
+ getOnMessageMethod(listener), session,
endpointConfig, null, new Object[1], 0, true, -1,
false, -1),
MessageHandlerResultType.BINARY);
@@ -385,7 +387,7 @@ public class Util {
} else if (InputStream.class.isAssignableFrom(target)) {
MessageHandlerResult result = new MessageHandlerResult(
new PojoMessageHandlerWholeBinary(listener,
- getOnMessageMethod(listener), null,
+ getOnMessageMethod(listener), session,
endpointConfig, null, new Object[1], 0, true, -1,
true, -1),
MessageHandlerResultType.BINARY);
@@ -393,7 +395,7 @@ public class Util {
} else if (Reader.class.isAssignableFrom(target)) {
MessageHandlerResult result = new MessageHandlerResult(
new PojoMessageHandlerWholeText(listener,
- getOnMessageMethod(listener), null,
+ getOnMessageMethod(listener), session,
endpointConfig, null, new Object[1], 0, true, -1,
-1),
MessageHandlerResultType.TEXT);
@@ -414,7 +416,7 @@ public class Util {
Method m = getOnMessageMethod(listener);
if (decoderMatch.getBinaryDecoders().size() > 0) {
MessageHandlerResult result = new MessageHandlerResult(
- new PojoMessageHandlerWholeBinary(listener, m, null,
+ new PojoMessageHandlerWholeBinary(listener, m, session,
endpointConfig,
decoderMatch.getBinaryDecoders(), new Object[1],
0, false, -1, false, -1),
@@ -423,7 +425,7 @@ public class Util {
}
if (decoderMatch.getTextDecoders().size() > 0) {
MessageHandlerResult result = new MessageHandlerResult(
- new PojoMessageHandlerWholeText(listener, m, null,
+ new PojoMessageHandlerWholeText(listener, m, session,
endpointConfig,
decoderMatch.getTextDecoders(), new Object[1],
0, false, -1, -1),
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1533980&r1=1533979&r2=1533980&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Sun Oct 20 21:03:52 2013
@@ -177,7 +177,7 @@ public class WsSession implements Sessio
// just as easily.
Set<MessageHandlerResult> mhResults =
- Util.getMessageHandlers(listener, endpointConfig);
+ Util.getMessageHandlers(listener, endpointConfig, this);
for (MessageHandlerResult mhResult : mhResults) {
switch (mhResult.getType()) {
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org