From: Shashidhar Raja Date: Thu, 5 Mar 2020 12:22:04 +0000 (+0530) Subject: doesExists() utility method X-Git-Tag: release/aluminium~36 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=8b0a3fd63b457589f0f869897c46c696994c618c;p=genius.git 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 --- 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); + } + } }