Bug 4295: Fixed incorrectly introduced nodes when MERGE was followed by DELETE
[yangtools.git] / yang / yang-data-impl / src / main / java / org / opendaylight / yangtools / yang / data / impl / schema / tree / NoopDataTreeCandidate.java
index 979e79c1c71382ef74ba7cb1f4a375e072c76cc8..6931d11fb885c7184d7d43e09096720822bd0f98 100644 (file)
@@ -16,6 +16,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
 
 /**
  * Internal utility class for an empty candidate. We instantiate this class
@@ -54,14 +55,21 @@ final class NoopDataTreeCandidate extends AbstractDataTreeCandidate {
             return null;
         }
     };
+    private final TreeNode afterRoot;
 
-    protected NoopDataTreeCandidate(final YangInstanceIdentifier rootPath, final ModifiedNode modificationRoot) {
+    protected NoopDataTreeCandidate(final YangInstanceIdentifier rootPath, final ModifiedNode modificationRoot, final TreeNode afterRoot) {
         super(rootPath);
         Preconditions.checkArgument(modificationRoot.getOperation() == LogicalOperation.NONE);
+        this.afterRoot = Preconditions.checkNotNull(afterRoot);
     }
 
     @Override
     public DataTreeCandidateNode getRootNode() {
         return ROOT;
     }
+
+    @Override
+    protected TreeNode getTipRoot() {
+        return afterRoot;
+    }
 }