Author: violetagg
Date: Thu Aug 13 20:48:50 2015
New Revision: 1695778

URL: http://svn.apache.org/r1695778
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58232
Add PojoMethodMapping to the user properties only if there are annotated methods

Modified:
    tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
    tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java?rev=1695778&r1=1695777&r2=1695778&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java 
Thu Aug 13 20:48:50 2015
@@ -257,6 +257,11 @@ public class PojoMethodMapping {
     }
 
 
+    public boolean hasMessageHandlers() {
+        return !onMessage.isEmpty();
+    }
+
+
     public Set<MessageHandler> getMessageHandlers(Object pojo,
             Map<String,String> pathParameters, Session session,
             EndpointConfig config) {

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java?rev=1695778&r1=1695777&r2=1695778&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java 
Thu Aug 13 20:48:50 2015
@@ -185,9 +185,11 @@ public class WsServerContainer extends W
         // Add method mapping to user properties
         PojoMethodMapping methodMapping = new 
PojoMethodMapping(sec.getEndpointClass(),
                 sec.getDecoders(), path);
-        sec.getUserProperties().put(
-                
org.apache.tomcat.websocket.pojo.Constants.POJO_METHOD_MAPPING_KEY,
-                methodMapping);
+        if (methodMapping.getOnClose() != null || methodMapping.getOnOpen() != 
null
+                || methodMapping.getOnError() != null || 
methodMapping.hasMessageHandlers()) {
+            
sec.getUserProperties().put(org.apache.tomcat.websocket.pojo.Constants.POJO_METHOD_MAPPING_KEY,
+                    methodMapping);
+        }
 
         UriTemplate uriTemplate = new UriTemplate(path);
         if (uriTemplate.hasParameters()) {



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to