Bug 488: Removed requirement for DOM providers to supply BundleContext.
[controller.git] / opendaylight / md-sal / sal-dom-broker / src / main / yang / opendaylight-dom-broker-impl.yang
1 module opendaylight-sal-dom-broker-impl {
2         yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl";
4     prefix "binding-impl";
5
6         import config { prefix config; revision-date 2013-04-05; }
7         import opendaylight-md-sal-dom {prefix sal;}
8         import opendaylight-md-sal-common {prefix common;}
9         import opendaylight-config-dom-datastore {prefix config-dom-store-spi;}
10         import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;}
11
12     description
13         "Service definition for Binding Aware MD-SAL.
14         Note: The dom-inmemory-data-broker utilizes configurable config-dom-datastore
15         and operation-dom-datastore. If configuration is not done for this stores
16         then it defaults to InMemoryDOMDataStore";
17  
18     revision "2013-10-28" {
19         description
20             "Initial revision";
21     }
22
23     identity dom-broker-impl {
24         base config:module-type;
25         config:provided-service sal:dom-broker-osgi-registry;
26         config:java-name-prefix DomBrokerImpl;
27     }    
28     
29     
30     identity dom-inmemory-data-broker {
31         base config:module-type;
32         config:provided-service sal:dom-async-data-broker;
33     }
34     
35     identity hash-map-data-store {
36         base config:module-type;
37         config:provided-service sal:dom-data-store;
38         config:java-name-prefix HashMapDataStore;
39     }
40     
41     identity schema-service-singleton {
42         base config:module-type;
43         config:provided-service sal:schema-service;
44         config:java-name-prefix SchemaServiceImplSingleton;
45     }
46
47     augment "/config:modules/config:module/config:configuration" {
48         case dom-broker-impl {
49             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
50             container data-store {
51                 uses config:service-ref {
52                     refine type {
53                         mandatory false;
54                         config:required-identity sal:dom-data-store;
55                     }
56                 }
57             }
58
59             container async-data-broker {
60                 uses config:service-ref {
61                     refine type {
62                         mandatory false;
63                         config:required-identity sal:dom-async-data-broker;
64                     }
65                 }
66             }
67
68             container root-schema-service {
69                 uses config:service-ref {
70                     refine type {
71                         mandatory false;
72                         config:required-identity sal:schema-service;
73                     }
74                 }
75             }
76         }
77     }
78     
79     augment "/config:modules/config:module/config:configuration" {
80         case dom-inmemory-data-broker {
81             when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
82
83
84             container schema-service {
85                 uses config:service-ref {
86                     refine type {
87                         mandatory false;
88                         config:required-identity sal:schema-service;
89                     }
90                 }
91
92             }
93
94             container config-data-store{
95                  uses config:service-ref {
96                      refine type {
97                          mandatory false;
98                          config:required-identity  config-dom-store-spi:config-dom-datastore;
99                      }
100                  }
101             }
102
103             container operational-data-store{
104                   uses config:service-ref {
105                        refine type {
106                            mandatory false;
107                            config:required-identity operational-dom-store-spi:operational-dom-datastore;
108                        }
109                    }
110             }
111         }
112     }
113     
114     augment "/config:modules/config:module/config:state" {
115         case hash-map-data-store {
116             when "/config:modules/config:module/config:type = 'hash-map-data-store'";
117         }
118     }
119     
120     augment "/config:modules/config:module/config:state" {
121         case schema-service-singleton {
122             when "/config:modules/config:module/config:type = 'schema-service-singleton'";
123         }
124     }
125     
126     augment "/config:modules/config:module/config:state" {
127         case dom-broker-impl {
128             when "/config:modules/config:module/config:type = 'dom-broker-impl'";
129             container data {
130                 uses common:data-state;
131             } 
132         }
133     }
134 }

©2013 OpenDaylight, A Linux Foundation Collaborative Project. All Rights Reserved.
OpenDaylight is a registered trademark of The OpenDaylight Project, Inc.
Linux Foundation and OpenDaylight are registered trademarks of the Linux Foundation.
Linux is a registered trademark of Linus Torvalds.