X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fyang%2Fopendaylight-binding-broker-impl.yang;h=b95cb73f1c793fa04491093b226707b3756a375c;hp=72bae68d4c759aa48af9cb50ebc9559c2e8c8fb7;hb=ab7bfb1d8a4f5c0fb800074c9a8f12caeb35925c;hpb=17796822dcc6f7a00adb60e4e507b40f342d39ec diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/yang/opendaylight-binding-broker-impl.yang b/opendaylight/md-sal/sal-binding-broker/src/main/yang/opendaylight-binding-broker-impl.yang index 72bae68d4c..b95cb73f1c 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/yang/opendaylight-binding-broker-impl.yang +++ b/opendaylight/md-sal/sal-binding-broker/src/main/yang/opendaylight-binding-broker-impl.yang @@ -3,8 +3,10 @@ module opendaylight-sal-binding-broker-impl { namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl"; prefix "binding-impl"; - import config { prefix config; revision-date 2013-04-05; } - import opendaylight-md-sal-binding {prefix sal;} + import config { prefix config; revision-date 2013-04-05; } + import opendaylight-md-sal-binding {prefix sal;} + import opendaylight-md-sal-dom {prefix dom;} + import opendaylight-md-sal-common {prefix common;} description "Service definition for Binding Aware MD-SAL."; @@ -14,39 +16,127 @@ module opendaylight-sal-binding-broker-impl { "Initial revision"; } - identity binding-broker-impl-singleton { + identity binding-dom-mapping-service { + base config:service-type; + config:java-class "org.opendaylight.yangtools.yang.data.impl.codec.BindingIndependentMappingService"; + } + + + identity binding-broker-impl { base config:module-type; config:provided-service sal:binding-broker-osgi-registry; - config:java-name-prefix BindingBrokerImplSingleton; + 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; } - - grouping rpc-routing-table { - + 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; + config:provided-service sal:binding-notification-subscription-service; + config:java-name-prefix NotificationBrokerImpl; } + identity runtime-generated-mapping { + base config:module-type; + config:provided-service binding-dom-mapping-service; + config:java-name-prefix RuntimeMapping; + } - grouping rpc-router { - leaf module { - type string; + 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 { + refine type { + mandatory true; + config:required-identity sal:binding-rpc-registry; + } + } + }*/ + + container data-broker { + uses config:service-ref { + refine type { + mandatory true; + config:required-identity sal:binding-data-broker; + } + } + } + + container notification-service { + uses config:service-ref { + refine type { + mandatory true; + config:required-identity sal:binding-notification-service; + } + } + } } - container routing-tables { - list routing-table { - uses rpc-routing-table; + } + + augment "/config:modules/config:module/config:configuration" { + case binding-data-broker { + when "/config:modules/config:module/config:type = 'binding-data-broker'"; + container dom-broker { + uses config:service-ref { + refine type { + mandatory true; + config:required-identity dom:dom-broker-osgi-registry; + } + } } + + container 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 { + when "/config:modules/config:module/config:type = 'runtime-generated-mapping'"; + } + } augment "/config:modules/config:module/config:state" { - case binding-broker-impl-singleton { - when "/config:modules/config:module/config:type = 'binding-broker-impl-singleton'"; - - container rpc-routers { - list rpc-router { - uses rpc-router; - } + case binding-data-broker { + when "/config:modules/config:module/config:type = 'binding-data-broker'"; + container data { + uses common:data-state; } } } + augment "/config:modules/config:module/config:state" { + case binding-rpc-broker { + when "/config:modules/config:module/config:type = 'binding-rpc-broker'"; + uses common:rpc-state; + } + } + augment "/config:modules/config:module/config:state" { + case binding-notification-broker { + when "/config:modules/config:module/config:type = 'binding-notification-broker'"; + uses common:notification-state; + } + } } \ No newline at end of file