You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by da...@apache.org on 2010/01/02 21:08:32 UTC

svn commit: r895280 - /cxf/dosgi/trunk/discovery/local/src/main/java/org/apache/cxf/dosgi/discovery/local/LocalDiscovery.java

Author: davidb
Date: Sat Jan  2 20:08:31 2010
New Revision: 895280

URL: http://svn.apache.org/viewvc?rev=895280&view=rev
Log:
Handle pre-existing bundles.

Modified:
    cxf/dosgi/trunk/discovery/local/src/main/java/org/apache/cxf/dosgi/discovery/local/LocalDiscovery.java

Modified: cxf/dosgi/trunk/discovery/local/src/main/java/org/apache/cxf/dosgi/discovery/local/LocalDiscovery.java
URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/discovery/local/src/main/java/org/apache/cxf/dosgi/discovery/local/LocalDiscovery.java?rev=895280&r1=895279&r2=895280&view=diff
==============================================================================
--- cxf/dosgi/trunk/discovery/local/src/main/java/org/apache/cxf/dosgi/discovery/local/LocalDiscovery.java (original)
+++ cxf/dosgi/trunk/discovery/local/src/main/java/org/apache/cxf/dosgi/discovery/local/LocalDiscovery.java Sat Jan  2 20:08:31 2010
@@ -61,7 +61,14 @@
 
             @Override
             public Object addingService(ServiceReference reference) {
-                System.out.println("@@@@ " + reference + "-" + Arrays.asList(reference.getPropertyKeys()));
+                System.out.println("@@@@ " + reference);
+                for (String key : reference.getPropertyKeys()) {
+                    Object val = reference.getProperty(key);
+                    if (val.getClass().isArray()) {
+                        val = Arrays.asList((Object []) val);
+                    }
+                    System.out.println("-----" + key + ":" + val);
+                }
                 Object svc = super.addingService(reference);
                 cacheTracker(reference, svc);
                 return svc;
@@ -70,7 +77,14 @@
             @Override
             public void modifiedService(ServiceReference reference,
                     Object service) {
-                System.out.println("#### " + reference + "-" + Arrays.asList(reference.getPropertyKeys()));
+                System.out.println("#### " + reference);
+                for (String key : reference.getPropertyKeys()) {
+                    Object val = reference.getProperty(key);
+                    if (val.getClass().isArray()) {
+                        val = Arrays.asList((Object []) val);
+                    }
+                    System.out.println("-----" + key + ":" + val);
+                }
 
                 cacheTracker(reference, service);
             }
@@ -86,6 +100,20 @@
         listenerTracker.open();
         
         bundleContext.addBundleListener(this);
+        processExistingBundles();
+    }
+
+    private void processExistingBundles() {
+        Bundle [] bundles = bundleContext.getBundles();
+        if (bundles == null) {
+            return;
+        }
+        
+        for (Bundle b : bundles) {
+            if (b.getState() == Bundle.ACTIVE) {
+                findDeclaredRemoteServices(b);
+            }
+        }
     }
 
     protected void cacheTracker(ServiceReference reference, Object svc) {