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 2010/05/10 11:38:35 UTC
svn commit: r942696 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/component/bean/
camel-core/src/test/java/org/apache/camel/component/bean/
components/camel-spring/src/test/java/org/apache/camel/spring/processor/
components/camel-spring/...
Author: davsclaus
Date: Mon May 10 09:38:35 2010
New Revision: 942696
URL: http://svn.apache.org/viewvc?rev=942696&view=rev
Log:
CAMEL-2705: Let bean registry fallback to see if the name is a FQN for a class.
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/RegistryBean.java
camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanRegistryBeanTest.java
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringMethodCallTest.java
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringMethodCallTest.xml
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/RegistryBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/RegistryBean.java?rev=942696&r1=942695&r2=942696&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/RegistryBean.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/RegistryBean.java Mon May 10 09:38:35 2010
@@ -55,7 +55,12 @@ public class RegistryBean implements Bea
public Object getBean() throws NoSuchBeanException {
Object value = lookupBean();
if (value == null) {
- throw new NoSuchBeanException(name);
+ // maybe its a class
+ value = context.getClassResolver().resolveClass(name);
+ if (value == null) {
+ // no its not a class then we cannot find the bean
+ throw new NoSuchBeanException(name);
+ }
}
if (value != bean) {
bean = value;
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanRegistryBeanTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanRegistryBeanTest.java?rev=942696&r1=942695&r2=942696&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanRegistryBeanTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanRegistryBeanTest.java Mon May 10 09:38:35 2010
@@ -81,6 +81,14 @@ public class BeanRegistryBeanTest extend
assertEquals("foofoo", foo.echo("foo"));
}
+ public void testLookupFQNClass() throws Exception {
+ RegistryBean rb = new RegistryBean(context, "org.apache.camel.component.bean.MyDummyBean");
+
+ Object bean = rb.getBean();
+ MyDummyBean dummy = assertIsInstanceOf(MyDummyBean.class, bean);
+ assertEquals("Hello World", dummy.hello("World"));
+ }
+
public static class MyFooBean {
public String echo(String s) {
Modified: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringMethodCallTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringMethodCallTest.java?rev=942696&r1=942695&r2=942696&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringMethodCallTest.java (original)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringMethodCallTest.java Mon May 10 09:38:35 2010
@@ -47,6 +47,16 @@ public class SpringMethodCallTest extend
assertMockEndpointsSatisfied();
}
+ public void testToBeanType() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedBodiesReceived("Hi Camel", "Hi World");
+
+ template.sendBody("direct:tobeantype", "Camel");
+ template.sendBody("direct:tobeantype", "World");
+
+ assertMockEndpointsSatisfied();
+ }
+
protected CamelContext createCamelContext() throws Exception {
return createSpringCamelContext(this, "/org/apache/camel/spring/processor/SpringMethodCallTest.xml");
}
Modified: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringMethodCallTest.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringMethodCallTest.xml?rev=942696&r1=942695&r2=942696&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringMethodCallTest.xml (original)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringMethodCallTest.xml Mon May 10 09:38:35 2010
@@ -40,6 +40,14 @@
</setHeader>
<to uri="mock:ref"/>
</route>
+
+ <route>
+ <from uri="direct:tobeantype"/>
+ <to uri="bean:org.apache.camel.spring.processor.MyCoolBean"/>
+ <to uri="mock:result"/>
+ </route>
+
</camelContext>
+
</beans>