You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ha...@apache.org on 2008/08/21 16:25:07 UTC

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

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 {