Author: markt Date: Fri Mar 22 20:31:29 2013 New Revision: 1459972 URL: http://svn.apache.org/r1459972 Log: Automatically encode primitives and their object equivalents.
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/Util.java tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.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=1459972&r1=1459971&r2=1459972&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/Util.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/Util.java Fri Mar 22 20:31:29 2013 @@ -217,4 +217,21 @@ public class Util { return null; } } + + + public static boolean isPrimitive(Class<?> clazz) { + if (clazz.isPrimitive()) { + return true; + } else if(clazz.equals(Boolean.class) || + clazz.equals(Byte.class) || + clazz.equals(Character.class) || + clazz.equals(Double.class) || + clazz.equals(Float.class) || + clazz.equals(Integer.class) || + clazz.equals(Long.class) || + clazz.equals(Short.class)) { + return true; + } + return false; + } } Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java?rev=1459972&r1=1459971&r2=1459972&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java Fri Mar 22 20:31:29 2013 @@ -419,6 +419,12 @@ public abstract class WsRemoteEndpointIm @SuppressWarnings({"unchecked", "rawtypes"}) public void sendObjectByCompletion(Object obj, SendHandler completion) { + if (Util.isPrimitive(obj.getClass())) { + String msg = obj.toString(); + sendStringByCompletion(msg, completion); + return; + } + Encoder encoder = findEncoder(obj); try { 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=1459972&r1=1459971&r2=1459972&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java Fri Mar 22 20:31:29 2013 @@ -357,7 +357,7 @@ public class PojoMethodMapping { "pojoMethodMapping.duplicateMessageParam", m.getName(), m.getDeclaringClass().getName())); } - } else if (isPrimitive(types[i])) { + } else if (Util.isPrimitive(types[i])) { if (indexPrimitive == -1) { indexPrimitive = i; } else { @@ -497,23 +497,6 @@ public class PojoMethodMapping { } - private boolean isPrimitive(Class<?> clazz) { - if (clazz.isPrimitive()) { - return true; - } else if(clazz.equals(Boolean.class) || - clazz.equals(Byte.class) || - clazz.equals(Character.class) || - clazz.equals(Double.class) || - clazz.equals(Float.class) || - clazz.equals(Integer.class) || - clazz.equals(Long.class) || - clazz.equals(Short.class)) { - return true; - } - return false; - } - - public MessageHandler getMessageHandler(Object pojo, Map<String,String> pathParameters, Session session, EndpointConfig config) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org