Bug 8568: Remove deprecated MountProviderService from RootBindingAwareBroker
[controller.git] / opendaylight / md-sal / sal-binding-config / src / main / java / org / opendaylight / controller / config / yang / md / sal / binding / impl / BindingBrokerImplModule.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 /**
9  * Generated file
10
11  * Generated from: yang module name: opendaylight-sal-binding-broker-impl  yang module local name: binding-broker-impl
12  * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
13  * Generated at: Wed Nov 20 17:33:01 CET 2013
14  *
15  * Do not modify this file unless it is present under src/main directory
16  */
17 package org.opendaylight.controller.config.yang.md.sal.binding.impl;
18
19 import org.opendaylight.controller.md.sal.binding.api.MountPointService;
20 import org.opendaylight.controller.md.sal.binding.compat.HeliumRpcProviderRegistry;
21 import org.opendaylight.controller.md.sal.binding.impl.BindingDOMMountPointServiceAdapter;
22 import org.opendaylight.controller.md.sal.binding.impl.BindingDOMRpcProviderServiceAdapter;
23 import org.opendaylight.controller.md.sal.binding.impl.BindingDOMRpcServiceAdapter;
24 import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec;
25 import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService;
26 import org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService;
27 import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
28 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
29 import org.opendaylight.controller.sal.binding.impl.RootBindingAwareBroker;
30 import org.opendaylight.controller.sal.core.api.Broker;
31 import org.opendaylight.controller.sal.core.api.Broker.ProviderSession;
32
33 /**
34  * @deprecated Replaced by blueprint wiring
35  */
36 @Deprecated
37 public final class BindingBrokerImplModule extends
38         org.opendaylight.controller.config.yang.md.sal.binding.impl.AbstractBindingBrokerImplModule {
39
40     public BindingBrokerImplModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
41             final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
42         super(identifier, dependencyResolver);
43     }
44
45     public BindingBrokerImplModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
46             final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
47             final BindingBrokerImplModule oldModule, final java.lang.AutoCloseable oldInstance) {
48         super(identifier, dependencyResolver, oldModule, oldInstance);
49     }
50
51     @Override
52     public void validate() {
53         super.validate();
54     }
55
56     @Override
57     public RootBindingAwareBroker createInstance() {
58         final Broker domBroker = getDomAsyncBrokerDependency();
59         final BindingToNormalizedNodeCodec codec = getBindingMappingServiceDependency();
60         final ProviderSession session = domBroker.registerProvider(new DummyDOMProvider());
61
62         final MountPointService mount = createMountPointAdapter(codec,session);
63         final BindingDOMRpcServiceAdapter rpcConsumer = createRpcConsumer(codec,session);
64         final BindingDOMRpcProviderServiceAdapter rpcProvider = createRpcProvider(codec,session);
65         final RootBindingAwareBroker broker = new RootBindingAwareBroker(getIdentifier().getInstanceName());
66         final RpcProviderRegistry heliumRpcBroker = new HeliumRpcProviderRegistry(rpcConsumer, rpcProvider);
67
68         broker.setNotificationBroker(getNotificationServiceDependency());
69         if (getNotificationPublishServiceDependency() != null) {
70             broker.setNotificationPublishService(getNotificationPublishServiceDependency());
71         }
72         broker.setRpcBroker(heliumRpcBroker);
73         broker.setDataBroker(getRootDataBrokerDependency());
74         broker.setMountService(mount);
75         broker.start();
76         return broker;
77     }
78
79     private BindingDOMRpcProviderServiceAdapter createRpcProvider(final BindingToNormalizedNodeCodec codec,
80             final ProviderSession session) {
81         final DOMRpcProviderService domService = session.getService(DOMRpcProviderService.class);
82         if(domService != null) {
83             return new BindingDOMRpcProviderServiceAdapter(domService, codec);
84         }
85         return null;
86     }
87
88     private BindingDOMRpcServiceAdapter createRpcConsumer(final BindingToNormalizedNodeCodec codec, final ProviderSession session) {
89         final DOMRpcService domService = session.getService(DOMRpcService.class);
90         if(domService != null) {
91             return new BindingDOMRpcServiceAdapter(domService, codec);
92         }
93         return null;
94     }
95
96     private MountPointService createMountPointAdapter(final BindingToNormalizedNodeCodec codec, final ProviderSession session) {
97         final DOMMountPointService domService = session.getService(DOMMountPointService.class);
98         if(domService != null) {
99             return new BindingDOMMountPointServiceAdapter(domService, codec);
100         }
101         return null;
102     }
103
104 }