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;
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;
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 {
}
}
}*/
-
- 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 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;
+ }
}
}
- }
- }
- }
-
- 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 notification-service {
+ uses config:service-ref {
+ refine type {
+ mandatory true;
+ config:required-identity sal:binding-notification-service;
+ }
}
}
- }
-
- container mapping-service {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity binding-dom-mapping-service;
+
+ container root-data-broker {
+ uses config:service-ref {
+ refine type {
+ mandatory false;
+ config:required-identity sal:binding-async-data-broker;
+ }
}
}
}
case binding-data-compatible-broker {
when "/config:modules/config:module/config:type = 'binding-data-compatible-broker'";
- uses dom-forwarding-component;
+ 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 {
- 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 false;
+ config:required-identity dom:schema-service;
+ }
+ }
+ }
}
}
}
}
}
- 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;
- }
- }
- }
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;
}
}
+
+ 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;
+ }
+ }
+ }
}