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 2009/05/27 14:37:18 UTC

svn commit: r779147 - in /cxf/dosgi/trunk/discovery/local/src: main/java/org/apache/cxf/dosgi/discovery/local/LocalDiscoveryService.java test/java/org/apache/cxf/dosgi/discovery/local/LocalDiscoveryServiceTest.java

Author: davidb
Date: Wed May 27 12:37:18 2009
New Revision: 779147

URL: http://svn.apache.org/viewvc?rev=779147&view=rev
Log:
Additional test for what was committed in r779136

Modified:
    cxf/dosgi/trunk/discovery/local/src/main/java/org/apache/cxf/dosgi/discovery/local/LocalDiscoveryService.java
    cxf/dosgi/trunk/discovery/local/src/test/java/org/apache/cxf/dosgi/discovery/local/LocalDiscoveryServiceTest.java

Modified: cxf/dosgi/trunk/discovery/local/src/main/java/org/apache/cxf/dosgi/discovery/local/LocalDiscoveryService.java
URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/discovery/local/src/main/java/org/apache/cxf/dosgi/discovery/local/LocalDiscoveryService.java?rev=779147&r1=779146&r2=779147&view=diff
==============================================================================
--- cxf/dosgi/trunk/discovery/local/src/main/java/org/apache/cxf/dosgi/discovery/local/LocalDiscoveryService.java (original)
+++ cxf/dosgi/trunk/discovery/local/src/main/java/org/apache/cxf/dosgi/discovery/local/LocalDiscoveryService.java Wed May 27 12:37:18 2009
@@ -105,7 +105,7 @@
     }
 
     public void bundleChanged(BundleEvent be) {
-        LOG.info("bundle changed: " + be.getBundle().getSymbolicName());
+        LOG.fine("bundle changed: " + be.getBundle().getSymbolicName());
         switch (be.getType()) {
         case BundleEvent.STARTED:
             findDeclaredRemoteServices(be.getBundle());
@@ -320,12 +320,12 @@
         }
     }
 
-    private void triggerCallbacks(DiscoveredServiceTracker tracker,
-                                  String toMatch, 
-                                  boolean isFilter, 
-                                  ServiceEndpointDescription sd,
-                                  int type) {
-        LOG.info("check if string: " + toMatch + (isFilter ? " matches " : " contained by ") +  sd.getProvidedInterfaces());
+    void triggerCallbacks(DiscoveredServiceTracker tracker,
+                          String toMatch, 
+                          boolean isFilter, 
+                          ServiceEndpointDescription sd,
+                          int type) {
+        LOG.fine("check if string: " + toMatch + (isFilter ? " matches " : " contained by ") +  sd.getProvidedInterfaces());
 
         TrackerNotification notification = 
             isFilter

Modified: cxf/dosgi/trunk/discovery/local/src/test/java/org/apache/cxf/dosgi/discovery/local/LocalDiscoveryServiceTest.java
URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/discovery/local/src/test/java/org/apache/cxf/dosgi/discovery/local/LocalDiscoveryServiceTest.java?rev=779147&r1=779146&r2=779147&view=diff
==============================================================================
--- cxf/dosgi/trunk/discovery/local/src/test/java/org/apache/cxf/dosgi/discovery/local/LocalDiscoveryServiceTest.java (original)
+++ cxf/dosgi/trunk/discovery/local/src/test/java/org/apache/cxf/dosgi/discovery/local/LocalDiscoveryServiceTest.java Wed May 27 12:37:18 2009
@@ -538,6 +538,35 @@
         
         assertNull(LocalDiscoveryService.removeTracker(dst, forwardMap, reverseMap));
     }
+    
+    public void testTriggerCallbacksWithFilter() throws Exception {
+        String filter = "(|(osgi.remote.service.interfaces=org.acme.A)(osgi.remote.service.interfaces=org.acme.B))";
+
+        Filter mockFilter = EasyMock.createMock(Filter.class);
+        Dictionary<String, Object> map = new Hashtable<String, Object>();
+        map.put("osgi.remote.service.interfaces", Arrays.asList("org.acme.B"));
+        EasyMock.expect(mockFilter.match(map)).andReturn(true).anyTimes();
+        EasyMock.replay(mockFilter);
+
+        BundleContext bc = EasyMock.createNiceMock(BundleContext.class);
+        EasyMock.expect(bc.createFilter(filter)).andReturn(mockFilter).anyTimes();
+        EasyMock.replay(bc);
+        
+        final List<DiscoveredServiceNotification> notifications = 
+            new ArrayList<DiscoveredServiceNotification>();
+        DiscoveredServiceTracker dst = new DiscoveredServiceTracker(){        
+            public void serviceChanged(DiscoveredServiceNotification notification) {
+                notifications.add(notification);
+            }
+        };
+        
+        LocalDiscoveryService lds = new LocalDiscoveryService(bc);
+        ServiceEndpointDescription sd = new ServiceEndpointDescriptionImpl("org.acme.B");
+        
+        assertEquals("Precondition failed", 0, notifications.size());
+        lds.triggerCallbacks(dst, filter, true, sd, DiscoveredServiceNotification.AVAILABLE);
+        assertEquals(1, notifications.size());
+    }
  
     private void verifyNotification(DiscoveredServiceNotification dsn,
                                int filterCount,