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: [email protected]
For additional commands, e-mail: [email protected]