From bf69b6948754f6b1a7de124cc54bbe88b3532772 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 20 Sep 2016 16:00:03 +0200 Subject: [PATCH] Move lookup check We can use a precondition to make the code flow more obvious. Change-Id: Iaddfcfd4d49a91b6875a6f4803fed744ada63a85 Signed-off-by: Robert Varga --- .../dom/broker/ShardedDOMDataTreeWriteTransaction.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 08f359d216..ab41a4bc5e 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 @@ -76,8 +76,7 @@ final class ShardedDOMDataTreeWriteTransaction implements DOMDataTreeCursorAware } } - throw new IllegalArgumentException(String.format("Path %s is not accessible from transaction %s", - prefix, this)); + return null; } @Override @@ -108,7 +107,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; } -- 2.36.6