[ARIES-1763] Change commands to EndpointEventListener
Project: http://git-wip-us.apache.org/repos/asf/aries-rsa/repo Commit: http://git-wip-us.apache.org/repos/asf/aries-rsa/commit/ba7a6a04 Tree: http://git-wip-us.apache.org/repos/asf/aries-rsa/tree/ba7a6a04 Diff: http://git-wip-us.apache.org/repos/asf/aries-rsa/diff/ba7a6a04 Branch: refs/heads/master Commit: ba7a6a04747fc6bccf83dbc8f9cbd41c471aebe2 Parents: c10f382 Author: Christian Schneider <[email protected]> Authored: Thu Feb 1 18:04:17 2018 +0100 Committer: Christian Schneider <[email protected]> Committed: Thu Feb 1 18:04:17 2018 +0100 ---------------------------------------------------------------------- .../rsa/discovery/command/EndpointsCommand.java | 32 ++++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/ba7a6a04/discovery/command/src/main/java/org/apache/aries/rsa/discovery/command/EndpointsCommand.java ---------------------------------------------------------------------- diff --git a/discovery/command/src/main/java/org/apache/aries/rsa/discovery/command/EndpointsCommand.java b/discovery/command/src/main/java/org/apache/aries/rsa/discovery/command/EndpointsCommand.java index 7a8580f..54d313a 100644 --- a/discovery/command/src/main/java/org/apache/aries/rsa/discovery/command/EndpointsCommand.java +++ b/discovery/command/src/main/java/org/apache/aries/rsa/discovery/command/EndpointsCommand.java @@ -28,7 +28,8 @@ import org.osgi.framework.Constants; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; import org.osgi.service.remoteserviceadmin.EndpointDescription; -import org.osgi.service.remoteserviceadmin.EndpointListener; +import org.osgi.service.remoteserviceadmin.EndpointEvent; +import org.osgi.service.remoteserviceadmin.EndpointEventListener; @Component(// property = { @@ -38,7 +39,7 @@ import org.osgi.service.remoteserviceadmin.EndpointListener; "endpoint.listener.scope=(endpoint.framework.uuid=*)" }) -public class EndpointsCommand implements EndpointListener { +public class EndpointsCommand implements EndpointEventListener { Set<EndpointDescription> endpoints = new HashSet<>(); private String frameworkId; @@ -103,13 +104,26 @@ public class EndpointsCommand implements EndpointListener { } @Override - public void endpointAdded(EndpointDescription endpoint, String matchedFilter) { - endpoints.add(endpoint); - } + public void endpointChanged(EndpointEvent event, String matchedFilter) { + EndpointDescription endpoint = event.getEndpoint(); + switch (event.getType()) { + case EndpointEvent.ADDED: + endpoints.add(endpoint); + break; - @Override - public void endpointRemoved(EndpointDescription endpoint, String matchedFilter) { - endpoints.remove(endpoint); + case EndpointEvent.REMOVED: + endpoints.remove(endpoint); + break; + + case EndpointEvent.MODIFIED: + endpoints.remove(endpoint); + endpoints.add(endpoint); + break; + + case EndpointEvent.MODIFIED_ENDMATCH: + endpoints.remove(endpoint); + break; + } } - + }
