9b90f4798af1a43362dc95d203885c5361ab0fe6
[netconf.git] / opendaylight / netconf / messagebus-netconf / src / main / java / org / opendaylight / controller / config / yang / messagebus / netconf / MessageBusNetconfModule.java
1 package org.opendaylight.controller.config.yang.messagebus.netconf;
2
3 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
4 import org.opendaylight.controller.md.sal.binding.api.MountPointService;
5 import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService;
6 import org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService;
7 import org.opendaylight.controller.messagebus.app.util.Providers;
8 import org.opendaylight.netconf.messagebus.eventsources.netconf.NetconfEventSourceManager;
9 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
10 import org.opendaylight.controller.sal.core.api.Broker;
11
12 public class MessageBusNetconfModule extends org.opendaylight.controller.config.yang.messagebus.netconf.AbstractMessageBusNetconfModule {
13     public MessageBusNetconfModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
14         super(identifier, dependencyResolver);
15     }
16
17     public MessageBusNetconfModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.messagebus.netconf.MessageBusNetconfModule oldModule, java.lang.AutoCloseable oldInstance) {
18         super(identifier, dependencyResolver, oldModule, oldInstance);
19     }
20
21     @Override
22     public void customValidation() {}
23
24     @Override
25     public java.lang.AutoCloseable createInstance() {
26         final BindingAwareBroker.ProviderContext bindingCtx = getBindingBrokerDependency().registerProvider(new Providers.BindingAware());
27         final Broker.ProviderSession domCtx = getDomBrokerDependency().registerProvider(new Providers.BindingIndependent());
28
29         final MountPointService mountPointService = bindingCtx.getSALService(MountPointService.class);
30         final DataBroker dataBroker = bindingCtx.getSALService(DataBroker.class);
31
32         final DOMNotificationPublishService domPublish = domCtx.getService(DOMNotificationPublishService.class);
33         final DOMMountPointService domMount = domCtx.getService(DOMMountPointService.class);
34
35         return NetconfEventSourceManager.create(dataBroker, domPublish, domMount,
36             mountPointService, getEventSourceRegistryDependency(), getNamespaceToStream());
37     }
38
39 }