[ARIES-1778] Improved naming and documentation

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

Branch: refs/heads/master
Commit: d5bfc3769bb3ed501f41927766a0b9d02ebd3a70
Parents: de9f1a4
Author: Christian Schneider <cschn...@adobe.com>
Authored: Mon Feb 12 18:02:44 2018 +0100
Committer: Christian Schneider <cschn...@adobe.com>
Committed: Mon Feb 12 18:02:44 2018 +0100

----------------------------------------------------------------------
 .../discovery/zookeeper/ZooKeeperDiscovery.java |   6 +-
 .../subscribe/EndpointListenerTracker.java      |   7 +-
 .../zookeeper/subscribe/InterestManager.java    | 164 ++++++++++++++++++
 .../subscribe/InterfaceMonitorManager.java      | 165 -------------------
 .../subscribe/InterfaceMonitorManagerTest.java  |   2 +-
 5 files changed, 171 insertions(+), 173 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d5bfc376/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/ZooKeeperDiscovery.java
----------------------------------------------------------------------
diff --git 
a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/ZooKeeperDiscovery.java
 
b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/ZooKeeperDiscovery.java
index 50d9598..5e55d8c 100644
--- 
a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/ZooKeeperDiscovery.java
+++ 
b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/ZooKeeperDiscovery.java
@@ -28,7 +28,7 @@ import java.util.Map;
 import 
org.apache.aries.rsa.discovery.zookeeper.publish.PublishingEndpointListener;
 import 
org.apache.aries.rsa.discovery.zookeeper.repository.ZookeeperEndpointRepository;
 import 
org.apache.aries.rsa.discovery.zookeeper.subscribe.EndpointListenerTracker;
-import 
org.apache.aries.rsa.discovery.zookeeper.subscribe.InterfaceMonitorManager;
+import org.apache.aries.rsa.discovery.zookeeper.subscribe.InterestManager;
 import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;
 import org.apache.zookeeper.ZooKeeper;
@@ -49,7 +49,7 @@ public class ZooKeeperDiscovery implements Watcher, 
ManagedService {
 
     private PublishingEndpointListener endpointListener;
     private ServiceTracker<?, ?> endpointListenerTracker;
-    private InterfaceMonitorManager imManager;
+    private InterestManager imManager;
     private ZooKeeper zkClient;
     private boolean closed;
     private boolean started;
@@ -98,7 +98,7 @@ public class ZooKeeperDiscovery implements Watcher, 
ManagedService {
         repository = new ZookeeperEndpointRepository(zkClient);
         endpointListener = new PublishingEndpointListener(repository);
         endpointListener.start(bctx);
-        imManager = new InterfaceMonitorManager(repository);
+        imManager = new InterestManager(repository);
         repository.addListener(imManager);
         endpointListenerTracker = new EndpointListenerTracker(bctx, imManager);
         endpointListenerTracker.open();

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d5bfc376/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/EndpointListenerTracker.java
----------------------------------------------------------------------
diff --git 
a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/EndpointListenerTracker.java
 
b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/EndpointListenerTracker.java
index d4805d0..4bb37cf 100644
--- 
a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/EndpointListenerTracker.java
+++ 
b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/EndpointListenerTracker.java
@@ -28,14 +28,13 @@ import org.osgi.service.remoteserviceadmin.EndpointListener;
 import org.osgi.util.tracker.ServiceTracker;
 
 /**
- * Tracks interest in EndpointListeners. Delegates to InterfaceMonitorManager 
to manage
- * interest in the scopes of each EndpointListener.
+ * Tracks EndpointListeners and EndpointEventListeners. Delegates to 
InterestManager to handle them
  */
 @SuppressWarnings({ "rawtypes", "deprecation", "unchecked" })
 public class EndpointListenerTracker extends ServiceTracker {
-    private final InterfaceMonitorManager imManager;
+    private final InterestManager imManager;
 
-    public EndpointListenerTracker(BundleContext bctx, InterfaceMonitorManager 
imManager) {
+    public EndpointListenerTracker(BundleContext bctx, InterestManager 
imManager) {
         super(bctx, getfilter(), null);
         this.imManager = imManager;
     }

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d5bfc376/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterestManager.java
----------------------------------------------------------------------
diff --git 
a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterestManager.java
 
b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterestManager.java
new file mode 100644
index 0000000..cf5d5fb
--- /dev/null
+++ 
b/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterestManager.java
@@ -0,0 +1,164 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.aries.rsa.discovery.zookeeper.subscribe;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.aries.rsa.discovery.zookeeper.ZooKeeperDiscovery;
+import 
org.apache.aries.rsa.discovery.zookeeper.repository.ZookeeperEndpointRepository;
+import org.apache.aries.rsa.util.StringPlus;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.remoteserviceadmin.EndpointDescription;
+import org.osgi.service.remoteserviceadmin.EndpointEvent;
+import org.osgi.service.remoteserviceadmin.EndpointEventListener;
+import org.osgi.service.remoteserviceadmin.EndpointListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Manages the EndpointEventListeners and the scopes they are interested in.
+ * Establishes a listener with the repository to be called back on all changes 
in the repo.
+ * Events from repository are then forwarded to all interested 
EndpointEventListeners.
+ */
+@SuppressWarnings({"deprecation", "rawtypes"})
+public class InterestManager implements EndpointEventListener {
+    private static final Logger LOG = 
LoggerFactory.getLogger(InterestManager.class);
+
+    private final ZookeeperEndpointRepository repository;
+    private final Map<ServiceReference, Interest> interests = new 
HashMap<ServiceReference, Interest>();
+
+    protected static class Interest {
+        List<String> scopes;
+        Object epListener;
+    }
+
+    public InterestManager(ZookeeperEndpointRepository repository) {
+        this.repository = repository;
+    }
+
+    public void addInterest(ServiceReference<?> sref, Object epListener) {
+        if (isOurOwnEndpointEventListener(sref)) {
+            LOG.debug("Skipping our own EndpointEventListener");
+            return;
+        }
+        List<String> scopes = getScopes(sref);
+        LOG.debug("adding Interests: {}", scopes);
+        
+        // get or create interest for given scope and add listener to it
+        Interest interest = interests.get(epListener);
+        if (interest == null) {
+            // create interest, add listener and start monitor
+            interest = new Interest();
+            interest.epListener = epListener;
+            interest.scopes = scopes;
+            interests.put(sref, interest);
+            sendExistingEndpoints(scopes, epListener);
+        }
+    }
+
+    private void sendExistingEndpoints(List<String> scopes, Object epListener) 
{
+        for (EndpointDescription endpoint : repository.getAll()) {
+            EndpointEvent event = new EndpointEvent(EndpointEvent.ADDED, 
endpoint);
+            notifyListener(event, scopes, epListener);
+        }
+    }
+
+    private static boolean isOurOwnEndpointEventListener(ServiceReference<?> 
EndpointEventListener) {
+        return Boolean.parseBoolean(String.valueOf(
+                
EndpointEventListener.getProperty(ZooKeeperDiscovery.DISCOVERY_ZOOKEEPER_ID)));
+    }
+
+    public synchronized void 
removeInterest(ServiceReference<EndpointEventListener> epListenerRef) {
+        LOG.info("removing EndpointEventListener interests: {}", 
epListenerRef);
+        interests.remove(epListenerRef);
+    }
+
+    @Override
+    public void endpointChanged(EndpointEvent event, String filter) {
+        for (Interest interest : interests.values()) {
+            notifyListener(event, interest.scopes, interest.epListener);
+        }
+    }
+
+    private void notifyListener(EndpointEvent event, List<String> scopes, 
Object service) {
+        EndpointDescription endpoint = event.getEndpoint();
+        String currentScope = getFirstMatch(scopes, endpoint);
+        if (currentScope == null) {
+            return;
+        }
+        LOG.debug("Matched {} against {}", endpoint, currentScope);
+        if (service instanceof EndpointEventListener) {
+            notifyEEListener(event, currentScope, 
(EndpointEventListener)service);
+        } else if (service instanceof EndpointListener) {
+            notifyEListener(event, currentScope, (EndpointListener)service);
+        }
+    }
+    
+    private String getFirstMatch(List<String> scopes, EndpointDescription 
endpoint) {
+        for (String scope : scopes) {
+            if (endpoint.matches(scope)) {
+                return scope;
+            }
+        }
+        return null;
+    }
+
+    private void notifyEEListener(EndpointEvent event, String currentScope, 
EndpointEventListener listener) {
+        EndpointDescription endpoint = event.getEndpoint();
+        LOG.info("Calling endpointchanged on class {} for filter {}, type {}, 
endpoint {} ", listener, currentScope, endpoint);
+        listener.endpointChanged(event, currentScope);
+    }
+    
+    private void notifyEListener(EndpointEvent event, String currentScope, 
EndpointListener listener) {
+        EndpointDescription endpoint = event.getEndpoint();
+        LOG.info("Calling old listener on class {} for filter {}, type {}, 
endpoint {} ", listener, currentScope, endpoint);
+        switch (event.getType()) {
+        case EndpointEvent.ADDED:
+            listener.endpointAdded(endpoint, currentScope);
+            break;
+
+        case EndpointEvent.MODIFIED:
+            listener.endpointAdded(endpoint, currentScope);
+            listener.endpointRemoved(endpoint, currentScope);
+            break;
+
+        case EndpointEvent.REMOVED:
+            listener.endpointRemoved(endpoint, currentScope);
+            break;
+        }
+    }
+
+    public synchronized void close() {
+        interests.clear();
+    }
+
+    /**
+     * Only for test case!
+     */
+    protected synchronized Map<ServiceReference, Interest> getInterests() {
+        return interests;
+    }
+
+    protected List<String> getScopes(ServiceReference<?> sref) {
+        return 
StringPlus.normalize(sref.getProperty(EndpointEventListener.ENDPOINT_LISTENER_SCOPE));
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d5bfc376/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
deleted file mode 100644
index 7b5c7d2..0000000
--- 
a/discovery/zookeeper/src/main/java/org/apache/aries/rsa/discovery/zookeeper/subscribe/InterfaceMonitorManager.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.aries.rsa.discovery.zookeeper.subscribe;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.aries.rsa.discovery.zookeeper.ZooKeeperDiscovery;
-import 
org.apache.aries.rsa.discovery.zookeeper.repository.ZookeeperEndpointRepository;
-import org.apache.aries.rsa.util.StringPlus;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.remoteserviceadmin.EndpointDescription;
-import org.osgi.service.remoteserviceadmin.EndpointEvent;
-import org.osgi.service.remoteserviceadmin.EndpointEventListener;
-import org.osgi.service.remoteserviceadmin.EndpointListener;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Manages the EndpointEventListeners and the scopes they are interested in.
- * For each scope with interested EndpointEventListeners an InterfaceMonitor 
is created.
- * The InterfaceMonitor calls back when it detects added or removed external 
Endpoints.
- * These events are then forwarded to all interested EndpointEventListeners.
- */
-@SuppressWarnings({"deprecation", "rawtypes"})
-public class InterfaceMonitorManager implements EndpointEventListener {
-    private static final Logger LOG = 
LoggerFactory.getLogger(InterfaceMonitorManager.class);
-
-    private final ZookeeperEndpointRepository repository;
-    private final Map<ServiceReference, Interest> interests = new 
HashMap<ServiceReference, Interest>();
-
-    protected static class Interest {
-        List<String> scopes;
-        Object epListener;
-    }
-
-    public InterfaceMonitorManager(ZookeeperEndpointRepository repository) {
-        this.repository = repository;
-    }
-
-    public void addInterest(ServiceReference<?> sref, Object epListener) {
-        if (isOurOwnEndpointEventListener(sref)) {
-            LOG.debug("Skipping our own EndpointEventListener");
-            return;
-        }
-        List<String> scopes = getScopes(sref);
-        LOG.debug("adding Interests: {}", scopes);
-        
-        // get or create interest for given scope and add listener to it
-        Interest interest = interests.get(epListener);
-        if (interest == null) {
-            // create interest, add listener and start monitor
-            interest = new Interest();
-            interest.epListener = epListener;
-            interest.scopes = scopes;
-            interests.put(sref, interest);
-            sendExistingEndpoints(scopes, epListener);
-        }
-    }
-
-    private void sendExistingEndpoints(List<String> scopes, Object epListener) 
{
-        for (EndpointDescription endpoint : repository.getAll()) {
-            EndpointEvent event = new EndpointEvent(EndpointEvent.ADDED, 
endpoint);
-            notifyListener(event, scopes, epListener);
-        }
-    }
-
-    private static boolean isOurOwnEndpointEventListener(ServiceReference<?> 
EndpointEventListener) {
-        return Boolean.parseBoolean(String.valueOf(
-                
EndpointEventListener.getProperty(ZooKeeperDiscovery.DISCOVERY_ZOOKEEPER_ID)));
-    }
-
-    public synchronized void 
removeInterest(ServiceReference<EndpointEventListener> epListenerRef) {
-        LOG.info("removing EndpointEventListener interests: {}", 
epListenerRef);
-        interests.remove(epListenerRef);
-    }
-
-    @Override
-    public void endpointChanged(EndpointEvent event, String filter) {
-        for (Interest interest : interests.values()) {
-            notifyListener(event, interest.scopes, interest.epListener);
-        }
-    }
-
-    private void notifyListener(EndpointEvent event, List<String> scopes, 
Object service) {
-        EndpointDescription endpoint = event.getEndpoint();
-        String currentScope = getFirstMatch(scopes, endpoint);
-        if (currentScope == null) {
-            return;
-        }
-        LOG.debug("Matched {} against {}", endpoint, currentScope);
-        if (service instanceof EndpointEventListener) {
-            notifyEEListener(event, currentScope, 
(EndpointEventListener)service);
-        } else if (service instanceof EndpointListener) {
-            notifyEListener(event, currentScope, (EndpointListener)service);
-        }
-    }
-    
-    private String getFirstMatch(List<String> scopes, EndpointDescription 
endpoint) {
-        for (String scope : scopes) {
-            if (endpoint.matches(scope)) {
-                return scope;
-            }
-        }
-        return null;
-    }
-
-    private void notifyEEListener(EndpointEvent event, String currentScope, 
EndpointEventListener listener) {
-        EndpointDescription endpoint = event.getEndpoint();
-        LOG.info("Calling endpointchanged on class {} for filter {}, type {}, 
endpoint {} ", listener, currentScope, endpoint);
-        listener.endpointChanged(event, currentScope);
-    }
-    
-    private void notifyEListener(EndpointEvent event, String currentScope, 
EndpointListener listener) {
-        EndpointDescription endpoint = event.getEndpoint();
-        LOG.info("Calling old listener on class {} for filter {}, type {}, 
endpoint {} ", listener, currentScope, endpoint);
-        switch (event.getType()) {
-        case EndpointEvent.ADDED:
-            listener.endpointAdded(endpoint, currentScope);
-            break;
-
-        case EndpointEvent.MODIFIED:
-            listener.endpointAdded(endpoint, currentScope);
-            listener.endpointRemoved(endpoint, currentScope);
-            break;
-
-        case EndpointEvent.REMOVED:
-            listener.endpointRemoved(endpoint, currentScope);
-            break;
-        }
-    }
-
-    public synchronized void close() {
-        interests.clear();
-    }
-
-    /**
-     * Only for test case!
-     */
-    protected synchronized Map<ServiceReference, Interest> getInterests() {
-        return interests;
-    }
-
-    protected List<String> getScopes(ServiceReference<?> sref) {
-        return 
StringPlus.normalize(sref.getProperty(EndpointEventListener.ENDPOINT_LISTENER_SCOPE));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d5bfc376/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 41b0795..79b2d8d 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
@@ -48,7 +48,7 @@ public class InterfaceMonitorManagerTest {
 
         c.replay();
 
-        InterfaceMonitorManager eltc = new InterfaceMonitorManager(repository);
+        InterestManager eltc = new InterestManager(repository);
         // sref has no scope -> nothing should happen
         assertEquals(0, eltc.getInterests().size());
 

Reply via email to