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