X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=mdsal.git;a=blobdiff_plain;f=dom%2Fmdsal-dom-inmemory-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fdom%2Fstore%2Finmemory%2FInmemoryDOMDataTreeShardWriteTransaction.java;h=e0dbe985a76902c81745ee0eae92fba7a5f49109;hp=d3265fdab3716d05d95bad6f62e43c51ca547459;hb=41c7b41f761ff4c150a9e55455e8598e420ac984;hpb=2ea7c184fa28c47e390ea26ace13bbfd9a7868a3 diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransaction.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransaction.java index d3265fdab3..e0dbe985a7 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransaction.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransaction.java @@ -63,16 +63,20 @@ class InmemoryDOMDataTreeShardWriteTransaction implements DOMDataTreeShardWriteT final NormalizedNode data) { int enterCount = 0; final Iterator it = path.getPathArguments().iterator(); - while (it.hasNext()) { - final PathArgument currentArg = it.next(); - if (it.hasNext()) { + if (it.hasNext()) { + while (true) { + final PathArgument currentArg = it.next(); + if (!it.hasNext()) { + applyOnLeaf(cursor, currentArg, data); + break; + } + // We need to enter one level deeper, we are not at leaf (modified) node cursor.enter(currentArg); enterCount++; - } else { - applyOnLeaf(cursor, currentArg, data); } } + cursor.exit(enterCount); } } @@ -194,37 +198,25 @@ class InmemoryDOMDataTreeShardWriteTransaction implements DOMDataTreeShardWriteT Preconditions.checkNotNull(cohorts); Preconditions.checkState(!cohorts.isEmpty(), "Transaction was not readied yet."); - final ListenableFuture submit = executor.submit(new ShardSubmitCoordinationTask( - modification.getPrefix(), cohorts, this)); - - return submit; + return executor.submit(new ShardSubmitCoordinationTask(modification.getPrefix(), cohorts, this)); } @Override public ListenableFuture validate() { LOG.debug("CanCommit on open transaction on shard {}", modification.getPrefix()); - - final ListenableFuture submit = executor.submit(new ShardCanCommitCoordinationTask( - modification.getPrefix(), cohorts)); - return submit; + return executor.submit(new ShardCanCommitCoordinationTask(modification.getPrefix(), cohorts)); } @Override public ListenableFuture prepare() { LOG.debug("PreCommit on open transaction on shard {}", modification.getPrefix()); - - final ListenableFuture submit = executor.submit(new ShardPreCommitCoordinationTask( - modification.getPrefix(), cohorts)); - return submit; + return executor.submit(new ShardPreCommitCoordinationTask(modification.getPrefix(), cohorts)); } @Override public ListenableFuture commit() { LOG.debug("Commit open transaction on shard {}", modification.getPrefix()); - - final ListenableFuture submit = executor.submit(new ShardCommitCoordinationTask( - modification.getPrefix(), cohorts, this)); - return submit; + return executor.submit(new ShardCommitCoordinationTask(modification.getPrefix(), cohorts, this)); } DataTreeModification getRootModification() {