implements NetworkTransactionService.commit() 24/83624/2
authorguillaume.lambert <guillaume.lambert@orange.com>
Wed, 14 Aug 2019 14:35:15 +0000 (16:35 +0200)
committerguillaume.lambert <guillaume.lambert@orange.com>
Mon, 19 Aug 2019 14:28:59 +0000 (16:28 +0200)
that relies on AsyncWriteTransaction.commit()

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I1aac9d3af3d28e3d5ebceff2808ee8d90826d353

common/src/main/java/org/opendaylight/transportpce/common/network/NetworkTransactionImpl.java
common/src/main/java/org/opendaylight/transportpce/common/network/NetworkTransactionService.java
common/src/main/java/org/opendaylight/transportpce/common/network/RequestProcessor.java

index 232e4d906d482fd37cea5cb490a76c78b5cf6891..beb2a2f05c83baf94e4a706c14b413e3d160c72d 100644 (file)
@@ -8,13 +8,15 @@
 
 package org.opendaylight.transportpce.common.network;
 
+import com.google.common.util.concurrent.FluentFuture;
 import com.google.common.util.concurrent.ListenableFuture;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 
-
 public class NetworkTransactionImpl implements NetworkTransactionService {
 
     RequestProcessor requestProcessor;
@@ -53,6 +55,10 @@ public class NetworkTransactionImpl implements NetworkTransactionService {
         return requestProcessor.submit();
     }
 
+    public FluentFuture<? extends @NonNull CommitInfo> commit() {
+        return requestProcessor.commit();
+    }
+
     @Override
     public void close() {
 
index bbdefd44796e2ae8cdbffa26dab620ea5454d92a..f06b969390def3e7073c39ff1b188b0b3e67eaf5 100644 (file)
@@ -9,10 +9,11 @@
 package org.opendaylight.transportpce.common.network;
 
 import com.google.common.base.Optional;
-
+import com.google.common.util.concurrent.FluentFuture;
 import com.google.common.util.concurrent.ListenableFuture;
-
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
@@ -39,5 +40,7 @@ public interface NetworkTransactionService {
     @Deprecated
     ListenableFuture<Void> submit();
 
+    FluentFuture<? extends @NonNull CommitInfo> commit();
+
     void close();
 }
index 807589fd0c9a27a894478e2502e78ab3b5a31c26..d3d82f0ac8637884439bb33254d048f4c6fbf6eb 100644 (file)
@@ -8,12 +8,15 @@
 package org.opendaylight.transportpce.common.network;
 
 import com.google.common.base.Optional;
+import com.google.common.util.concurrent.FluentFuture;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
 import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
@@ -101,6 +104,15 @@ public class RequestProcessor {
         return future;
     }
 
+    public FluentFuture<? extends @NonNull CommitInfo> commit() {
+        acquireLock();
+        FluentFuture<? extends @NonNull CommitInfo> future = null;
+        future = rwTx.commit();
+        releaseLock();
+        resetRwTx();
+        return future;
+    }
+
     public void close() {
         releaseLock();
     }