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=47c5692564c056c509d63a045d5c7dc1781cbbd0;hb=44b5dbe52783a3a558b3eae619b01baf613f82e0;hp=bd8e89fd7a5ab99ddb1246a167d0b142f446a07f;hpb=04a788d2df5303c60cdbcff02254291f411566bd;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 bd8e89fd7a..47c5692564 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 @@ -1,3 +1,11 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + /** * Generated file @@ -9,35 +17,36 @@ */ package org.opendaylight.controller.config.yang.config.toaster_provider.impl; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; 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.ToasterService; -import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * */ -public final class ToasterProviderModule extends org.opendaylight.controller.config.yang.config.toaster_provider.impl.AbstractToasterProviderModule - { +public final class ToasterProviderModule extends + org.opendaylight.controller.config.yang.config.toaster_provider.impl.AbstractToasterProviderModule { private static final Logger log = LoggerFactory.getLogger(ToasterProviderModule.class); - public ToasterProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) { + public ToasterProviderModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier, + final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) { super(identifier, dependencyResolver); } - public ToasterProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, - ToasterProviderModule oldModule, java.lang.AutoCloseable oldInstance) { + public ToasterProviderModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier, + final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, + final ToasterProviderModule oldModule, final java.lang.AutoCloseable oldInstance) { super(identifier, dependencyResolver, oldModule, oldInstance); } @Override protected void customValidation() { - // No need to validate dependencies, since all dependencies have mandatory true flag in yang + // No need to validate dependencies, since all dependencies have + // mandatory true flag in yang // config-subsystem will perform the validation for dependencies } @@ -48,12 +57,9 @@ public final class ToasterProviderModule extends org.opendaylight.controller.con // Register to md-sal opendaylightToaster.setNotificationProvider(getNotificationServiceDependency()); - DataProviderService dataBrokerService = getDataBrokerDependency(); + DataBroker dataBrokerService = getDataBrokerDependency(); opendaylightToaster.setDataProvider(dataBrokerService); - final ListenerRegistration dataChangeListenerRegistration = - dataBrokerService.registerDataChangeListener( OpendaylightToaster.TOASTER_IID, opendaylightToaster ); - final BindingAwareBroker.RpcRegistration rpcRegistration = getRpcRegistryDependency() .addRpcImplementation(ToasterService.class, opendaylightToaster); @@ -67,12 +73,19 @@ public final class ToasterProviderModule extends org.opendaylight.controller.con @Override public void close() throws Exception { - dataChangeListenerRegistration.close(); rpcRegistration.close(); runtimeReg.close(); - opendaylightToaster.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();