Author: markt Date: Thu Jan 31 17:05:41 2019 New Revision: 1852617 URL: http://svn.apache.org/viewvc?rev=1852617&view=rev Log: Follow-up to r1852604 Only validate type for annotated parameters
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/LocalStrings.properties tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoPathParam.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/LocalStrings.properties?rev=1852617&r1=1852616&r2=1852617&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/LocalStrings.properties [UTF-8] (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/LocalStrings.properties [UTF-8] Thu Jan 31 17:05:41 2019 @@ -31,7 +31,6 @@ pojoMethodMapping.duplicateMessageParam= pojoMethodMapping.duplicatePongMessageParam=Multiple PongMessage parameters present on the method [{0}] of class [{1}] that was annotated with OnMessage pojoMethodMapping.duplicateSessionParam=Multiple session parameters present on the method [{0}] of class [{1}] that was annotated with OnMessage pojoMethodMapping.invalidDecoder=The specified decoder of type [{0}] could not be instantiated -pojoMethodMapping.invalidPathParamType=Parameters annotated with @PathParam may only be Strings, Java primitives or a boxed version thereof pojoMethodMapping.methodNotPublic=The annotated method [{0}] is not public pojoMethodMapping.noPayload=No payload parameter present on the method [{0}] of class [{1}] that was annotated with OnMessage pojoMethodMapping.onErrorNoThrowable=No Throwable parameter was present on the method [{0}] of class [{1}] that was annotated with OnError @@ -42,4 +41,4 @@ pojoMethodMapping.partialPong=Invalid Po pojoMethodMapping.partialReader=Invalid Reader and boolean parameters present on the method [{0}] of class [{1}] that was annotated with OnMessage pojoMethodMapping.pongWithPayload=Invalid PongMessage and Message parameters present on the method [{0}] of class [{1}] that was annotated with OnMessage -pojoPathParam.wrongType=The type [{0}] is not permitted as a path parameter. Must be String, primitive or boxed version of primitive +pojoPathParam.wrongType=The type [{0}] is not permitted as a path parameter. Parameters annotated with @PathParam may only be Strings, Java primitives or a boxed version thereof. 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=1852617&r1=1852616&r2=1852617&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java Thu Jan 31 17:05:41 2019 @@ -308,15 +308,6 @@ public class PojoMethodMapping { for (Annotation paramAnnotation : paramAnnotations) { if (paramAnnotation.annotationType().equals( PathParam.class)) { - // Check that the type is valid. "0" coerces to every - // valid type - try { - Util.coerceToType(type, "0"); - } catch (IllegalArgumentException iae) { - throw new DeploymentException(sm.getString( - "pojoMethodMapping.invalidPathParamType"), - iae); - } result[i] = new PojoPathParam(type, ((PathParam) paramAnnotation).value()); break; Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoPathParam.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoPathParam.java?rev=1852617&r1=1852616&r2=1852617&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoPathParam.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoPathParam.java Thu Jan 31 17:05:41 2019 @@ -38,7 +38,10 @@ public class PojoPathParam { public PojoPathParam(Class<?> type, String name) throws DeploymentException { - validateType(type); + if (name != null) { + // Annotated as @PathParam so validate type + validateType(type); + } this.type = type; this.name = name; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org