2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.controller.sal.binding.impl.connect.dom;
10 import static com.google.common.base.Preconditions.checkNotNull;
12 import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
13 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
14 import org.opendaylight.controller.sal.binding.api.data.DataProviderService;
15 import org.opendaylight.yangtools.yang.data.impl.codec.BindingIndependentMappingService;
16 import org.opendaylight.controller.sal.binding.impl.RootBindingAwareBroker;
17 import org.opendaylight.controller.sal.core.api.Broker.ProviderSession;
18 import org.opendaylight.controller.sal.core.api.RpcProvisionRegistry;
19 import org.opendaylight.controller.sal.core.api.notify.NotificationPublishService;
21 public class BindingDomConnectorDeployer {
23 private static BindingIndependentMappingService mappingService;
25 public static BindingIndependentConnector tryToDeployConnector(RootBindingAwareBroker baBroker,
26 ProviderSession domSession) {
27 checkNotNull(baBroker);
28 checkNotNull(domSession);
29 BindingIndependentConnector connector = createConnector(mappingService);
33 public static BindingIndependentConnector createConnector(BindingIndependentMappingService mappingService) {
34 BindingIndependentConnector connector = new BindingIndependentConnector();
35 connector.setMappingService(mappingService);
39 public static BindingIndependentConnector createConnector(BindingIndependentConnector source) {
40 BindingIndependentConnector connector = new BindingIndependentConnector();
41 connector.setMappingService(source.getMappingService());
45 public static void startDataForwarding(BindingIndependentConnector connector, DataProviderService baService,
46 ProviderSession domContext) {
47 startDataForwarding(connector, baService,
48 domContext.getService(org.opendaylight.controller.sal.core.api.data.DataProviderService.class));
51 public static void startRpcForwarding(BindingIndependentConnector connector,
52 RpcProviderRegistry rpcProviderRegistry, ProviderSession domProviderContext) {
53 startRpcForwarding(connector, rpcProviderRegistry, domProviderContext.getService(RpcProvisionRegistry.class));
57 public static void startNotificationForwarding(BindingIndependentConnector connector, NotificationProviderService provider,ProviderSession domProviderContext) {
58 startNotificationForwarding(connector, provider, domProviderContext.getService(NotificationPublishService.class));
61 public static void startRpcForwarding(BindingIndependentConnector connector, RpcProviderRegistry baService,
62 RpcProvisionRegistry domService) {
63 if (connector.isRpcForwarding()) {
67 connector.setDomRpcRegistry(domService);
68 connector.setBindingRpcRegistry(baService);
69 connector.startRpcForwarding();
72 public static void startDataForwarding(BindingIndependentConnector connector, DataProviderService baService,
73 org.opendaylight.controller.sal.core.api.data.DataProviderService domService) {
74 if (connector.isDataForwarding()) {
78 connector.setBindingDataService(baService);
79 connector.setDomDataService(domService);
80 connector.startDataForwarding();
83 public static void startNotificationForwarding(BindingIndependentConnector connector,
84 NotificationProviderService baService, NotificationPublishService domService) {
85 if(connector.isNotificationForwarding()) {
88 connector.setBindingNotificationService(baService);
89 connector.setDomNotificationService(domService);
90 connector.startNotificationForwarding();
94 // public static BindingIndependentMappingService getGlobalMappingService()
96 // return mappingService;
99 // protected static BindingIndependentMappingService
100 // setGlobalMappingService(BindingIndependentMappingService service) {
101 // mappingService= service;
102 // return mappingService;
105 // public static BindingIndependentConnector
106 // tryToDeployConnector(MountProviderInstance baMount,MountProvisionInstance