X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fstatistics-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fstatistics%2Fmanager%2FStatisticsManagerActivator.java;h=5bcbef119a8c332442d405681dd018dc1368c9c7;hb=c1362c86eb19e92e6c64d10099a45deb499c6db1;hp=7cbd2314b60265e04626ba4d2409a4f2912be559;hpb=8b84c5a210d5bf688fde0eb0db1b7f21f78a4f0b;p=controller.git diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/StatisticsManagerActivator.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/StatisticsManagerActivator.java index 7cbd2314b6..5bcbef119a 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/StatisticsManagerActivator.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/StatisticsManagerActivator.java @@ -5,12 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -/* - * TODO: Handle multipart messages with following flag true - * OFPMPF_REPLY_MORE = 1 << 0 - * Better accumulate all the messages and update local cache - * and configurational data store - */ + package org.opendaylight.controller.md.statistics.manager; import org.opendaylight.controller.sal.binding.api.AbstractBindingAwareProvider; @@ -20,29 +15,22 @@ import org.opendaylight.controller.sal.binding.api.data.DataProviderService; import org.osgi.framework.BundleContext; public class StatisticsManagerActivator extends AbstractBindingAwareProvider { + private StatisticsProvider statsProvider; - private static ProviderContext pSession; - - private static StatisticsProvider statsProvider = new StatisticsProvider(); - @Override public void onSessionInitiated(ProviderContext session) { - - DataProviderService dps = session.getSALService(DataProviderService.class); - StatisticsManagerActivator.statsProvider.setDataService(dps); - NotificationProviderService nps = session.getSALService(NotificationProviderService.class); - StatisticsManagerActivator.statsProvider.setNotificationService(nps); - StatisticsManagerActivator.statsProvider.start(); + final DataProviderService dps = session.getSALService(DataProviderService.class); + final NotificationProviderService nps = session.getSALService(NotificationProviderService.class); + statsProvider = new StatisticsProvider(dps); + statsProvider.start(nps, session); } - + @Override protected void stopImpl(BundleContext context) { - StatisticsManagerActivator.statsProvider.close(); - } - - public static ProviderContext getProviderContext(){ - return pSession; + if (statsProvider != null) { + statsProvider.close(); + statsProvider = null; + } } - }