1 package org.opendaylight.controller.sal.binding.impl.connect.dom;
3 import static com.google.common.base.Preconditions.checkNotNull;
5 import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
6 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
7 import org.opendaylight.controller.sal.binding.api.data.DataProviderService;
8 import org.opendaylight.controller.sal.binding.impl.RootBindingAwareBroker;
9 import org.opendaylight.controller.sal.core.api.Broker.ProviderSession;
10 import org.opendaylight.controller.sal.core.api.RpcProvisionRegistry;
11 import org.opendaylight.controller.sal.core.api.notify.NotificationPublishService;
13 public class BindingDomConnectorDeployer {
15 private static BindingIndependentMappingService mappingService;
17 public static BindingIndependentConnector tryToDeployConnector(RootBindingAwareBroker baBroker,
18 ProviderSession domSession) {
19 checkNotNull(baBroker);
20 checkNotNull(domSession);
21 BindingIndependentConnector connector = createConnector(mappingService);
25 public static BindingIndependentConnector createConnector(BindingIndependentMappingService mappingService) {
26 BindingIndependentConnector connector = new BindingIndependentConnector();
27 connector.setMappingService(mappingService);
31 public static BindingIndependentConnector createConnector(BindingIndependentConnector source) {
32 BindingIndependentConnector connector = new BindingIndependentConnector();
33 connector.setMappingService(source.getMappingService());
37 public static void startDataForwarding(BindingIndependentConnector connector, DataProviderService baService,
38 ProviderSession domContext) {
39 startDataForwarding(connector, baService,
40 domContext.getService(org.opendaylight.controller.sal.core.api.data.DataProviderService.class));
43 public static void startRpcForwarding(BindingIndependentConnector connector,
44 RpcProviderRegistry rpcProviderRegistry, ProviderSession domProviderContext) {
45 startRpcForwarding(connector, rpcProviderRegistry, domProviderContext.getService(RpcProvisionRegistry.class));
49 public static void startNotificationForwarding(BindingIndependentConnector connector, NotificationProviderService provider,ProviderSession domProviderContext) {
50 startNotificationForwarding(connector, provider, domProviderContext.getService(NotificationPublishService.class));
53 public static void startRpcForwarding(BindingIndependentConnector connector, RpcProviderRegistry baService,
54 RpcProvisionRegistry domService) {
55 if (connector.isRpcForwarding()) {
59 connector.setDomRpcRegistry(domService);
60 connector.setBindingRpcRegistry(baService);
61 connector.startRpcForwarding();
64 public static void startDataForwarding(BindingIndependentConnector connector, DataProviderService baService,
65 org.opendaylight.controller.sal.core.api.data.DataProviderService domService) {
66 if (connector.isDataForwarding()) {
70 connector.setBindingDataService(baService);
71 connector.setDomDataService(domService);
72 connector.startDataForwarding();
75 public static void startNotificationForwarding(BindingIndependentConnector connector, NotificationProviderService baService, NotificationPublishService domService) {
76 if(connector.isNotificationForwarding()) {
84 // public static BindingIndependentMappingService getGlobalMappingService()
86 // return mappingService;
89 // protected static BindingIndependentMappingService
90 // setGlobalMappingService(BindingIndependentMappingService service) {
91 // mappingService= service;
92 // return mappingService;
95 // public static BindingIndependentConnector
96 // tryToDeployConnector(MountProviderInstance baMount,MountProvisionInstance