You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2011/01/09 09:43:36 UTC

svn commit: r1056892 - in /camel/trunk/camel-core/src: main/java/org/apache/camel/component/bean/ main/java/org/apache/camel/converter/ main/java/org/apache/camel/processor/ test/java/org/apache/camel/converter/

Author: davsclaus
Date: Sun Jan  9 08:43:35 2011
New Revision: 1056892

URL: http://svn.apache.org/viewvc?rev=1056892&view=rev
Log:
CAMEL-3311: Polished code

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java?rev=1056892&r1=1056891&r2=1056892&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java Sun Jan  9 08:43:35 2011
@@ -156,7 +156,8 @@ public class BeanInfo {
             }
         }
         if (methodInfo == null) {
-            methodInfo = chooseMethod(pojo, exchange, name, null);
+            // no name or type
+            methodInfo = chooseMethod(pojo, exchange, null, null);
         }
         if (methodInfo == null) {
             methodInfo = defaultMethod;

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java?rev=1056892&r1=1056891&r2=1056892&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java Sun Jan  9 08:43:35 2011
@@ -193,6 +193,9 @@ public class BeanProcessor extends Servi
             if (isExplicitMethod) {
                 in.setHeader(Exchange.BEAN_METHOD_NAME, prevMethod);
             }
+            if (isExplicitType) {
+                in.setHeader(Exchange.BEAN_TYPE_NAME, prevType);
+            }
         }
 
         // if the method returns something then set the value returned on the Exchange

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java?rev=1056892&r1=1056891&r2=1056892&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java Sun Jan  9 08:43:35 2011
@@ -20,6 +20,7 @@ import java.util.Collection;
 import java.util.Iterator;
 
 import org.apache.camel.Converter;
+import org.apache.camel.Exchange;
 import org.apache.camel.util.ObjectHelper;
 
 /**
@@ -113,11 +114,16 @@ public final class ObjectConverter {
      */
     @SuppressWarnings("rawtypes")
     @Converter
-    public static Class toClass(Object value) {
+    public static Class toClass(Object value, Exchange exchange) {
         if (value instanceof Class) {
             return (Class) value;
         } else if (value instanceof String) {
-            return ObjectHelper.loadClass((String) value);
+            // prefer to use class resolver API
+            if (exchange != null) {
+                return exchange.getContext().getClassResolver().resolveClass((String) value);
+            } else {
+                return ObjectHelper.loadClass((String) value);
+            }
         } else {
             return null;
         }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java?rev=1056892&r1=1056891&r2=1056892&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java Sun Jan  9 08:43:35 2011
@@ -381,12 +381,12 @@ public class MulticastProcessor extends 
                 } else {
                     executionException.set(ObjectHelper.wrapRuntimeCamelException(e));
                 }
+            } finally {
+                // must signal we are done so the latch can open and let the other thread continue processing
+                LOG.trace("Signaling we are done aggregating on the fly");
+                aggregationOnTheFlyDone.countDown();
             }
 
-            // must signal we are done so the latch can open and let the other thread continue processing
-            LOG.trace("Signaling we are done aggregating on the fly");
-            aggregationOnTheFlyDone.countDown();
-
             LOG.trace("Aggregate on the fly task +++ done +++");
         }
 
@@ -399,7 +399,7 @@ public class MulticastProcessor extends 
             // not a for loop as on the fly may still run
             while (!done) {
                 // check if we have already aggregate everything
-                if (allTasksSubmitted.get() && aggregated >= total.get() || stoppedOnException) {
+                if (allTasksSubmitted.get() && aggregated >= total.get()) {
                     if (LOG.isDebugEnabled()) {
                         LOG.debug("Done aggregating " + aggregated + " exchanges on the fly.");
                     }

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java?rev=1056892&r1=1056891&r2=1056892&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ObjectConverterTest.java Sun Jan  9 08:43:35 2011
@@ -49,10 +49,10 @@ public class ObjectConverterTest extends
     }
     
     public void testToClass() {
-        assertEquals(String.class, ObjectConverter.toClass(String.class));
-        assertEquals(String.class, ObjectConverter.toClass("java.lang.String"));
-        assertEquals(null, ObjectConverter.toClass(new Integer(4)));
-        assertEquals(null, ObjectConverter.toClass("foo.Bar"));
+        assertEquals(String.class, ObjectConverter.toClass(String.class, null));
+        assertEquals(String.class, ObjectConverter.toClass("java.lang.String", null));
+        assertEquals(null, ObjectConverter.toClass(new Integer(4), null));
+        assertEquals(null, ObjectConverter.toClass("foo.Bar", null));
     }
 
     public void testToShort() {