X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fsal%2Fsamples%2Ftoaster-provider%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsample%2Ftoaster%2Fprovider%2FToasterProvider.java;fp=opendaylight%2Fsal%2Fyang-prototype%2Fsal%2Fsamples%2Ftoaster-provider%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsample%2Ftoaster%2Fprovider%2FToasterProvider.java;h=08ac1494c658e8e4a75fe220c9c7119719f41618;hb=35620f5ccf1ed4d1e4ac78a97fff3c1fede8ad95;hp=0000000000000000000000000000000000000000;hpb=42183ad5bfefff7d6de9df467cdaa600a450af29;p=controller.git diff --git a/opendaylight/sal/yang-prototype/sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/sample/toaster/provider/ToasterProvider.java b/opendaylight/sal/yang-prototype/sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/sample/toaster/provider/ToasterProvider.java new file mode 100644 index 0000000000..08ac1494c6 --- /dev/null +++ b/opendaylight/sal/yang-prototype/sal/samples/toaster-provider/src/main/java/org/opendaylight/controller/sample/toaster/provider/ToasterProvider.java @@ -0,0 +1,71 @@ +package org.opendaylight.controller.sample.toaster.provider; +import java.util.Collection; +import java.util.Collections; + + +import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; +import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ConsumerContext; +import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext; +import org.opendaylight.controller.sal.binding.api.BindingAwareProvider; +import org.opendaylight.controller.sal.binding.api.NotificationProviderService; +import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev20091120.ToasterService; +import org.opendaylight.yangtools.yang.binding.RpcService; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +public class ToasterProvider implements BindingAwareProvider, BundleActivator { + private static final Logger log = LoggerFactory.getLogger(ToasterProvider.class); + + private ConsumerContext consumerContext; + private ProviderContext providerContext; + private OpendaylightToaster toaster; + + + public ToasterProvider() { + toaster = new OpendaylightToaster(); + } + + @Override + public void onSessionInitialized(ConsumerContext session) { + log.info("Consumer Session initialized"); + this.consumerContext = session; + + } + + @Override + public void onSessionInitiated(ProviderContext session) { + log.info("Provider Session initialized"); + + this.providerContext = session; + toaster.setNotificationProvider(session.getSALService(NotificationProviderService.class)); + providerContext.addRpcImplementation(ToasterService.class, toaster); + } + + + @Override + public Collection getImplementations() { + return Collections.emptySet(); + } + + @Override + public Collection getFunctionality() { + return Collections.emptySet(); + } + + @Override + public void start(BundleContext context) throws Exception { + ServiceReference brokerRef = context.getServiceReference(BindingAwareBroker.class); + BindingAwareBroker broker = context.getService(brokerRef); + broker.registerProvider(this, context); + } + + @Override + public void stop(BundleContext context) throws Exception { + + + } +}