Simplify StatisticsManagerActivator/StatisticsProvider contract
[controller.git] / opendaylight / md-sal / statistics-manager / src / main / java / org / opendaylight / controller / md / statistics / manager / StatisticsManagerActivator.java
index 738c2cb9a8f6375d8681a5e824b0d2f953d1a211..b59482e96b0feb8f75890b5d51d185cb459f5ef6 100644 (file)
@@ -11,34 +11,28 @@ package org.opendaylight.controller.md.statistics.manager;
 import org.opendaylight.controller.sal.binding.api.AbstractBindingAwareProvider;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
 import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
+import org.opendaylight.controller.sal.binding.api.data.DataBrokerService;
 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) {
-        
-        pSession = session;
-        DataProviderService dps = session.<DataProviderService>getSALService(DataProviderService.class);
-        StatisticsManagerActivator.statsProvider.setDataService(dps);
-        NotificationProviderService nps = session.<NotificationProviderService>getSALService(NotificationProviderService.class);
-        StatisticsManagerActivator.statsProvider.setNotificationService(nps);
-        StatisticsManagerActivator.statsProvider.start();
+        final DataBrokerService dbs = session.getSALService(DataBrokerService.class);
+        final DataProviderService dps = session.getSALService(DataProviderService.class);
+        final NotificationProviderService nps = session.getSALService(NotificationProviderService.class);
 
+        statsProvider = new StatisticsProvider(dps);
+        statsProvider.start(dbs, nps, session);
     }
-    
+
     @Override
     protected void stopImpl(BundleContext context) {
-        StatisticsManagerActivator.statsProvider.close();
-    }
-    
-    public static ProviderContext getProviderContext(){
-        return pSession;
+        if (statsProvider != null) {
+            statsProvider.close();
+            statsProvider = null;
+        }
     }
-
 }