Author: jstrachan
Date: Tue Feb 22 11:55:49 2011
New Revision: 1073303

URL: http://svn.apache.org/viewvc?rev=1073303&view=rev
Log:
allow CAMEL-3651 and CAMEL-3563 to work in OSGi blueprint too

Modified:
    
camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java

Modified: 
camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java?rev=1073303&r1=1073302&r2=1073303&view=diff
==============================================================================
--- 
camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java
 (original)
+++ 
camel/trunk/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java
 Tue Feb 22 11:55:49 2011
@@ -20,6 +20,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Component;
 import org.apache.camel.core.osgi.OsgiComponentResolver;
 import org.apache.camel.spi.ComponentResolver;
+import org.apache.camel.util.CamelContextHelper;
 import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -41,6 +42,13 @@ public class BlueprintComponentResolver 
                     LOG.debug("Found component: " + name + " in registry: " + 
bean);
                 }
                 return (Component) bean;
+            } else {
+                // lets use Camel's type conversion mechanism to convert 
things like CamelContext
+                // and other types into a valid Component
+                Component component = CamelContextHelper.convertTo(context, 
Component.class, bean);
+                if (component != null) {
+                    return component;
+                }
             }
         } catch (Exception e) {
             LOG.debug("Ignored error looking up bean: " + name + ". Error: " + 
e);


Reply via email to