Remove use of CheckedFuture in clustering-it-provider
[controller.git] / opendaylight / md-sal / sal-dom-api / src / main / java / org / opendaylight / controller / sal / core / api / AbstractConsumer.java
index 6465e1deb20e248fd090b9f5dfcd8f81945ae81f..2bd12352924004556d5a5f373ebe869244d4c430 100644 (file)
@@ -15,6 +15,12 @@ import org.osgi.framework.ServiceReference;
 import org.osgi.util.tracker.ServiceTracker;
 import org.osgi.util.tracker.ServiceTrackerCustomizer;
 
+/**
+ * Deprecated.
+ *
+ * @deprecated Use blueprint instead for code wiring.
+ */
+@Deprecated
 public abstract class AbstractConsumer implements Consumer, BundleActivator,ServiceTrackerCustomizer<Broker, Broker> {
 
     private BundleContext context;
@@ -29,13 +35,14 @@ public abstract class AbstractConsumer implements Consumer, BundleActivator,Serv
         tracker.open();
     }
 
-
-
     @Override
     public final void stop(final BundleContext bundleContext) throws Exception {
         stopImpl(bundleContext);
         broker = null;
-        tracker.close();
+
+        if (tracker != null) {
+            tracker.close();
+        }
     }
 
     protected void startImpl(final BundleContext bundleContext) {
@@ -54,7 +61,7 @@ public abstract class AbstractConsumer implements Consumer, BundleActivator,Serv
 
     @Override
     public Broker addingService(final ServiceReference<Broker> reference) {
-        if (broker == null) {
+        if (broker == null && context != null) {
             broker = context.getService(reference);
             broker.registerConsumer(this, context);
             return broker;