Updated Branches:
  refs/heads/master 512b0a165 -> d33db16a3

fixed findComponents() for in blueprint too (had missed there's 2 OSGi camel 
context implementations - DOH ;)


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d33db16a
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d33db16a
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d33db16a

Branch: refs/heads/master
Commit: d33db16a385d1eaf1ced7da8766aaa7e4175b783
Parents: 512b0a1
Author: James Strachan <james.strac...@gmail.com>
Authored: Sat Jun 8 09:47:49 2013 +0200
Committer: James Strachan <james.strac...@gmail.com>
Committed: Sat Jun 8 10:29:09 2013 +0200

----------------------------------------------------------------------
 .../camel/blueprint/BlueprintCamelContext.java     |    9 +++++
 .../camel/core/osgi/OsgiDefaultCamelContext.java   |   16 +-------
 .../camel/core/osgi/utils/BundleContextUtils.java  |   28 +++++++++++++++
 3 files changed, 39 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d33db16a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java
----------------------------------------------------------------------
diff --git 
a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java
 
b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java
index cded338..8a86bf6 100644
--- 
a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java
+++ 
b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java
@@ -16,6 +16,10 @@
  */
 package org.apache.camel.blueprint;
 
+import java.io.IOException;
+import java.util.Map;
+import java.util.Properties;
+
 import org.apache.camel.TypeConverter;
 import org.apache.camel.core.osgi.OsgiCamelContextHelper;
 import org.apache.camel.core.osgi.OsgiFactoryFinderResolver;
@@ -25,6 +29,7 @@ import 
org.apache.camel.core.osgi.utils.BundleDelegatingClassLoader;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.spi.FactoryFinder;
 import org.apache.camel.spi.Registry;
+import org.apache.camel.util.LoadPropertiesException;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceEvent;
 import org.osgi.framework.ServiceListener;
@@ -109,6 +114,10 @@ public class BlueprintCamelContext extends 
DefaultCamelContext implements Servic
         stop();
     }
 
+    @Override
+    public Map<String, Properties> findComponents() throws 
LoadPropertiesException, IOException {
+        return BundleContextUtils.findComponents(bundleContext, this);
+    }
 
     @Override
     public void blueprintEvent(BlueprintEvent event) {

http://git-wip-us.apache.org/repos/asf/camel/blob/d33db16a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java
----------------------------------------------------------------------
diff --git 
a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java
 
b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java
index 1a7b472..d049f1c 100644
--- 
a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java
+++ 
b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiDefaultCamelContext.java
@@ -17,21 +17,15 @@
 package org.apache.camel.core.osgi;
 
 import java.io.IOException;
-import java.net.URL;
-import java.util.Enumeration;
 import java.util.Map;
 import java.util.Properties;
-import java.util.SortedMap;
-import java.util.TreeMap;
 
 import org.apache.camel.TypeConverter;
 import org.apache.camel.core.osgi.utils.BundleContextUtils;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.spi.FactoryFinder;
 import org.apache.camel.spi.Registry;
-import org.apache.camel.util.CamelContextHelper;
 import org.apache.camel.util.LoadPropertiesException;
-import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 
 public class OsgiDefaultCamelContext extends DefaultCamelContext {
@@ -49,15 +43,9 @@ public class OsgiDefaultCamelContext extends 
DefaultCamelContext {
         OsgiCamelContextHelper.osgiUpdate(this, bundleContext);
     }
 
+    @Override
     public Map<String, Properties> findComponents() throws 
LoadPropertiesException, IOException {
-        SortedMap<String, Properties> answer = new TreeMap<String, 
Properties>();
-        Bundle[] bundles = bundleContext.getBundles();
-        for (Bundle bundle : bundles) {
-            Enumeration<URL> iter = 
bundle.getResources(CamelContextHelper.COMPONENT_DESCRIPTOR);
-            SortedMap<String,Properties> map = 
CamelContextHelper.findComponents(this, iter);
-            answer.putAll(map);
-        }
-        return answer;
+        return BundleContextUtils.findComponents(bundleContext, this);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/d33db16a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleContextUtils.java
----------------------------------------------------------------------
diff --git 
a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleContextUtils.java
 
b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleContextUtils.java
index c0137ef..85a0961 100644
--- 
a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleContextUtils.java
+++ 
b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleContextUtils.java
@@ -16,10 +16,24 @@
  */
 package org.apache.camel.core.osgi.utils;
 
+import java.io.IOException;
 import java.lang.reflect.Method;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.Enumeration;
+import java.util.Map;
+import java.util.Properties;
+import java.util.SortedMap;
+import java.util.TreeMap;
 
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.ComponentResolver;
+import org.apache.camel.util.CamelContextHelper;
+import org.apache.camel.util.LoadPropertiesException;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
 
 /**
  * Helper class
@@ -64,4 +78,18 @@ public final class BundleContextUtils {
         return null;
     }
 
+    /**
+     * Finds the components available on the bundle context and camel context
+     */
+    public static Map<String, Properties> findComponents(BundleContext 
bundleContext, CamelContext camelContext)
+            throws IOException, LoadPropertiesException {
+        SortedMap<String, Properties> answer = new TreeMap<String, 
Properties>();
+        Bundle[] bundles = bundleContext.getBundles();
+        for (Bundle bundle : bundles) {
+            Enumeration<URL> iter = 
bundle.getResources(CamelContextHelper.COMPONENT_DESCRIPTOR);
+            SortedMap<String,Properties> map = 
CamelContextHelper.findComponents(camelContext, iter);
+            answer.putAll(map);
+        }
+        return answer;
+    }
 }

Reply via email to