Update to the SAL Data APIs. Added Flow Configuration model 14/1714/2
authorTony Tkacik <ttkacik@cisco.com>
Mon, 7 Oct 2013 11:12:02 +0000 (13:12 +0200)
committerGerrit Code Review <gerrit@opendaylight.org>
Mon, 7 Oct 2013 12:41:30 +0000 (12:41 +0000)
Change-Id: I17a10b5651f63ab9bc1d2a2ed64bf6ca8493b418
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
opendaylight/md-sal/model/model-flow-service/src/main/yang/flow-config.yang [new file with mode: 0644]
opendaylight/md-sal/model/model-inventory/src/main/yang/inventory.yang
opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataBrokerService.java
opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataChangeEvent.java [new file with mode: 0644]
opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataChangeListener.java [new file with mode: 0644]
opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataCommitHandler.java
opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataProviderService.java
opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/_DataBrokerImpl.xtend

diff --git a/opendaylight/md-sal/model/model-flow-service/src/main/yang/flow-config.yang b/opendaylight/md-sal/model/model-flow-service/src/main/yang/flow-config.yang
new file mode 100644 (file)
index 0000000..f13e5d3
--- /dev/null
@@ -0,0 +1,26 @@
+module sal-flow-config {
+    namespace "urn:opendaylight:flow:config";
+    prefix flow-cfg;
+
+    import sal-flow {prefix flow;}
+
+    revision "2013-08-19" {
+        description "Initial revision of flow service";
+    }
+
+
+    container flows {
+        list flow {
+            key "id";
+            
+            leaf id {
+                type string;
+            }
+            uses flow:node-flow;
+            /**
+                container match;
+            
+            **/
+        }
+    }
+}
\ No newline at end of file
index d7310fa606dbd68319b6e6122a042e92636c8e87..0bf146365393aa3f3a4c57703a65a1f89114531d 100644 (file)
@@ -44,17 +44,17 @@ module opendaylight-inventory {
 
     }
 
-       grouping node {
-               leaf id {
+    grouping node {
+    leaf id {
             type node-id;
         }
-       }
+    }
 
-       grouping node-connector {
-               leaf id {
+    grouping node-connector {
+        leaf id {
             type node-connector-id;
-               }
-       }
+        }
+    }
 
 
 
index cd04d356a22242f7675cf20e6387faf80c0cf8a9..7ee6c65a90749111528c7089e736c99cc41da04f 100644 (file)
@@ -138,10 +138,12 @@ public interface DataBrokerService extends BindingAwareService {
      */
     @Deprecated
     Future<RpcResult<Void>> commit(DataStoreIdentifier store);
-    
+
     
     DataObject getData(InstanceIdentifier data);
+
     DataObject getConfigurationData(InstanceIdentifier data);
+
     
     /**
      * Creates a data modification transaction.
@@ -149,4 +151,9 @@ public interface DataBrokerService extends BindingAwareService {
      * @return new blank data modification transaction.
      */
     DataModification beginTransaction();
+
+    public void registerChangeListener(InstanceIdentifier path, DataChangeListener changeListener);
+    
+    public void unregisterChangeListener(InstanceIdentifier path, DataChangeListener changeListener);
+
 }
diff --git a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataChangeEvent.java b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataChangeEvent.java
new file mode 100644 (file)
index 0000000..bbe328e
--- /dev/null
@@ -0,0 +1,16 @@
+package org.opendaylight.controller.sal.binding.api.data;
+
+import java.util.Map;
+import java.util.Set;
+
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+public interface DataChangeEvent {
+
+    Map<InstanceIdentifier, DataObject> getCreated();
+
+    Map<InstanceIdentifier, DataObject> getUpdated();
+
+    Set<InstanceIdentifier> getRemoved();
+}
diff --git a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataChangeListener.java b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataChangeListener.java
new file mode 100644 (file)
index 0000000..63f9a9c
--- /dev/null
@@ -0,0 +1,8 @@
+package org.opendaylight.controller.sal.binding.api.data;
+
+public interface DataChangeListener {
+
+    
+    void onDataChange(DataChangeEvent event);
+    
+}
index b12dce6ea2efcce3dee94600dceea247a0ab7a92..5f550c222b094a425bdad64c7eeaeca19226008a 100644 (file)
@@ -107,6 +107,7 @@ public interface DataCommitHandler extends ProviderFunctionality {
      * 
      * @return Set of Data Store identifiers
      */
+    @Deprecated
     Set<DataStoreIdentifier> getSupportedDataStores();
 
     /**
@@ -124,13 +125,18 @@ public interface DataCommitHandler extends ProviderFunctionality {
      * @param store
      * @return Transaction object representing this commit, errors otherwise.
      */
+    @Deprecated
     RpcResult<CommitTransaction> requestCommit(DataStoreIdentifier store);
 
+    
+    RpcResult<CommitTransaction> requestCommit(DataModification modification);
+    
     public interface CommitTransaction {
         /**
          * 
          * @return Data store affected by the transaction
          */
+        @Deprecated
         DataStoreIdentifier getDataStore();
 
         /**
index 801a1c0d61316729a8b8db13f3b09ab40a37ec5f..1057c3039ea967045704a3770c38c61ecdd5fd8c 100644 (file)
@@ -24,6 +24,7 @@ public interface DataProviderService extends DataBrokerService {
      * @param validator
      *            Validator
      */
+    @Deprecated
     public void addValidator(DataStoreIdentifier store, DataValidator validator);
 
     /**
@@ -33,6 +34,8 @@ public interface DataProviderService extends DataBrokerService {
      * @param validator
      *            Validator
      */
+    
+    @Deprecated
     public void removeValidator(DataStoreIdentifier store, DataValidator validator);
 
     /**
@@ -41,6 +44,7 @@ public interface DataProviderService extends DataBrokerService {
      * @param store
      * @param provider
      */
+    @Deprecated
     void addCommitHandler(DataStoreIdentifier store, DataCommitHandler provider);
 
     /**
@@ -49,6 +53,7 @@ public interface DataProviderService extends DataBrokerService {
      * @param store
      * @param provider
      */
+    @Deprecated
     void removeCommitHandler(DataStoreIdentifier store, DataCommitHandler provider);
 
     /**
@@ -66,4 +71,9 @@ public interface DataProviderService extends DataBrokerService {
      * @param refresher
      */
     void removeRefresher(DataStoreIdentifier store, DataRefresher refresher);
+
+    public void registerCommitHandler(InstanceIdentifier path, DataCommitHandler commitHandler);
+    
+    public void registerValidator(InstanceIdentifier path, DataValidator validator);
+
 }
index 794e028ab25f5a442030580d090d71a77d35fd48..59751443f20a9ad4b1128d09c6c8ccd681fd0162 100644 (file)
@@ -18,6 +18,7 @@ import org.opendaylight.yangtools.yang.common.RpcResult
 import org.opendaylight.controller.sal.binding.api.data.RuntimeDataProvider
 import java.util.Map
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier
+import org.opendaylight.controller.sal.binding.api.data.DataChangeListener
 
 class _DataBrokerImpl implements DataProviderService {
 
@@ -87,5 +88,21 @@ class _DataBrokerImpl implements DataProviderService {
     override getData(InstanceIdentifier data) {
         throw new UnsupportedOperationException("TODO: auto-generated method stub")
     }
+    
+    override registerCommitHandler(InstanceIdentifier path, DataCommitHandler commitHandler) {
+        throw new UnsupportedOperationException("TODO: auto-generated method stub")
+    }
+    
+    override registerValidator(InstanceIdentifier path, DataValidator validator) {
+        throw new UnsupportedOperationException("TODO: auto-generated method stub")
+    }
+    
+    override registerChangeListener(InstanceIdentifier path, DataChangeListener changeListener) {
+        throw new UnsupportedOperationException("TODO: auto-generated method stub")
+    }
+    
+    override unregisterChangeListener(InstanceIdentifier path, DataChangeListener changeListener) {
+        throw new UnsupportedOperationException("TODO: auto-generated method stub")
+    }
 
 }