+/*
+ * 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
*/
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.DataChangeListener;
+import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
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;
/**
*
*/
-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
}
// Register to md-sal
opendaylightToaster.setNotificationProvider(getNotificationServiceDependency());
- DataProviderService dataBrokerService = getDataBrokerDependency();
+ DataBroker dataBrokerService = getDataBrokerDependency();
opendaylightToaster.setDataProvider(dataBrokerService);
- final ListenerRegistration<DataChangeListener> dataChangeListenerRegistration =
- dataBrokerService.registerDataChangeListener( OpendaylightToaster.TOASTER_IID, opendaylightToaster );
+ final ListenerRegistration<DataChangeListener> dataChangeListenerRegistration = dataBrokerService
+ .registerDataChangeListener(LogicalDatastoreType.CONFIGURATION, OpendaylightToaster.TOASTER_IID,
+ opendaylightToaster, DataChangeScope.SUBTREE);
final BindingAwareBroker.RpcRegistration<ToasterService> rpcRegistration = getRpcRegistryDependency()
.addRpcImplementation(ToasterService.class, opendaylightToaster);
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();