BUG-509: introduce Version concept
[controller.git] / opendaylight / md-sal / sal-dom-broker / src / main / yang / opendaylight-dom-broker-impl.yang
index bf12ac4f011fc656529b7131027114c67b4e6b31..3c29fe588567dafee48c5f4e628e4eb22a8364fc 100644 (file)
@@ -5,6 +5,7 @@ module opendaylight-sal-dom-broker-impl {
 
        import config { prefix config; revision-date 2013-04-05; }
        import opendaylight-md-sal-dom {prefix sal;}
+       import opendaylight-md-sal-common {prefix common;}
 
     description
         "Service definition for Binding Aware MD-SAL.";
@@ -18,6 +19,12 @@ module opendaylight-sal-dom-broker-impl {
         base config:module-type;
         config:provided-service sal:dom-broker-osgi-registry;
         config:java-name-prefix DomBrokerImpl;
+    }    
+    
+    
+    identity dom-inmemory-data-broker {
+        base config:module-type;
+        config:provided-service sal:dom-async-data-broker;
     }
     
     identity hash-map-data-store {
@@ -38,11 +45,37 @@ module opendaylight-sal-dom-broker-impl {
             container data-store {
                 uses config:service-ref {
                     refine type {
-                        mandatory true;
+                        mandatory false;
                         config:required-identity sal:dom-data-store;
                     }
                 }
             }
+            
+            container async-data-broker {
+                uses config:service-ref {
+                    refine type {
+                        mandatory false;
+                        config:required-identity sal:dom-async-data-broker;
+                    }
+                }
+            
+            }
+        }
+    }
+    
+    augment "/config:modules/config:module/config:configuration" {
+        case dom-inmemory-data-broker {
+            when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'";
+            
+            container schema-service {
+                uses config:service-ref {
+                    refine type {
+                        mandatory false;
+                        config:required-identity sal:schema-service;
+                    }
+                }
+            
+            }
         }
     }
     
@@ -58,4 +91,12 @@ module opendaylight-sal-dom-broker-impl {
         }
     }
     
+    augment "/config:modules/config:module/config:state" {
+        case dom-broker-impl {
+            when "/config:modules/config:module/config:type = 'dom-broker-impl'";
+            container data {
+                uses common:data-state;
+            } 
+        }
+    }
 }
\ No newline at end of file