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=2bd12352924004556d5a5f373ebe869244d4c430;hp=c14d5a679cf8c2f8bcb2172f520273fac160ea50;hb=3f7ac86f0548d587e88ba43e03ec25cc83eed6cf;hpb=53aff7cd94da139a8329daddbcd773469564d1f4 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 c14d5a679c..2bd1235292 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 @@ -9,43 +9,47 @@ package org.opendaylight.controller.sal.core.api; import java.util.Collection; import java.util.Collections; - import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; 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 { - - - private BundleContext context; private ServiceTracker tracker; private Broker broker; @Override - public final void start(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(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(BundleContext context) { + protected void startImpl(final BundleContext bundleContext) { // NOOP } - protected void stopImpl(BundleContext context) { + + protected void stopImpl(final BundleContext bundleContext) { // NOOP } @@ -56,8 +60,8 @@ public abstract class AbstractConsumer implements Consumer, BundleActivator,Serv @Override - public Broker addingService(ServiceReference reference) { - if(broker == null) { + public Broker addingService(final ServiceReference reference) { + if (broker == null && context != null) { broker = context.getService(reference); broker.registerConsumer(this, context); return broker; @@ -67,12 +71,12 @@ public abstract class AbstractConsumer implements Consumer, BundleActivator,Serv } @Override - public void modifiedService(ServiceReference reference, Broker service) { + public void modifiedService(final ServiceReference reference, final Broker service) { // NOOP } @Override - public void removedService(ServiceReference reference, Broker service) { + public void removedService(final ServiceReference reference, final Broker service) { stopImpl(context); } }