This is an automated email from the ASF dual-hosted git repository.

amichair pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/aries-rsa.git

commit 8d6e1b84692d2488e43b24d1788bf4decdb6cf90
Author: Amichai Rothman <[email protected]>
AuthorDate: Sat May 9 08:18:13 2026 +0300

    Little mdns refactoring
---
 .../apache/aries/rsa/discovery/mdns/Interest.java  | 16 ++++-----
 .../aries/rsa/discovery/mdns/InterestManager.java  | 42 +++++++++-------------
 .../aries/rsa/discovery/mdns/MdnsDiscovery.java    | 10 +++---
 .../discovery/mdns/PublishingEndpointListener.java | 12 +++----
 4 files changed, 33 insertions(+), 47 deletions(-)

diff --git 
a/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/Interest.java
 
b/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/Interest.java
index ef0c7953..93793668 100644
--- 
a/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/Interest.java
+++ 
b/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/Interest.java
@@ -45,13 +45,13 @@ public class Interest {
     private final Long id;
     private final ConcurrentMap<String, EndpointDescription> added = new 
ConcurrentHashMap<>();
     private final AtomicReference<List<String>> scopes = new 
AtomicReference<>();
-    private final EndpointEventListener epListener;
+    private final EndpointEventListener listener;
 
 
-    public Interest(Long id, EndpointEventListener epListener, Map<String, 
Object> props) {
+    public Interest(Long id, EndpointEventListener listener, Map<String, 
Object> props) {
         this.id = id;
         
this.scopes.set(StringPlus.normalize(props.get(ENDPOINT_LISTENER_SCOPE)));
-        this.epListener = epListener;
+        this.listener = listener;
     }
 
     public void update(Map<String, Object> props) {
@@ -85,10 +85,6 @@ public class Interest {
             return remove;
         });
     }
-    
-    public Object getEpListener() {
-        return epListener;
-    }
 
     public void endpointChanged(EndpointDescription ed) {
         List<String> scopes = this.scopes.get();
@@ -133,8 +129,8 @@ public class Interest {
     private void notifyListener(EndpointEvent event, String filter) {
         EndpointDescription endpoint = event.getEndpoint();
         LOG.info("Calling endpointChanged on class {} for filter {}, type {}, 
endpoint {} ",
-                epListener, filter, event.getType(), endpoint);
-        epListener.endpointChanged(event, filter);
+                listener, filter, event.getType(), endpoint);
+        listener.endpointChanged(event, filter);
     }
     
     private Optional<String> getFirstMatch(EndpointDescription endpoint, 
List<String> scopes) {
@@ -143,7 +139,7 @@ public class Interest {
 
     @Override
     public String toString() {
-        return "Interest [scopes=" + scopes + ", epListener=" + 
epListener.getClass() + "]";
+        return "Interest [scopes=" + scopes + ", listener=" + 
listener.getClass() + "]";
     }
 
 }
diff --git 
a/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/InterestManager.java
 
b/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/InterestManager.java
index 473416d0..9f285923 100644
--- 
a/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/InterestManager.java
+++ 
b/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/InterestManager.java
@@ -36,6 +36,7 @@ import javax.ws.rs.sse.InboundSseEvent;
 import javax.ws.rs.sse.SseEventSource;
 
 import org.apache.aries.rsa.spi.EndpointDescriptionParser;
+import org.osgi.framework.Constants;
 import org.osgi.service.jaxrs.client.SseEventSourceFactory;
 import org.osgi.service.remoteserviceadmin.EndpointDescription;
 import org.osgi.service.remoteserviceadmin.EndpointEventListener;
@@ -47,7 +48,6 @@ import org.slf4j.LoggerFactory;
  * Establishes SSE event sources to be called back on all changes in the 
remote targets.
  * Events are then forwarded to all interested {@link EndpointEventListener}s.
  */
-@SuppressWarnings("deprecation")
 public class InterestManager {
     private static final Logger LOG = 
LoggerFactory.getLogger(InterestManager.class);
 
@@ -150,46 +150,38 @@ public class InterestManager {
         }
     }
 
-    public void bindEndpointEventListener(EndpointEventListener epListener, 
Map<String, Object> props) {
-        addInterest(epListener, props);
-    }
-
-    public void updatedEndpointEventListener(Map<String, Object> props) {
-        updatedInterest(props);
-    }
-
-    public void unbindEndpointEventListener(Map<String, Object> props) {
-        interests.remove(getServiceId(props));
-    }
-
     private Long getServiceId(Map<String, Object> props) {
-        return (Long) props.get("service.id");
+        return (Long) props.get(Constants.SERVICE_ID);
     }
 
-    private void addInterest(EndpointEventListener epListener, Map<String, 
Object> props) {
-        
+    public void addInterest(EndpointEventListener epListener, Map<String, 
Object> props) {
+
         Long id = getServiceId(props);
-        
+
         if(LOG.isInfoEnabled()) {
             LOG.info("Service {} has registered an interest in endpoint 
events", id);
         }
-        
-        Interest interest = new Interest(getServiceId(props), epListener, 
props);
-       
-        interests.put(getServiceId(props), interest);
+
+        Interest interest = new Interest(id, epListener, props);
+
+        interests.put(id, interest);
         endpointsBySource.values().stream()
             .flatMap(Set::stream)
             .forEach(interest::endpointChanged);
     }
 
-    private void updatedInterest(Map<String, Object> props) {
-        
+    public void updateInterest(Map<String, Object> props) {
+
         Long id = getServiceId(props);
-        
+
         if(LOG.isInfoEnabled()) {
             LOG.info("Service {} has changed its interest in endpoint events", 
id);
         }
-        
+
         interests.get(id).update(props);
     }
+
+    public void removeInterest(Map<String, Object> props) {
+        interests.remove(getServiceId(props));
+    }
 }
diff --git 
a/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/MdnsDiscovery.java
 
b/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/MdnsDiscovery.java
index bacce191..3493da58 100644
--- 
a/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/MdnsDiscovery.java
+++ 
b/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/MdnsDiscovery.java
@@ -87,15 +87,15 @@ public class MdnsDiscovery {
     
     @Reference(cardinality = ReferenceCardinality.MULTIPLE, policy = 
ReferencePolicy.DYNAMIC)
     public void bindEndpointEventListener(EndpointEventListener epListener, 
Map<String, Object> props) {
-        interestManager.bindEndpointEventListener(epListener, props);
+        interestManager.addInterest(epListener, props);
     }
 
     public void updatedEndpointEventListener(Map<String, Object> props) {
-        interestManager.updatedEndpointEventListener(props);
+        interestManager.updateInterest(props);
     }
 
     public void unbindEndpointEventListener(Map<String, Object> props) {
-        interestManager.unbindEndpointEventListener(props);
+        interestManager.removeInterest(props);
     }
 
     @Reference(policy = ReferencePolicy.DYNAMIC)
@@ -165,8 +165,8 @@ public class MdnsDiscovery {
         }
     }
     
-    public static @interface Config {
-        public String bind_address();
+    public @interface Config {
+        String bind_address();
     }
     
     @Activate
diff --git 
a/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/PublishingEndpointListener.java
 
b/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/PublishingEndpointListener.java
index d78a5824..9c3ca7f5 100644
--- 
a/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/PublishingEndpointListener.java
+++ 
b/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/PublishingEndpointListener.java
@@ -58,7 +58,6 @@ import org.slf4j.LoggerFactory;
  * Listens for local {@link EndpointEvent}s using {@link EndpointEventListener}
  * and publishes changes to listeners using Server Sent Events (SSE)
  */
-@SuppressWarnings("deprecation")
 @RequireJaxrsWhiteboard
 public class PublishingEndpointListener {
 
@@ -83,7 +82,7 @@ public class PublishingEndpointListener {
         Dictionary<String, Object> props = serviceProperties(uuid);
         listenerReg = bctx.registerService(ifAr, new ListenerFactory(), props);
         resourceReg = bctx.registerService(PublishingEndpointListener.class, 
this, 
-                new Hashtable<String, Object>() {{put("osgi.jaxrs.resource", 
Boolean.TRUE);}});
+                new Hashtable<>() {{put("osgi.jaxrs.resource", 
Boolean.TRUE);}});
     }
 
     @Deactivate
@@ -103,10 +102,10 @@ public class PublishingEndpointListener {
         switch(type) {
             case EndpointEvent.ADDED:
             case EndpointEvent.MODIFIED:
-                localEndpoints.compute(id, (k,v) -> {
-                    return v == null ? new SponsoredEndpoint(ed, 
singleton(bundleId)) :
-                        new SponsoredEndpoint(ed, concat(v.sponsors.stream(), 
Stream.of(bundleId)).collect(toSet()));
-                });
+                localEndpoints.compute(id, (k,v) -> new SponsoredEndpoint(ed,
+                    v == null
+                    ? singleton(bundleId)
+                    : concat(v.sponsors.stream(), 
Stream.of(bundleId)).collect(toSet())));
                 String data = toEndpointData(ed);
                 listeners.forEach(s -> s.update(data));
                 break;
@@ -237,7 +236,6 @@ public class PublishingEndpointListener {
         private final Set<Long> sponsors;
         
         public SponsoredEndpoint(EndpointDescription ed, Set<Long> sponsors) {
-            super();
             this.ed = ed;
             this.sponsors = sponsors;
         }

Reply via email to