MDSAL-API Migration
[genius.git] / mdsalutil / mdsalutil-api / src / main / java / org / opendaylight / genius / utils / batching / DefaultBatchHandler.java
index 2a6098251990a7a19be8d5af9dbfc58ab16c500c..53006cedab112c846a962ae52937fd5d51d299a4 100644 (file)
@@ -9,9 +9,9 @@
 package org.opendaylight.genius.utils.batching;
 
 import java.util.List;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
@@ -50,6 +50,26 @@ public class DefaultBatchHandler implements ResourceHandler {
         tx.merge(logicalDatastoreType, identifier, (DataObject) update, true);
     }
 
+    @Override
+    public void updateContainer(WriteTransaction tx, LogicalDatastoreType logicalDatastoreType,
+                       InstanceIdentifier identifier, Object original, Object update,
+                                List<SubTransaction> transactionObjects) {
+        if (update != null && !(update instanceof DataObject)) {
+            return;
+        }
+        if (logicalDatastoreType != getDatastoreType()) {
+            return;
+        }
+
+        SubTransaction subTransaction = new SubTransactionImpl();
+        subTransaction.setAction(SubTransaction.UPDATE);
+        subTransaction.setInstance(update);
+        subTransaction.setInstanceIdentifier(identifier);
+        transactionObjects.add(subTransaction);
+
+        tx.merge(logicalDatastoreType, identifier, (DataObject) update);
+    }
+
     @Override
     public void create(WriteTransaction tx, final LogicalDatastoreType logicalDatastoreType,
             final InstanceIdentifier identifier, final Object data, List<SubTransaction> transactionObjects) {