Bug 8568: Remove deprecated HydrogenDataBrokerAdapter
[controller.git] / opendaylight / md-sal / sal-binding-config / src / main / yang / opendaylight-binding-broker-impl.yang
1 module opendaylight-sal-binding-broker-impl {
2     yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl";
4     prefix "binding-impl";
5
6     import config { prefix config; revision-date 2013-04-05; }
7     import opendaylight-md-sal-binding {prefix sal;}
8     import opendaylight-md-sal-binding-v1-codec {prefix v1codec;}
9     import opendaylight-md-sal-dom {prefix dom;}
10     import opendaylight-md-sal-common {prefix common;}
11
12     description
13         "Service definition for Binding Aware MD-SAL.";
14
15     revision "2013-10-28" {
16         description
17             "Initial revision";
18     }
19
20     identity binding-dom-mapping-service {
21         base config:service-type;
22         config:java-class "org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec";
23         config:disable-osgi-service-registration;
24     }
25
26     /* FIXME: move to opendaylight-md-sal-binding (cannot be there due to Class name confict with old implementation)*/
27     identity binding-new-notification-service {
28         status deprecated;
29         base config:service-type;
30         config:java-class "org.opendaylight.controller.md.sal.binding.api.NotificationService";
31         config:disable-osgi-service-registration;
32     }
33
34     /* TODO: move to opendaylight-md-sal-binding (cannot be there due to Class name confict with old implementation)*/
35     identity binding-new-notification-publish-service {
36         status deprecated;
37         base config:service-type;
38         config:java-class "org.opendaylight.controller.md.sal.binding.api.NotificationPublishService";
39         config:disable-osgi-service-registration;
40     }
41
42     identity binding-broker-impl {
43         status deprecated;
44         base config:module-type;
45         config:provided-service sal:binding-broker-osgi-registry;
46         config:provided-service sal:binding-rpc-registry;
47         config:java-name-prefix BindingBrokerImpl;
48     }
49
50     identity binding-forwarded-data-broker {
51         status deprecated;
52         base config:module-type;
53         config:provided-service sal:binding-async-data-broker;
54         config:java-name-prefix BindingAsyncDataBrokerImpl;
55     }
56
57     identity binding-notification-broker {
58         status deprecated;
59         base config:module-type;
60         config:provided-service sal:binding-notification-service;
61         config:provided-service sal:binding-notification-subscription-service;
62         config:java-name-prefix NotificationBrokerImpl;
63     }
64
65     identity runtime-generated-mapping {
66         status deprecated;
67         base config:module-type;
68         config:provided-service binding-dom-mapping-service;
69         config:provided-service sal:binding-codec-tree-factory;
70         config:provided-service sal:binding-normalized-node-serializer;
71         config:provided-service v1codec:binding-v1-codec-tree-factory;
72         config:provided-service v1codec:binding-v1-normalized-node-serializer;
73         config:java-name-prefix RuntimeMapping;
74     }
75
76     identity binding-notification-adapter {
77         status deprecated;
78         base config:module-type;
79         config:provided-service binding-new-notification-service;
80         config:java-name-prefix BindingNotificationAdapter;
81     }
82
83     identity binding-notification-publish-adapter {
84         status deprecated;
85         base config:module-type;
86         config:provided-service binding-new-notification-publish-service;
87         config:java-name-prefix BindingNotificationPublishAdapter;
88     }
89
90     grouping dom-forwarding-component {
91         status deprecated;
92         container dom-async-broker {
93                 uses config:service-ref {
94                     refine type {
95                         mandatory true;
96                         config:required-identity dom:dom-broker-osgi-registry;
97                     }
98                 }
99             }
100
101         container binding-mapping-service {
102             uses config:service-ref {
103                 refine type {
104                     mandatory true;
105                     config:required-identity binding-dom-mapping-service;
106                 }
107             }
108         }
109     }
110
111     augment "/config:modules/config:module/config:configuration" {
112         case binding-broker-impl {
113             when "/config:modules/config:module/config:type = 'binding-broker-impl'";
114
115             /*
116             container rpc-registry {
117                 uses config:service-ref {
118                     refine type {
119                         mandatory true;
120                         config:required-identity sal:binding-rpc-registry;
121                     }
122                 }
123             }*/
124             container binding-broker-impl {
125                 uses dom-forwarding-component;
126
127                 container data-broker {
128                     status deprecated;
129                     uses config:service-ref {
130                         refine type {
131                             mandatory false;
132                             config:required-identity sal:binding-data-broker;
133                         }
134                     }
135                 }
136
137                 container notification-service {
138                     status deprecated;
139                     uses config:service-ref {
140                         refine type {
141                             mandatory false;
142                             config:required-identity sal:binding-notification-service;
143                         }
144                     }
145                 }
146
147                 container root-data-broker {
148                     status deprecated;
149                     uses config:service-ref {
150                         refine type {
151                             mandatory false;
152                             config:required-identity sal:binding-async-data-broker;
153                         }
154                     }
155                 }
156
157                 container notification-publish-service {
158                     status deprecated;
159                     uses config:service-ref {
160                         refine type {
161                             mandatory false;
162                             config:required-identity binding-new-notification-publish-service;
163                         }
164                         refine name {
165                             mandatory false;
166                         }
167                     }
168                 }
169             }
170         }
171     }
172
173     augment "/config:modules/config:module/config:configuration" {
174         case binding-forwarded-data-broker {
175             when "/config:modules/config:module/config:type = 'binding-forwarded-data-broker'";
176             container binding-forwarded-data-broker {
177                 container dom-async-broker {
178                     status deprecated;
179                     uses config:service-ref {
180                         refine type {
181                             mandatory true;
182                             config:required-identity dom:dom-async-data-broker;
183                         }
184                     }
185                 }
186
187                 container binding-mapping-service {
188                     status deprecated;
189                     uses config:service-ref {
190                         refine type {
191                             mandatory true;
192                             config:required-identity binding-dom-mapping-service;
193                         }
194                     }
195                 }
196
197                 container schema-service {
198                     status deprecated;
199                     uses config:service-ref {
200                         refine type {
201                             mandatory true;
202                             config:required-identity dom:schema-service;
203                         }
204                     }
205                 }
206             }
207         }
208     }
209
210
211     augment "/config:modules/config:module/config:configuration" {
212         case runtime-generated-mapping {
213             when "/config:modules/config:module/config:type = 'runtime-generated-mapping'";
214             leaf wait-for-schema {
215                 status deprecated;
216                 default "false";
217                 type boolean;
218             }
219         }
220     }
221
222     augment "/config:modules/config:module/config:configuration" {
223         case binding-notification-broker {
224             when "/config:modules/config:module/config:type = 'binding-notification-broker'";
225             container notification-adapter {
226                 status deprecated;
227                 uses config:service-ref {
228                     refine type {
229                         mandatory false;
230                         config:required-identity binding-new-notification-service;
231                     }
232                 }
233             }
234
235             container notification-publish-adapter {
236                 status deprecated;
237                 uses config:service-ref {
238                     refine type {
239                         mandatory false;
240                         config:required-identity binding-new-notification-publish-service;
241                     }
242                 }
243             }
244         }
245     }
246
247     augment "/config:modules/config:module/config:state" {
248         case binding-notification-broker {
249             when "/config:modules/config:module/config:type = 'binding-notification-broker'";
250             uses common:notification-state;
251         }
252     }
253
254     augment "/config:modules/config:module/config:configuration" {
255         case binding-notification-adapter {
256             when "/config:modules/config:module/config:type = 'binding-notification-adapter'";
257             container binding-notification-adapter {
258                 status deprecated;
259                 uses dom-forwarding-component;
260             }
261         }
262     }
263
264     augment "/config:modules/config:module/config:configuration" {
265         case binding-notification-publish-adapter {
266             when "/config:modules/config:module/config:type = 'binding-notification-publish-adapter'";
267             container binding-notification-publish-adapter {
268                 status deprecated;
269                 uses dom-forwarding-component;
270             }
271         }
272     }
273 }