From: guillaume.lambert Date: Wed, 14 Aug 2019 14:35:15 +0000 (+0200) Subject: implements NetworkTransactionService.commit() X-Git-Tag: 0.4.0~18 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F24%2F83624%2F2;p=transportpce.git implements NetworkTransactionService.commit() that relies on AsyncWriteTransaction.commit() Signed-off-by: guillaume.lambert Change-Id: I1aac9d3af3d28e3d5ebceff2808ee8d90826d353 --- diff --git a/common/src/main/java/org/opendaylight/transportpce/common/network/NetworkTransactionImpl.java b/common/src/main/java/org/opendaylight/transportpce/common/network/NetworkTransactionImpl.java index 232e4d906..beb2a2f05 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/network/NetworkTransactionImpl.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/network/NetworkTransactionImpl.java @@ -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 commit() { + return requestProcessor.commit(); + } + @Override public void close() { diff --git a/common/src/main/java/org/opendaylight/transportpce/common/network/NetworkTransactionService.java b/common/src/main/java/org/opendaylight/transportpce/common/network/NetworkTransactionService.java index bbdefd447..f06b96939 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/network/NetworkTransactionService.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/network/NetworkTransactionService.java @@ -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 submit(); + FluentFuture commit(); + void close(); } diff --git a/common/src/main/java/org/opendaylight/transportpce/common/network/RequestProcessor.java b/common/src/main/java/org/opendaylight/transportpce/common/network/RequestProcessor.java index 807589fd0..d3d82f0ac 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/network/RequestProcessor.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/network/RequestProcessor.java @@ -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 commit() { + acquireLock(); + FluentFuture future = null; + future = rwTx.commit(); + releaseLock(); + resetRwTx(); + return future; + } + public void close() { releaseLock(); }