Eliminate some more references to SchemaService
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / main / resources / org / opendaylight / blueprint / binding-broker.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
3            xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0">
4
5   <!-- Runtime binding/normalized mapping service -->
6
7   <reference id="classLoadingStrategy" interface="org.opendaylight.mdsal.binding.generator.api.ClassLoadingStrategy"/>
8   <reference id="schemaService" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService" />
9
10   <bean id="mappingCodec" class="org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodecFactory"
11          factory-method="newInstance">
12     <argument ref="classLoadingStrategy"/>
13   </bean>
14
15   <!-- Register the BindingToNormalizedNodeCodec with the SchemaService as a SchemaContextListener -->
16   <bean id="mappingCodecListenerReg" class="org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodecFactory"
17          factory-method="registerInstance" destroy-method="close">
18     <argument ref="mappingCodec"/>
19     <argument ref="schemaService"/>
20   </bean>
21
22   <service ref="mappingCodec" odl:type="default">
23     <interfaces>
24       <value>org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer</value>
25       <value>org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory</value>
26     </interfaces>
27   </service>
28
29   <!-- We also register the BindingToNormalizedNodeCodec with its actual class name for
30        backwards compatibility for CSS users that inject the binding-dom-mapping-service -->
31   <bean id="mappingCodecServiceReg" class="org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodecFactory"
32          factory-method="registerOSGiService" destroy-method="unregister">
33     <argument ref="mappingCodec"/>
34     <argument ref="blueprintBundleContext"/>
35   </bean>
36
37   <!-- Binding RPC Registry Service -->
38
39   <reference id="domRpcService" interface="org.opendaylight.controller.md.sal.dom.api.DOMRpcService"/>
40
41   <bean id="bindingRpcServiceAdapter" class="org.opendaylight.controller.md.sal.binding.impl.BindingDOMRpcServiceAdapter" >
42     <argument ref="domRpcService"/>
43     <argument ref="mappingCodec"/>
44   </bean>
45
46   <reference id="domRpcRegistry" interface="org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService"/>
47
48   <bean id="bindingRpcProviderAdapter" class="org.opendaylight.controller.md.sal.binding.impl.BindingDOMRpcProviderServiceAdapter" >
49     <argument ref="domRpcRegistry"/>
50     <argument ref="mappingCodec"/>
51   </bean>
52
53   <bean id="bindingRpcRegistry" class="org.opendaylight.controller.md.sal.binding.compat.HeliumRpcProviderRegistry" >
54     <argument ref="bindingRpcServiceAdapter"/>
55     <argument ref="bindingRpcProviderAdapter"/>
56   </bean>
57
58   <service ref="bindingRpcRegistry" interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry"
59           odl:type="default"/>
60
61   <!-- Binding MountPoint Service -->
62
63   <reference id="domMountPointService" interface="org.opendaylight.controller.md.sal.dom.api.DOMMountPointService"/>
64
65   <bean id="bindingMountPointService" class="org.opendaylight.controller.md.sal.binding.impl.BindingDOMMountPointServiceAdapter" >
66     <argument ref="domMountPointService"/>
67     <argument ref="mappingCodec"/>
68   </bean>
69
70   <service ref="bindingMountPointService" interface="org.opendaylight.controller.md.sal.binding.api.MountPointService"
71           odl:type="default"/>
72
73   <!-- Binding Notification Service -->
74
75   <reference id="domNotificationService" interface="org.opendaylight.controller.md.sal.dom.api.DOMNotificationService"/>
76
77   <bean id="bindingNotificationServiceAdapter" class="org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationServiceAdapter">
78     <argument>
79       <bean factory-ref="mappingCodec" factory-method="getCodecRegistry"/>
80     </argument>
81     <argument ref="domNotificationService"/>
82   </bean>
83
84   <service ref="bindingNotificationServiceAdapter" interface="org.opendaylight.controller.md.sal.binding.api.NotificationService"
85           odl:type="default"/>
86
87   <reference id="domNotificationPublishService" interface="org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService"/>
88
89   <bean id="bindingNotificationPublishAdapter" class="org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationPublishServiceAdapter">
90     <argument ref="mappingCodec"/>
91     <argument ref="domNotificationPublishService"/>
92   </bean>
93
94   <service ref="bindingNotificationPublishAdapter" interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService"
95           odl:type="default"/>
96
97   <reference id="domNotificationListenerRegistry" interface="org.opendaylight.controller.md.sal.dom.spi.DOMNotificationSubscriptionListenerRegistry"/>
98
99   <bean id="bindingNotificationProviderService" class="org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceWithInterestListeners">
100     <argument ref="bindingNotificationPublishAdapter"/>
101     <argument ref="bindingNotificationServiceAdapter"/>
102     <argument ref="domNotificationListenerRegistry"/>
103   </bean>
104
105   <service ref="bindingNotificationProviderService" odl:type="default">
106     <interfaces>
107       <value>org.opendaylight.controller.sal.binding.api.NotificationProviderService</value>
108       <value>org.opendaylight.controller.sal.binding.api.NotificationService</value>
109     </interfaces>
110   </service>
111
112   <!-- Binding DataBroker -->
113
114   <reference id="domDefaultDataBroker" interface="org.opendaylight.controller.md.sal.dom.api.DOMDataBroker"
115           odl:type="default"/>
116
117   <bean id="bindingDataBroker" class="org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter">
118     <argument ref="domDefaultDataBroker"/>
119     <argument ref="mappingCodec"/>
120   </bean>
121
122   <service ref="bindingDataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
123           odl:type="default"/>
124
125   <!-- Binding PingPong DataBroker -->
126
127   <reference id="domPingPongDataBroker" interface="org.opendaylight.controller.md.sal.dom.api.DOMDataBroker"
128           odl:type="pingpong"/>
129
130   <bean id="bindingPingPongDataBroker" class="org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter">
131     <argument ref="domPingPongDataBroker"/>
132     <argument ref="mappingCodec"/>
133   </bean>
134
135   <service ref="bindingPingPongDataBroker" interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
136           odl:type="pingpong"/>
137
138 </blueprint>