1 package org.opendaylight.controller.sample.toaster.provider;
2 import java.util.Collection;
3 import java.util.Collections;
6 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
7 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ConsumerContext;
8 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
9 import org.opendaylight.controller.sal.binding.api.BindingAwareProvider;
10 import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
11 import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev20091120.ToasterService;
12 import org.opendaylight.yangtools.yang.binding.RpcService;
13 import org.osgi.framework.BundleActivator;
14 import org.osgi.framework.BundleContext;
15 import org.osgi.framework.ServiceReference;
16 import org.slf4j.Logger;
17 import org.slf4j.LoggerFactory;
20 public class ToasterProvider implements BindingAwareProvider, BundleActivator {
21 private static final Logger log = LoggerFactory.getLogger(ToasterProvider.class);
23 private ConsumerContext consumerContext;
24 private ProviderContext providerContext;
25 private OpendaylightToaster toaster;
28 public ToasterProvider() {
29 toaster = new OpendaylightToaster();
33 public void onSessionInitialized(ConsumerContext session) {
34 log.info("Consumer Session initialized");
35 this.consumerContext = session;
40 public void onSessionInitiated(ProviderContext session) {
41 log.info("Provider Session initialized");
43 this.providerContext = session;
44 toaster.setNotificationProvider(session.getSALService(NotificationProviderService.class));
45 providerContext.addRpcImplementation(ToasterService.class, toaster);
50 public Collection<? extends RpcService> getImplementations() {
51 return Collections.emptySet();
55 public Collection<? extends ProviderFunctionality> getFunctionality() {
56 return Collections.emptySet();
60 public void start(BundleContext context) throws Exception {
61 ServiceReference<BindingAwareBroker> brokerRef = context.getServiceReference(BindingAwareBroker.class);
62 BindingAwareBroker broker = context.getService(brokerRef);
63 broker.registerProvider(this, context);
67 public void stop(BundleContext context) throws Exception {