From: Kamal Rameshan Date: Thu, 20 Mar 2014 20:36:09 +0000 (-0700) Subject: Bug:441-closing listener on stop of md-topologymaneger bundle X-Git-Tag: autorelease-tag-v20140601202136_82eb3f9~304^2~1 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=00518e6fec2fee03d7ff373d977af328d701ad1f Bug:441-closing listener on stop of md-topologymaneger bundle Change-Id: Ic4081b36a557110f6daeb7a6fb8a3b39ee1be8b2 Signed-off-by: Kamal Rameshan --- diff --git a/opendaylight/md-sal/topology-manager/src/main/java/org/opendaylight/md/controller/topology/manager/FlowCapableTopologyProvider.xtend b/opendaylight/md-sal/topology-manager/src/main/java/org/opendaylight/md/controller/topology/manager/FlowCapableTopologyProvider.xtend index 036fe733aa..73e03d1e7d 100644 --- a/opendaylight/md-sal/topology-manager/src/main/java/org/opendaylight/md/controller/topology/manager/FlowCapableTopologyProvider.xtend +++ b/opendaylight/md-sal/topology-manager/src/main/java/org/opendaylight/md/controller/topology/manager/FlowCapableTopologyProvider.xtend @@ -14,6 +14,7 @@ import org.opendaylight.yangtools.yang.binding.NotificationListener import org.slf4j.LoggerFactory import org.opendaylight.controller.sal.binding.api.AbstractBindingAwareProvider import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext +import org.osgi.framework.BundleContext; class FlowCapableTopologyProvider extends AbstractBindingAwareProvider implements AutoCloseable { @@ -35,7 +36,11 @@ class FlowCapableTopologyProvider extends AbstractBindingAwareProvider implement LOG.info("FlowCapableTopologyProvider stopped."); listenerRegistration?.close(); } - + + /** + * Gets called on start of a bundle. + * @param session + */ override onSessionInitiated(ProviderContext session) { dataService = session.getSALService(DataProviderService) notificationService = session.getSALService(NotificationProviderService) @@ -43,6 +48,14 @@ class FlowCapableTopologyProvider extends AbstractBindingAwareProvider implement exporter.start(); listenerRegistration = notificationService.registerNotificationListener(exporter); } + + /** + * Gets called during stop bundle + * @param context The execution context of the bundle being stopped. + */ + override stopImpl(BundleContext context) { + close(); + } }