X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fyang%2Fopendaylight-binding-broker-impl.yang;h=84cc5c7b99121e08e801b5af82777264712154eb;hb=8c3828c33459a75b18d463155295bd70c5e6fc04;hp=cee4b1efb3a3107e27fa5325dd6d3f92cc937609;hpb=d206d27042eef2185c875f85cf6eac61a1bd77c4;p=controller.git 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 cee4b1efb3..84cc5c7b99 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 @@ -18,9 +18,20 @@ module opendaylight-sal-binding-broker-impl { identity binding-dom-mapping-service { base config:service-type; - config:java-class "org.opendaylight.yangtools.yang.data.impl.codec.BindingIndependentMappingService"; + config:java-class "org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec"; } + /* FIXME: move to opendaylight-md-sal-binding (cannot be there due to Class name confict with old implementation)*/ + identity binding-new-notification-service { + base config:service-type; + config:java-class "org.opendaylight.controller.md.sal.binding.api.NotificationService"; + } + + /* TODO: move to opendaylight-md-sal-binding (cannot be there due to Class name confict with old implementation)*/ + identity binding-new-notification-publish-service { + base config:service-type; + config:java-class "org.opendaylight.controller.md.sal.binding.api.NotificationPublishService"; + } identity binding-broker-impl { base config:module-type; @@ -29,20 +40,13 @@ module opendaylight-sal-binding-broker-impl { 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-forwarded-data-broker { base config:module-type; config:provided-service sal:binding-async-data-broker; @@ -65,9 +69,23 @@ module opendaylight-sal-binding-broker-impl { identity runtime-generated-mapping { base config:module-type; config:provided-service binding-dom-mapping-service; + config:provided-service sal:binding-codec-tree-factory; + config:provided-service sal:binding-normalized-node-serializer; config:java-name-prefix RuntimeMapping; } + identity binding-notification-adapter { + base config:module-type; + config:provided-service binding-new-notification-service; + config:java-name-prefix BindingNotificationAdapter; + } + + identity binding-notification-publish-adapter { + base config:module-type; + config:provided-service binding-new-notification-publish-service; + config:java-name-prefix BindingNotificationPublishAdapter; + } + grouping dom-forwarding-component { container dom-async-broker { uses config:service-ref { @@ -101,30 +119,33 @@ module opendaylight-sal-binding-broker-impl { } } }*/ - - container data-broker { - uses config:service-ref { - refine type { - mandatory false; - config:required-identity sal:binding-data-broker; + container binding-broker-impl { + uses dom-forwarding-component; + + container data-broker { + uses config:service-ref { + refine type { + mandatory false; + 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 notification-service { + uses config:service-ref { + refine type { + mandatory true; + config:required-identity sal:binding-notification-service; + } } } - } - - container root-data-broker { - uses config:service-ref { - refine type { - mandatory false; - config:required-identity sal:binding-async-data-broker; + + container root-data-broker { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity sal:binding-async-data-broker; + } } } } @@ -132,70 +153,119 @@ module opendaylight-sal-binding-broker-impl { } 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; - } - } - } + case binding-data-compatible-broker { + when "/config:modules/config:module/config:type = 'binding-data-compatible-broker'"; - container mapping-service { - uses config:service-ref { - refine type { - mandatory true; - config:required-identity binding-dom-mapping-service; + container binding-data-compatible-broker { + container data-broker { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity sal:binding-async-data-broker; + } } } } } } - augment "/config:modules/config:module/config:configuration" { - case binding-data-compatible-broker { - when "/config:modules/config:module/config:type = 'binding-data-compatible-broker'"; - - uses dom-forwarding-component; - } - } - augment "/config:modules/config:module/config:configuration" { case binding-forwarded-data-broker { when "/config:modules/config:module/config:type = 'binding-forwarded-data-broker'"; container binding-forwarded-data-broker { - uses dom-forwarding-component; + container dom-async-broker { + uses config:service-ref { + refine type { + mandatory true; + config:required-identity dom:dom-async-data-broker; + } + } + } + + container binding-mapping-service { + uses config:service-ref { + refine type { + mandatory true; + config:required-identity binding-dom-mapping-service; + } + } + } + + container schema-service { + uses config:service-ref { + refine type { + mandatory true; + config:required-identity dom:schema-service; + } + } + } } } } - augment "/config:modules/config:module/config:state" { + augment "/config:modules/config:module/config:configuration" { case runtime-generated-mapping { when "/config:modules/config:module/config:type = 'runtime-generated-mapping'"; - } - } - - augment "/config:modules/config:module/config:state" { - case binding-data-broker { - when "/config:modules/config:module/config:type = 'binding-data-broker'"; - container data { - uses common:data-state; + leaf wait-for-schema { + default "false"; + type boolean; } } } + 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:configuration" { + case binding-notification-broker { + when "/config:modules/config:module/config:type = 'binding-notification-broker'"; + container notification-adapter { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity binding-new-notification-service; + } + } + } + + container notification-publish-adapter { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity binding-new-notification-publish-service; + } + } + } + } + } + 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; } } + + augment "/config:modules/config:module/config:configuration" { + case binding-notification-adapter { + when "/config:modules/config:module/config:type = 'binding-notification-adapter'"; + container binding-notification-adapter { + uses dom-forwarding-component; + } + } + } + + augment "/config:modules/config:module/config:configuration" { + case binding-notification-publish-adapter { + when "/config:modules/config:module/config:type = 'binding-notification-publish-adapter'"; + container binding-notification-publish-adapter { + uses dom-forwarding-component; + } + } + } }