+++ /dev/null
-module opendaylight-sal-binding-broker-impl {
- yang-version 1;
- 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 opendaylight-md-sal-dom {prefix dom;}
- import opendaylight-md-sal-common {prefix common;}
-
- description
- "Service definition for Binding Aware MD-SAL.";
-
- revision "2013-10-28" {
- description
- "Initial revision";
- }
-
- identity binding-dom-mapping-service {
- base config:service-type;
- 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;
- config:provided-service sal:binding-broker-osgi-registry;
- config:provided-service sal:binding-rpc-registry;
- config:java-name-prefix BindingBrokerImpl;
- }
-
- 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;
- config:java-name-prefix BindingAsyncDataBrokerImpl;
- }
-
- 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: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 {
- 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: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 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 root-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'";
-
- 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-forwarded-data-broker {
- when "/config:modules/config:module/config:type = 'binding-forwarded-data-broker'";
- container binding-forwarded-data-broker {
- 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:configuration" {
- case runtime-generated-mapping {
- when "/config:modules/config:module/config:type = 'runtime-generated-mapping'";
- 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;
- }
- }
- }
-}