jvanzyl 00/12/07 09:39:37
Modified: src/java/org/apache/velocity/util/introspection
MethodMap.java
Log:
- applied patch sent by Christoph Reck to fix the problem where
isAssignableFrom did not consider primitive types.
Revision Changes Path
1.7 +17 -2
jakarta-velocity/src/java/org/apache/velocity/util/introspection/MethodMap.java
Index: MethodMap.java
===================================================================
RCS file:
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/util/introspection/MethodMap.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- MethodMap.java 2000/11/10 03:27:39 1.6
+++ MethodMap.java 2000/12/07 17:39:36 1.7
@@ -65,7 +65,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Bob McWhirter</a>
- * @version $Id: MethodMap.java,v 1.6 2000/11/10 03:27:39 jvanzyl Exp $
+ * @version $Id: MethodMap.java,v 1.7 2000/12/07 17:39:36 jvanzyl Exp $
*/
public class MethodMap
@@ -124,7 +124,22 @@
if (j >= parameterTypes.length)
return method;
- if (!parameterTypes[j].isAssignableFrom(params[j].getClass()))
+ Class c = parameterTypes[j];
+ Object p = params[j];
+ if ( c.isPrimitive() )
+ {
+ try
+ {
+ if ( c != p.getClass().getField("TYPE").get(p) )
+ break;
+ }
+ catch (Exception ex)
+ {
+ break; // p is not a primitive derivate
+ }
+ }
+ else if ( (p != null) &&
+ !c.isAssignableFrom( p.getClass() ) )
break;
}
}