1 package org.opendaylight.controller.config.yang.md.sal.binding.impl;
3 import java.util.Collection;
4 import java.util.Collections;
6 import org.opendaylight.controller.md.sal.binding.impl.ForwardedBindingDataBroker;
7 import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
8 import org.opendaylight.controller.sal.core.api.Broker;
9 import org.opendaylight.controller.sal.core.api.Broker.ProviderSession;
10 import org.opendaylight.controller.sal.core.api.Provider;
11 import org.opendaylight.controller.sal.core.api.model.SchemaService;
12 import org.opendaylight.yangtools.yang.data.impl.codec.BindingIndependentMappingService;
13 import org.osgi.framework.BundleContext;
15 public class BindingAsyncDataBrokerImplModule extends
16 org.opendaylight.controller.config.yang.md.sal.binding.impl.AbstractBindingAsyncDataBrokerImplModule implements
18 private BundleContext bundleContext;
20 public BindingAsyncDataBrokerImplModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
21 final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
22 super(identifier, dependencyResolver);
25 public BindingAsyncDataBrokerImplModule(
26 final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
27 final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
28 final org.opendaylight.controller.config.yang.md.sal.binding.impl.BindingAsyncDataBrokerImplModule oldModule,
29 final java.lang.AutoCloseable oldInstance) {
30 super(identifier, dependencyResolver, oldModule, oldInstance);
34 public void customValidation() {
35 // add custom validation form module attributes here.
39 public java.lang.AutoCloseable createInstance() {
40 Broker domBroker = getDomAsyncBrokerDependency();
41 BindingIndependentMappingService mappingService = getBindingMappingServiceDependency();
43 // FIXME: Switch this to DOM Broker registration which would not require
44 // BundleContext when API are updated.
45 ProviderSession session = domBroker.registerProvider(this, getBundleContext());
46 DOMDataBroker domDataBroker = session.getService(DOMDataBroker.class);
47 SchemaService schemaService = session.getService(SchemaService.class);
48 return new ForwardedBindingDataBroker(domDataBroker, mappingService, schemaService);
51 // FIXME: Remove this when DOM Broker registration would not require
54 private BundleContext getBundleContext() {
58 // FIXME: Remove this when DOM Broker registration would not require
61 void setBundleContext(final BundleContext bundleContext) {
62 this.bundleContext = bundleContext;
66 public Collection<ProviderFunctionality> getProviderFunctionality() {
67 return Collections.emptySet();
71 public void onSessionInitiated(final ProviderSession arg0) {