From 23e32be97e2f7b5f98c779e6c3e992dd9da929d6 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 (cherry picked from commit bf69b6948754f6b1a7de124cc54bbe88b3532772) --- .../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 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; } -- 2.36.6