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); }
