diff options
author | slewis | 2014-07-01 17:30:49 +0000 |
---|---|---|
committer | slewis | 2014-07-01 17:30:49 +0000 |
commit | 5cfae8f96434525dfc3a64905b373b553946e85d (patch) | |
tree | 5f098f962d28ec2dfaf84c965aaedb7f231b854f /compendium | |
parent | 916c139207a746235095704af9d020aa14005ae9 (diff) | |
download | org.eclipse.ecf-5cfae8f96434525dfc3a64905b373b553946e85d.tar.gz org.eclipse.ecf-5cfae8f96434525dfc3a64905b373b553946e85d.tar.xz org.eclipse.ecf-5cfae8f96434525dfc3a64905b373b553946e85d.zip |
Added BasicTopologyManager as implementer of EndpointListener service in
order to satisfy RSA 1.1 CT needs for TM continuing to implement both
EndpointEventListener (new to 1.1) and EndpointListener (deprecated)
Change-Id: Ib802475ff74b995ed0d2dee8d71eb0b5eca9db32
Diffstat (limited to 'compendium')
-rw-r--r-- | compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/Activator.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/Activator.java b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/Activator.java index a66098cf4..ea8b003dd 100644 --- a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/Activator.java +++ b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/Activator.java @@ -32,6 +32,7 @@ import org.osgi.service.log.LogService; 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.osgi.service.remoteserviceadmin.RemoteServiceAdminListener; import org.osgi.util.tracker.ServiceTracker; @@ -62,6 +63,7 @@ public class Activator implements BundleActivator { private LogService logService = null; private BasicTopologyManagerImpl basicTopologyManagerImpl; + private ServiceRegistration endpointListenerReg; private ServiceRegistration endpointEventListenerReg; private Map<Bundle, List<EndpointEventHolder>> bundleEndpointEventListenerMap = new HashMap<Bundle, List<EndpointEventHolder>>(); @@ -236,6 +238,7 @@ public class Activator implements BundleActivator { this.context = ctxt; // Create basicTopologyManagerImpl basicTopologyManagerImpl = new BasicTopologyManagerImpl(context); + // Register basicTopologyManagerImpl as EndpointListener always, so that // gets notified when Endpoints are discovered Properties props = new Properties(); @@ -243,6 +246,10 @@ public class Activator implements BundleActivator { org.osgi.service.remoteserviceadmin.EndpointEventListener.ENDPOINT_LISTENER_SCOPE, basicTopologyManagerImpl.getScope()); + // Register as deprecated EndpointListener + endpointListenerReg = getContext().registerService( + EndpointListener.class.getName(), basicTopologyManagerImpl, + (Dictionary) props); // As per section 122.6.3/Tracking providers -Tracking providers – An // Endpoint Event // Listener or Endpoint Listener must track the bundles that provide it @@ -334,6 +341,10 @@ public class Activator implements BundleActivator { endpointEventListenerReg.unregister(); endpointEventListenerReg = null; } + if (endpointListenerReg != null) { + endpointListenerReg.unregister(); + endpointEventListenerReg = null; + } if (eventAdminListenerRegistration != null) { eventAdminListenerRegistration.unregister(); eventAdminListenerRegistration = null; |