Repository: camel
Updated Branches:
  refs/heads/camel-2.14.x 7f730a86b -> d2758898a


CAMEL-7916 Fix the issue that OsgiServiceRegistry.findByTypeWithName doesn't 
return the service which name property is null


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

Branch: refs/heads/camel-2.14.x
Commit: 2141f1cd4f064eff2366e2bcf65225809b92faaa
Parents: 7f730a8
Author: Willem Jiang <willem.ji...@gmail.com>
Authored: Fri Oct 17 14:10:58 2014 +0800
Committer: Willem Jiang <willem.ji...@gmail.com>
Committed: Fri Oct 17 16:25:32 2014 +0800

----------------------------------------------------------------------
 .../java/org/apache/camel/core/osgi/OsgiServiceRegistry.java    | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/2141f1cd/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiServiceRegistry.java
----------------------------------------------------------------------
diff --git 
a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiServiceRegistry.java
 
b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiServiceRegistry.java
index c90245f..e1174d4 100644
--- 
a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiServiceRegistry.java
+++ 
b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiServiceRegistry.java
@@ -90,6 +90,7 @@ public class OsgiServiceRegistry extends 
LifecycleStrategySupport implements Reg
 
     public <T> Map<String, T> findByTypeWithName(Class<T> type) {
         Map<String, T> result = new HashMap<String, T>();
+        int count = 0;
         try {
             ServiceReference<?>[] refs = 
bundleContext.getAllServiceReferences(type.getName(), null);
             if (refs != null) {
@@ -101,6 +102,10 @@ public class OsgiServiceRegistry extends 
LifecycleStrategySupport implements Reg
                             String name = (String)sr.getProperty("name");
                             if (name != null) {
                                 result.put(name , type.cast(service));
+                            } else {
+                                // generate a unique name for it
+                                result.put(type.getSimpleName() + count, 
type.cast(service));
+                                count++;
                             }
                         }
                     }

Reply via email to