implements NetworkTransactionService.commit()
[transportpce.git] / common / src / main / java / org / opendaylight / transportpce / common / network / RequestProcessor.java
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();
     }