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=bd8e89fd7a5ab99ddb1246a167d0b142f446a07f;hb=e159106bc148e76fc1e3e3c780bdd740d99e74ed;hp=8abff2ce3ca0b04db2b632e7fea8cee055c6a640;hpb=48df522ef65d049574f14777d9b9f7e666754541;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 8abff2ce3c..bd8e89fd7a 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 @@ -10,11 +10,11 @@ package org.opendaylight.controller.config.yang.config.toaster_provider.impl; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; +import org.opendaylight.controller.sal.binding.api.data.DataChangeListener; +import org.opendaylight.controller.sal.binding.api.data.DataProviderService; 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.ToasterData; import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.ToasterService; - +import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -47,6 +47,13 @@ public final class ToasterProviderModule extends org.opendaylight.controller.con // Register to md-sal opendaylightToaster.setNotificationProvider(getNotificationServiceDependency()); + + DataProviderService dataBrokerService = getDataBrokerDependency(); + opendaylightToaster.setDataProvider(dataBrokerService); + + final ListenerRegistration dataChangeListenerRegistration = + dataBrokerService.registerDataChangeListener( OpendaylightToaster.TOASTER_IID, opendaylightToaster ); + final BindingAwareBroker.RpcRegistration rpcRegistration = getRpcRegistryDependency() .addRpcImplementation(ToasterService.class, opendaylightToaster); @@ -56,19 +63,16 @@ public final class ToasterProviderModule extends org.opendaylight.controller.con // Wrap toaster as AutoCloseable and close registrations to md-sal at // close() - final class AutoCloseableToaster implements AutoCloseable, ToasterData { + final class AutoCloseableToaster implements AutoCloseable { @Override public void close() throws Exception { + dataChangeListenerRegistration.close(); rpcRegistration.close(); runtimeReg.close(); + opendaylightToaster.close(); log.info("Toaster provider (instance {}) torn down.", this); } - - @Override - public Toaster getToaster() { - return opendaylightToaster.getToaster(); - } } AutoCloseable ret = new AutoCloseableToaster();