X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsamples%2Ftoaster-consumer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fconfig%2Ftoaster_consumer%2Fimpl%2FToasterConsumerModule.java;fp=opendaylight%2Fmd-sal%2Fsamples%2Ftoaster-consumer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fconfig%2Ftoaster_consumer%2Fimpl%2FToasterConsumerModule.java;h=c006a34da7328add85de51d5e2f94a6377478697;hp=0000000000000000000000000000000000000000;hb=4e90dc91054540e5a40144c6349d0bc0dcbba91a;hpb=808313e2a87d8dd037a0566574d0acc34687149c diff --git a/opendaylight/md-sal/samples/toaster-consumer/src/main/java/org/opendaylight/controller/config/yang/config/toaster_consumer/impl/ToasterConsumerModule.java b/opendaylight/md-sal/samples/toaster-consumer/src/main/java/org/opendaylight/controller/config/yang/config/toaster_consumer/impl/ToasterConsumerModule.java new file mode 100644 index 0000000000..c006a34da7 --- /dev/null +++ b/opendaylight/md-sal/samples/toaster-consumer/src/main/java/org/opendaylight/controller/config/yang/config/toaster_consumer/impl/ToasterConsumerModule.java @@ -0,0 +1,68 @@ +/** +* 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; + +/** +* +*/ +public final class ToasterConsumerModule extends org.opendaylight.controller.config.yang.config.toaster_consumer.impl.AbstractToasterConsumerModule + { + + 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(); + } + + @Override + public boolean createToast(Class type, int doneness) { + return consumer.createToast(type, doneness); + } + } + + return new AutoCloseableToastConsumer(); + } +}