X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsamples%2Ftoaster-provider%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fconfig%2Ftoaster_provider%2Fimpl%2FToasterProviderModule.java;h=73438eb878a8239892c1bbc5c7913a56b3d08fd8;hb=dceb9db7853dabfbd4abdfb3d886a79871097831;hp=97e0a6bcf77dd5c35afe70330bc48976bce0ac61;hpb=9a59ae2514d26b86222a9c71d62c78313544c1b1;p=controller.git diff --git a/opendaylight/md-sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/config/yang/config/toaster_provider/impl/ToasterProviderModule.java b/opendaylight/md-sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/config/yang/config/toaster_provider/impl/ToasterProviderModule.java index 97e0a6bcf7..73438eb878 100644 --- a/opendaylight/md-sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/config/yang/config/toaster_provider/impl/ToasterProviderModule.java +++ b/opendaylight/md-sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/config/yang/config/toaster_provider/impl/ToasterProviderModule.java @@ -17,14 +17,7 @@ */ package org.opendaylight.controller.config.yang.config.toaster_provider.impl; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; -import org.opendaylight.controller.sample.toaster.provider.OpendaylightToaster; -import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.Toaster; -import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.ToasterService; -import org.opendaylight.yangtools.concepts.ListenerRegistration; +import org.opendaylight.controller.sal.common.util.NoopAutoCloseable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,49 +49,8 @@ public final class ToasterProviderModule extends @Override public java.lang.AutoCloseable createInstance() { - final OpendaylightToaster opendaylightToaster = new OpendaylightToaster(); - - // Register to md-sal - opendaylightToaster.setNotificationProvider(getNotificationServiceDependency()); - - DataBroker dataBrokerService = getDataBrokerDependency(); - opendaylightToaster.setDataProvider(dataBrokerService); - - final ListenerRegistration dataTreeChangeListenerRegistration = dataBrokerService - .registerDataTreeChangeListener(new DataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, - OpendaylightToaster.TOASTER_IID), opendaylightToaster); - - final BindingAwareBroker.RpcRegistration rpcRegistration = getRpcRegistryDependency() - .addRpcImplementation(ToasterService.class, opendaylightToaster); - - // Register runtimeBean for toaster statistics via JMX - final ToasterProviderRuntimeRegistration runtimeReg = getRootRuntimeBeanRegistratorWrapper().register( - opendaylightToaster); - - // Wrap toaster as AutoCloseable and close registrations to md-sal at - // close() - final class AutoCloseableToaster implements AutoCloseable { - - @Override - public void close() throws Exception { - dataTreeChangeListenerRegistration.close(); - rpcRegistration.close(); - runtimeReg.close(); - closeQuietly(opendaylightToaster); - log.info("Toaster provider (instance {}) torn down.", this); - } - - private void closeQuietly(final AutoCloseable resource) { - try { - resource.close(); - } catch (final Exception e) { - log.debug("Ignoring exception while closing {}", resource, e); - } - } - } - - AutoCloseable ret = new AutoCloseableToaster(); - log.info("Toaster provider (instance {}) initialized.", ret); - return ret; + // The components are created and wired via blueprint and, since this module doesn't advertise any + // services, return an empty AutoCloseable. The config module is kept for backwards compatibility. + return NoopAutoCloseable.INSTANCE; } }