You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2016/03/15 14:53:29 UTC

aries-rsa git commit: Improving InterfaceMonitorManager and test

Repository: aries-rsa
Updated Branches:
  refs/heads/master 54df28a3c -> 6037e363d


Improving InterfaceMonitorManager and test


Project: http://git-wip-us.apache.org/repos/asf/aries-rsa/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-rsa/commit/6037e363
Tree: http://git-wip-us.apache.org/repos/asf/aries-rsa/tree/6037e363
Diff: http://git-wip-us.apache.org/repos/asf/aries-rsa/diff/6037e363

Branch: refs/heads/master
Commit: 6037e363d15e67fa3a0edd2c3a62b90885c61af9
Parents: 54df28a
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Tue Mar 15 14:53:21 2016 +0100
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Tue Mar 15 14:53:21 2016 +0100

----------------------------------------------------------------------
 .../subscribe/InterfaceMonitorManager.java      | 11 ++----
 .../rsa/discovery/zookeeper/util/Utils.java     |  3 ++
 .../subscribe/InterfaceMonitorManagerTest.java  | 39 ++++++++++----------
 3 files changed, 26 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/6037e363/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterfaceMonitorManager.java
----------------------------------------------------------------------
diff --git a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterfaceMonitorManager.java b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterfaceMonitorManager.java
index 3a02a48..857588c 100644
--- a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterfaceMonitorManager.java
+++ b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterfaceMonitorManager.java
@@ -76,14 +76,11 @@ public class InterfaceMonitorManager {
             LOG.debug("Skipping our own EndpointListener");
             return;
         }
-
-        LOG.info("updating EndpointListener interests: {}", endpointListener);
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("updated EndpointListener properties: {}", getProperties(endpointListener));
-        }
-        for (String scope : getScopes(endpointListener)) {
+        List<String> scopes = getScopes(endpointListener);
+        LOG.debug("adding Interests: {}", scopes);
+        
+        for (String scope : scopes) {
             String objClass = getObjectClass(scope);
-            LOG.debug("Adding interest in scope {}, objectClass {}", scope, objClass);
             addInterest(endpointListener, scope, objClass);
         }
     }

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/6037e363/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/util/Utils.java
----------------------------------------------------------------------
diff --git a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/util/Utils.java b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/util/Utils.java
index 82ccb85..289ae32 100644
--- a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/util/Utils.java
+++ b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/util/Utils.java
@@ -42,6 +42,9 @@ public final class Utils {
      */
     public static List<String> removeEmpty(List<String> strings) {
         List<String> result = new ArrayList<String>();
+        if (strings == null) {
+            return result;
+        }
         for (String s : strings) {
             if (s != null && !s.isEmpty()) {
                 result.add(s);

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/6037e363/discovery/zookeeper/src/test/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterfaceMonitorManagerTest.java
----------------------------------------------------------------------
diff --git a/discovery/zookeeper/src/test/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterfaceMonitorManagerTest.java b/discovery/zookeeper/src/test/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterfaceMonitorManagerTest.java
index 49c9dad..41684eb 100644
--- a/discovery/zookeeper/src/test/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterfaceMonitorManagerTest.java
+++ b/discovery/zookeeper/src/test/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterfaceMonitorManagerTest.java
@@ -18,19 +18,21 @@
  */
 package org.apache.aries.rsa.discovery.zookeeper.subscribe;
 
+import static org.easymock.EasyMock.getCurrentArguments;
 import static org.junit.Assert.assertEquals;
 
-import java.util.HashMap;
+import java.util.Collections;
+import java.util.Dictionary;
+import java.util.Hashtable;
 import java.util.List;
-import java.util.Map;
 
-import org.apache.aries.rsa.discovery.zookeeper.subscribe.InterfaceMonitorManager;
 import org.apache.zookeeper.ZooKeeper;
 import org.easymock.EasyMock;
 import org.easymock.IAnswer;
 import org.easymock.IMocksControl;
 import org.junit.Test;
 import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.remoteserviceadmin.EndpointListener;
 
@@ -40,8 +42,8 @@ public class InterfaceMonitorManagerTest {
     public void testEndpointListenerTrackerCustomizer() {
         IMocksControl c = EasyMock.createNiceControl();
         BundleContext ctx = c.createMock(BundleContext.class);
-        ServiceReference<EndpointListener> sref = createService(c);
-        ServiceReference<EndpointListener> sref2 = createService(c);
+        ServiceReference<EndpointListener> sref = createService(c, "(objectClass=mine)", "mine");
+        ServiceReference<EndpointListener> sref2 = createService(c, "(objectClass=mine)", "mine");
         ZooKeeper zk = c.createMock(ZooKeeper.class);
         InterfaceMonitorManager eltc = new InterfaceMonitorManager(ctx, zk);
 
@@ -51,17 +53,17 @@ public class InterfaceMonitorManagerTest {
         assertEquals(0, eltc.getEndpointListenerScopes().size());
         assertEquals(0, eltc.getInterests().size());
 
-        eltc.addInterest(sref, "(objectClass=mine)", "mine");
+        eltc.addInterest(sref);
         assertScopeIncludes(sref, eltc);
         assertEquals(1, eltc.getEndpointListenerScopes().size());
         assertEquals(1, eltc.getInterests().size());
 
-        eltc.addInterest(sref, "(objectClass=mine)", "mine");
+        eltc.addInterest(sref);
         assertScopeIncludes(sref, eltc);
         assertEquals(1, eltc.getEndpointListenerScopes().size());
         assertEquals(1, eltc.getInterests().size());
 
-        eltc.addInterest(sref2, "(objectClass=mine)", "mine");
+        eltc.addInterest(sref2);
         assertScopeIncludes(sref, eltc);
         assertScopeIncludes(sref2, eltc);
         assertEquals(2, eltc.getEndpointListenerScopes().size());
@@ -85,26 +87,23 @@ public class InterfaceMonitorManagerTest {
     }
 
     @SuppressWarnings("unchecked")
-    private ServiceReference<EndpointListener> createService(IMocksControl c) {
-        final Map<String, ?> p = new HashMap<String, Object>();
+    private ServiceReference<EndpointListener> createService(IMocksControl c, String scope, String objectClass) {
         ServiceReference<EndpointListener> sref = c.createMock(ServiceReference.class);
-        EasyMock.expect(sref.getPropertyKeys()).andAnswer(new IAnswer<String[]>() {
-            public String[] answer() throws Throwable {
-                return p.keySet().toArray(new String[p.size()]);
-            }
-        }).anyTimes();
-
+        final Dictionary<String, String> props = new Hashtable<>();
+        props.put(EndpointListener.ENDPOINT_LISTENER_SCOPE, scope);
+        props.put(Constants.OBJECTCLASS, objectClass);
+        String[] keys = Collections.list(props.keys()).toArray(new String[]{});
+        EasyMock.expect(sref.getPropertyKeys()).andReturn(keys).anyTimes();
         EasyMock.expect(sref.getProperty((String)EasyMock.anyObject())).andAnswer(new IAnswer<Object>() {
             public Object answer() throws Throwable {
-                String key = (String)(EasyMock.getCurrentArguments()[0]);
-                return p.get(key);
+                return props.get(getCurrentArguments()[0]);
             }
         }).anyTimes();
         return sref;
     }
 
-    private void assertScopeIncludes(ServiceReference<EndpointListener> sref, InterfaceMonitorManager eltc) {
-        List<String> srefScope = eltc.getEndpointListenerScopes().get(sref);
+    private void assertScopeIncludes(ServiceReference<EndpointListener> sref, InterfaceMonitorManager imm) {
+        List<String> srefScope = imm.getEndpointListenerScopes().get(sref);
         assertEquals(1, srefScope.size());
         assertEquals("(objectClass=mine)", srefScope.get(0));