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

Reply via email to