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() {