Merge changes I8598d0bd,I560c2072
[controller.git] / opendaylight / md-sal / sal-dom-api / src / main / java / org / opendaylight / controller / sal / core / api / data / DataProviderService.java
index 32035ea489f985997dfcb99b66d729edc11f14b7..0810fa3e98ab9041c51b0febb83184ec14f6463d 100644 (file)
@@ -7,14 +7,28 @@
  */
 package org.opendaylight.controller.sal.core.api.data;
 
+import org.opendaylight.controller.md.sal.common.api.data.DataProvisionService;
+import org.opendaylight.controller.md.sal.common.api.data.DataReader;
 import org.opendaylight.controller.sal.common.DataStoreIdentifier;
 import org.opendaylight.controller.sal.core.api.Provider;
+import org.opendaylight.yangtools.concepts.Registration;
+import org.opendaylight.yangtools.yang.data.api.CompositeNode;
+import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
 
-public interface DataProviderService extends DataBrokerService {
+/**
+ *
+ * @deprecated Replaced by {@link org.opendaylight.controller.md.sal.dom.api.DOMDataBroker}
+ *
+ */
+@Deprecated
+public interface DataProviderService extends
+    DataBrokerService, //
+    DataProvisionService<InstanceIdentifier, CompositeNode>
+    {
 
     /**
      * Adds {@link DataValidator} for specified Data Store
-     * 
+     *
      * @param store
      *            Data Store
      * @param validator
@@ -24,7 +38,7 @@ public interface DataProviderService extends DataBrokerService {
 
     /**
      * Removes {@link DataValidator} from specified Data Store
-     * 
+     *
      * @param store
      * @param validator
      *            Validator
@@ -32,26 +46,9 @@ public interface DataProviderService extends DataBrokerService {
     public void removeValidator(DataStoreIdentifier store,
             DataValidator validator);
 
-    /**
-     * Adds {@link DataCommitHandler} for specified data store
-     * 
-     * @param store
-     * @param provider
-     */
-    void addCommitHandler(DataStoreIdentifier store, DataCommitHandler provider);
-
-    /**
-     * Removes {@link DataCommitHandler} from specified data store
-     * 
-     * @param store
-     * @param provider
-     */
-    void removeCommitHandler(DataStoreIdentifier store,
-            DataCommitHandler provider);
-
     /**
      * Adds {@link DataRefresher} for specified data store
-     * 
+     *
      * @param store
      * @param refresher
      */
@@ -59,17 +56,22 @@ public interface DataProviderService extends DataBrokerService {
 
     /**
      * Removes {@link DataRefresher} from specified data store
-     * 
+     *
      * @param store
      * @param refresher
      */
     void removeRefresher(DataStoreIdentifier store, DataRefresher refresher);
 
+
+    Registration<DataReader<InstanceIdentifier, CompositeNode>> registerConfigurationReader(InstanceIdentifier path, DataReader<InstanceIdentifier, CompositeNode> reader);
+
+    Registration<DataReader<InstanceIdentifier, CompositeNode>> registerOperationalReader(InstanceIdentifier path, DataReader<InstanceIdentifier, CompositeNode> reader);
+
     public interface DataRefresher extends Provider.ProviderFunctionality {
 
         /**
          * Fired when some component explicitly requested the data refresh.
-         * 
+         *
          * The provider which exposed the {@link DataRefresher} should republish
          * its provided data by editing the data in all affected data stores.
          */