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