BUG-1120: promote synchronization to all entrypoints
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / main / yang / opendaylight-binding-broker-impl.yang
index 9da073f71b44545694350d17c15f588ea2c36af3..428025a58df58180085c4811f441f7f5a0e5d702 100644 (file)
@@ -1,5 +1,5 @@
 module opendaylight-sal-binding-broker-impl {
-       yang-version 1;
+    yang-version 1;
     namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl";
     prefix "binding-impl";
 
@@ -10,7 +10,7 @@ module opendaylight-sal-binding-broker-impl {
 
     description
         "Service definition for Binding Aware MD-SAL.";
+
     revision "2013-10-28" {
         description
             "Initial revision";
@@ -18,7 +18,7 @@ module opendaylight-sal-binding-broker-impl {
 
     identity binding-dom-mapping-service {
         base config:service-type;
-        config:java-class "org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentMappingService";
+        config:java-class "org.opendaylight.yangtools.yang.data.impl.codec.BindingIndependentMappingService";
     }
 
 
@@ -28,20 +28,27 @@ module opendaylight-sal-binding-broker-impl {
         config:provided-service sal:binding-rpc-registry;
         config:java-name-prefix BindingBrokerImpl;
     }
-    
+
     identity binding-data-broker {
         base config:module-type;
         config:provided-service sal:binding-data-broker;
         config:provided-service sal:binding-data-consumer-broker;
         config:java-name-prefix DataBrokerImpl;
     }
-    
+
+    identity binding-data-compatible-broker {
+        base config:module-type;
+        config:provided-service sal:binding-data-broker;
+        config:provided-service sal:binding-data-consumer-broker;
+        config:java-name-prefix ForwardedCompatibleDataBrokerImpl;
+    }
+
     identity binding-rpc-broker {
         base config:module-type;
         config:provided-service sal:binding-rpc-registry;
         config:java-name-prefix RpcBrokerImpl;
     }
-    
+
     identity binding-notification-broker {
         base config:module-type;
         config:provided-service sal:binding-notification-service;
@@ -58,7 +65,7 @@ module opendaylight-sal-binding-broker-impl {
     augment "/config:modules/config:module/config:configuration" {
         case binding-broker-impl {
             when "/config:modules/config:module/config:type = 'binding-broker-impl'";
-            
+
             /*
             container rpc-registry {
                 uses config:service-ref {
@@ -68,7 +75,7 @@ module opendaylight-sal-binding-broker-impl {
                     }
                 }
             }*/
-            
+
             container data-broker {
                 uses config:service-ref {
                     refine type {
@@ -77,7 +84,7 @@ module opendaylight-sal-binding-broker-impl {
                     }
                 }
             }
-            
+
             container notification-service {
                 uses config:service-ref {
                     refine type {
@@ -85,10 +92,10 @@ module opendaylight-sal-binding-broker-impl {
                         config:required-identity sal:binding-notification-service;
                     }
                 }
-            } 
+            }
         }
     }
-    
+
     augment "/config:modules/config:module/config:configuration" {
         case binding-data-broker {
             when "/config:modules/config:module/config:type = 'binding-data-broker'";
@@ -100,6 +107,7 @@ module opendaylight-sal-binding-broker-impl {
                     }
                 }
             }
+
             container mapping-service {
                 uses config:service-ref {
                     refine type {
@@ -107,10 +115,34 @@ module opendaylight-sal-binding-broker-impl {
                         config:required-identity binding-dom-mapping-service;
                     }
                 }
-            } 
+            }
+        }
+    }
+
+    augment "/config:modules/config:module/config:configuration" {
+        case binding-data-compatible-broker {
+            when "/config:modules/config:module/config:type = 'binding-data-compatible-broker'";
+
+            container dom-async-broker {
+                uses config:service-ref {
+                    refine type {
+                        mandatory true;
+                        config:required-identity dom:dom-broker-osgi-registry;
+                    }
+                }
+            }
+
+            container binding-mapping-service {
+                uses config:service-ref {
+                    refine type {
+                        mandatory true;
+                        config:required-identity binding-dom-mapping-service;
+                    }
+                }
+            }
         }
     }
-    
+
 
     augment "/config:modules/config:module/config:state" {
         case runtime-generated-mapping {
@@ -121,7 +153,9 @@ module opendaylight-sal-binding-broker-impl {
     augment "/config:modules/config:module/config:state" {
         case binding-data-broker {
             when "/config:modules/config:module/config:type = 'binding-data-broker'";
-            uses common:data-state;
+            container data {
+                uses common:data-state;
+            }
         }
     }
     augment "/config:modules/config:module/config:state" {
@@ -136,4 +170,4 @@ module opendaylight-sal-binding-broker-impl {
             uses common:notification-state;
         }
     }
-}
\ No newline at end of file
+}