/** * Generated file * Generated from: yang module name: toaster-consumer-impl yang module local name: toaster-consumer-impl * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator * Generated at: Wed Feb 05 11:31:30 CET 2014 * * Do not modify this file unless it is present under src/main directory */ package org.opendaylight.controller.config.yang.config.toaster_consumer.impl; import org.opendaylight.controller.sal.binding.api.NotificationListener; import org.opendaylight.controller.sample.toaster.provider.api.ToastConsumer; import org.opendaylight.controller.sample.toaster.provider.impl.ToastConsumerImpl; import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.ToastDone; import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.ToastType; import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.ToasterService; import org.opendaylight.yangtools.concepts.Registration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * */ public final class ToasterConsumerModule extends org.opendaylight.controller.config.yang.config.toaster_consumer.impl.AbstractToasterConsumerModule { private static final Logger log = LoggerFactory.getLogger(ToasterConsumerModule.class); public ToasterConsumerModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) { super(identifier, dependencyResolver); } public ToasterConsumerModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, ToasterConsumerModule oldModule, 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 // config-subsystem will perform the validation } @Override public java.lang.AutoCloseable createInstance() { ToasterService toasterService = getRpcRegistryDependency().getRpcService(ToasterService.class); final ToastConsumerImpl consumer = new ToastConsumerImpl(toasterService); final Registration> notificationRegistration = getNotificationServiceDependency() .registerNotificationListener(ToastDone.class, consumer); final ToasterConsumerRuntimeRegistration runtimeRegistration = getRootRuntimeBeanRegistratorWrapper().register(consumer); final class AutoCloseableToastConsumer implements AutoCloseable, ToastConsumer { @Override public void close() throws Exception { runtimeRegistration.close(); notificationRegistration.close(); log.info("Toaster consumer (instance {}) torn down.", this); } @Override public boolean createToast(Class type, int doneness) { return consumer.createToast(type, doneness); } } AutoCloseable ret = new AutoCloseableToastConsumer(); log.info("Toaster consumer (instance {}) initialized.", ret); return ret; } }