Author: hadrian
Date: Thu Aug 21 07:25:07 2008
New Revision: 687770

URL: http://svn.apache.org/viewvc?rev=687770&view=rev
Log:
Use isAssignableFrom instead of == to validat arg type compatibility (used 
during type conversion).

Modified:
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java

Modified: 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java?rev=687770&r1=687769&r2=687770&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java
 Thu Aug 21 07:25:07 2008
@@ -236,8 +236,8 @@
 
             @Override
             protected String assertionFailureMessage(E exchange) {
-                return super.assertionFailureMessage(exchange) + " for <" + 
expression.evaluate(exchange)
-                       + ">";
+                return super.assertionFailureMessage(exchange) + 
+                    " for <" + expression.evaluate(exchange) + ">";
             }
         };
     }

Modified: 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java?rev=687770&r1=687769&r2=687770&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
 Thu Aug 21 07:25:07 2008
@@ -188,7 +188,7 @@
 
     protected boolean isValidConverterMethod(Method method) {
         Class<?>[] parameterTypes = method.getParameterTypes();
-        return (parameterTypes != null)
-            && (parameterTypes.length == 1 || (parameterTypes.length == 2 && 
parameterTypes[1] == Exchange.class));
+        return (parameterTypes != null) && (parameterTypes.length == 1 || 
+            (parameterTypes.length == 2 && 
Exchange.class.isAssignableFrom(parameterTypes[1])));
     }
 }

Modified: 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java?rev=687770&r1=687769&r2=687770&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java
 Thu Aug 21 07:25:07 2008
@@ -191,7 +191,7 @@
             Exception typeConvertionFailed = null;
             for (Method setter : setters) {
                 // If the type is null or it matches the needed type, just use 
the value directly
-                if (value == null || value.getClass() == 
setter.getParameterTypes()[0]) {
+                if (value == null || 
setter.getParameterTypes()[0].isAssignableFrom(value.getClass())) {
                     setter.invoke(target, value);
                     return true;
                 } else {


Reply via email to