From: Robert Varga Date: Tue, 20 Sep 2016 14:00:03 +0000 (+0200) Subject: Move lookup check X-Git-Tag: release/boron-sr1~17 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=23e32be97e2f7b5f98c779e6c3e992dd9da929d6;p=mdsal.git Move lookup check We can use a precondition to make the code flow more obvious. Change-Id: Iaddfcfd4d49a91b6875a6f4803fed744ada63a85 Signed-off-by: Robert Varga (cherry picked from commit bf69b6948754f6b1a7de124cc54bbe88b3532772) --- diff --git a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/ShardedDOMDataTreeWriteTransaction.java b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/ShardedDOMDataTreeWriteTransaction.java index 272d806e88..bbe26b0549 100644 --- a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/ShardedDOMDataTreeWriteTransaction.java +++ b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/ShardedDOMDataTreeWriteTransaction.java @@ -83,8 +83,7 @@ final class ShardedDOMDataTreeWriteTransaction implements DOMDataTreeCursorAware } } - throw new IllegalArgumentException(String.format("Path %s is not accessible from transaction %s", - prefix, this)); + return null; } @Override @@ -115,7 +114,10 @@ final class ShardedDOMDataTreeWriteTransaction implements DOMDataTreeCursorAware public synchronized DOMDataTreeWriteCursor createCursor(final DOMDataTreeIdentifier prefix) { Preconditions.checkState(!closed, "Transaction is closed already"); Preconditions.checkState(openCursor == null, "There is still a cursor open"); + final DOMDataTreeShardWriteTransaction lookup = lookup(prefix); + Preconditions.checkArgument(lookup != null, "Path %s is not accessible from transaction %s", prefix, this); + openCursor = new DelegatingCursor(lookup.createCursor(prefix), prefix); return openCursor; }