X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fcore%2Fapi%2FAbstractConsumer.java;h=46e9cdcd718917c4f26f33647eb1bf197a477d3f;hp=12c26a98564ee35a8594e01edeb58bc4cdcf351a;hb=e2607370f5ac443a5a2f1f00f693f82a0b57161d;hpb=38990707b6e998d0808b4f2c5a1a845d489c34a9 diff --git a/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/sal/core/api/AbstractConsumer.java b/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/sal/core/api/AbstractConsumer.java index 12c26a9856..46e9cdcd71 100644 --- a/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/sal/core/api/AbstractConsumer.java +++ b/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/sal/core/api/AbstractConsumer.java @@ -22,26 +22,28 @@ public abstract class AbstractConsumer implements Consumer, BundleActivator,Serv private Broker broker; @Override - public final void start(final BundleContext context) throws Exception { - this.context = context; - this.startImpl(context); - tracker = new ServiceTracker<>(context, Broker.class, this); + public final void start(final BundleContext bundleContext) throws Exception { + this.context = bundleContext; + this.startImpl(bundleContext); + tracker = new ServiceTracker<>(bundleContext, Broker.class, this); tracker.open(); } - - @Override - public final void stop(final BundleContext context) throws Exception { - stopImpl(context); + 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 context) { + protected void startImpl(final BundleContext bundleContext) { // NOOP } - protected void stopImpl(final BundleContext context) { + + protected void stopImpl(final BundleContext bundleContext) { // NOOP } @@ -53,7 +55,7 @@ public abstract class AbstractConsumer implements Consumer, BundleActivator,Serv @Override public Broker addingService(final ServiceReference reference) { - if(broker == null) { + if (broker == null && context != null) { broker = context.getService(reference); broker.registerConsumer(this, context); return broker;