From 8b0a3fd63b457589f0f869897c46c696994c618c Mon Sep 17 00:00:00 2001 From: Shashidhar Raja Date: Thu, 5 Mar 2020 17:52:04 +0530 Subject: [PATCH] doesExists() utility method Common utility method doesExists() added to check whether any DS entry exists or not in SingleTransactionDataBroker Change-Id: I92a8f5bda8d4d924be6a820e6a18acd598a40dae Signed-off-by: Shashidhar Raja --- .../datastoreutils/SingleTransactionDataBroker.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/SingleTransactionDataBroker.java b/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/SingleTransactionDataBroker.java index f19a3f85e..5764b2a11 100644 --- a/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/SingleTransactionDataBroker.java +++ b/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/SingleTransactionDataBroker.java @@ -11,6 +11,7 @@ import static java.util.Objects.requireNonNull; import static org.opendaylight.genius.datastoreutils.TransactionCommitFailedExceptionMapper.SUBMIT_MAPPER; import com.google.common.base.Optional; +import java.util.concurrent.ExecutionException; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; @@ -255,4 +256,13 @@ public class SingleTransactionDataBroker { runner.callWithNewWriteOnlyTransactionAndSubmit(tx -> tx.delete(datastoreType, path)), SUBMIT_MAPPER); } + public static Boolean doesExists( + DataBroker broker, LogicalDatastoreType datastoreType, InstanceIdentifier path) + throws ReadFailedException { + try (ReadOnlyTransaction tx = broker.newReadOnlyTransaction()) { + return tx.exists(datastoreType, path).get(); + } catch (InterruptedException | ExecutionException e) { + throw new ReadFailedException(e.getMessage(), e); + } + } } -- 2.36.6