You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2011/02/22 12:56:25 UTC

svn commit: r1073304 - /camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiComponentResolver.java

Author: jstrachan
Date: Tue Feb 22 11:56:24 2011
New Revision: 1073304

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

Modified:
    camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiComponentResolver.java

Modified: camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiComponentResolver.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiComponentResolver.java?rev=1073304&r1=1073303&r2=1073304&view=diff
==============================================================================
--- camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiComponentResolver.java (original)
+++ camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiComponentResolver.java Tue Feb 22 11:56:24 2011
@@ -19,6 +19,7 @@ package org.apache.camel.core.osgi;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Component;
 import org.apache.camel.spi.ComponentResolver;
+import org.apache.camel.util.CamelContextHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.InvalidSyntaxException;
@@ -47,6 +48,13 @@ public class OsgiComponentResolver imple
         }
         if (bean instanceof Component) {
             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;
+            }
         }
 
         // Check in OSGi bundles