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

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

commit 6d59fdf7f9b2ac2f07bff5caeeceff7f76a172bf
Author: Amichai Rothman <[email protected]>
AuthorDate: Mon Mar 16 22:11:39 2026 +0200

    Simplify ConfigDiscovery by reversing endpoints map
---
 .../aries/rsa/discovery/config/ConfigDiscovery.java  | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git 
a/discovery/config/src/main/java/org/apache/aries/rsa/discovery/config/ConfigDiscovery.java
 
b/discovery/config/src/main/java/org/apache/aries/rsa/discovery/config/ConfigDiscovery.java
index a19f3db6..0223a45b 100644
--- 
a/discovery/config/src/main/java/org/apache/aries/rsa/discovery/config/ConfigDiscovery.java
+++ 
b/discovery/config/src/main/java/org/apache/aries/rsa/discovery/config/ConfigDiscovery.java
@@ -32,7 +32,7 @@ import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 
 class ConfigDiscovery implements ManagedServiceFactory {
-    private final Map<EndpointDescription, String> endpointDescriptions = new 
ConcurrentHashMap<>();
+    private final Map<String, EndpointDescription> endpoints = new 
ConcurrentHashMap<>();
     private final Map<EndpointEventListener, Collection<String>> 
listenerToFilters = new HashMap<>();
 
     @Override
@@ -72,20 +72,14 @@ class ConfigDiscovery implements ManagedServiceFactory {
     @SuppressWarnings("rawtypes")
     private void addDeclaredRemoteService(String pid, Dictionary config) {
         EndpointDescription endpoint = new 
EndpointDescription(PropertyValidator.validate(config));
-        endpointDescriptions.put(endpoint, pid);
-        EndpointEvent event = new EndpointEvent(EndpointEvent.ADDED, endpoint);
-        triggerCallbacks(event);
+        endpoints.put(pid, endpoint);
+        triggerCallbacks(new EndpointEvent(EndpointEvent.ADDED, endpoint));
     }
 
     private void removeServiceDeclaredInConfig(String pid) {
-        for (Iterator<Map.Entry<EndpointDescription, String>> i = 
endpointDescriptions.entrySet().iterator();
-             i.hasNext(); ) {
-            Map.Entry<EndpointDescription, String> entry = i.next();
-            if (pid.equals(entry.getValue())) {
-                EndpointEvent event = new EndpointEvent(EndpointEvent.REMOVED, 
entry.getKey());
-                triggerCallbacks(event);
-                i.remove();
-            }
+        EndpointDescription endpoint = endpoints.remove(pid);
+        if (endpoint != null) {
+            triggerCallbacks(new EndpointEvent(EndpointEvent.REMOVED, 
endpoint));
         }
     }
 
@@ -120,7 +114,7 @@ class ConfigDiscovery implements ManagedServiceFactory {
 
     private void triggerCallbacks(Collection<String> filters, 
EndpointEventListener endpointListener) {
         for (String filter : filters) {
-            for (EndpointDescription endpoint : endpointDescriptions.keySet()) 
{
+            for (EndpointDescription endpoint : endpoints.values()) {
                 EndpointEvent event = new EndpointEvent(EndpointEvent.ADDED, 
endpoint);
                 triggerCallbacks(endpointListener, filter, event);
             }

Reply via email to