X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2Fschema%2Ftree%2FInMemoryDataTreeSnapshot.java;h=688020401c844106b936865092bc257038e1e4fc;hb=11f324d00534f75932df67ba737efe261271cb47;hp=ac68e4eda8425ea8b78c9c5f6e3b64a88e1257a0;hpb=ccdb5a655b07693eedbe96d4d5215ff52cbfd671;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeSnapshot.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeSnapshot.java index ac68e4eda8..688020401c 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeSnapshot.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeSnapshot.java @@ -11,7 +11,6 @@ import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; import java.util.Optional; -import javax.annotation.Nonnull; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -20,17 +19,17 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes; import org.opendaylight.yangtools.yang.data.api.schema.tree.CursorAwareDataTreeSnapshot; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshotCursor; import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import org.opendaylight.yangtools.yang.model.api.SchemaContextProvider; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextProvider; final class InMemoryDataTreeSnapshot extends AbstractCursorAware implements CursorAwareDataTreeSnapshot, - SchemaContextProvider { - private final @NonNull RootModificationApplyOperation applyOper; - private final @NonNull SchemaContext schemaContext; + EffectiveModelContextProvider { + private final @NonNull RootApplyStrategy applyOper; + private final @NonNull EffectiveModelContext schemaContext; private final @NonNull TreeNode rootNode; - InMemoryDataTreeSnapshot(final SchemaContext schemaContext, final TreeNode rootNode, - final RootModificationApplyOperation applyOper) { + InMemoryDataTreeSnapshot(final EffectiveModelContext schemaContext, final TreeNode rootNode, + final RootApplyStrategy applyOper) { this.schemaContext = requireNonNull(schemaContext); this.rootNode = requireNonNull(rootNode); this.applyOper = requireNonNull(applyOper); @@ -41,7 +40,7 @@ final class InMemoryDataTreeSnapshot extends AbstractCursorAware implements Curs } @Override - public SchemaContext getSchemaContext() { + public EffectiveModelContext getEffectiveModelContext() { return schemaContext; } @@ -56,15 +55,11 @@ final class InMemoryDataTreeSnapshot extends AbstractCursorAware implements Curs } @Override - public DataTreeSnapshotCursor createCursor(@Nonnull final YangInstanceIdentifier path) { - final Optional> maybeRoot = NormalizedNodes.findNode(rootNode.getData(), path); - if (!maybeRoot.isPresent()) { - return null; - } - - final NormalizedNode root = maybeRoot.get(); - checkArgument(root instanceof NormalizedNodeContainer, "Child %s is not a container", path); - return openCursor(new InMemoryDataTreeSnapshotCursor(this, path, (NormalizedNodeContainer)root)); + public Optional openCursor(final YangInstanceIdentifier path) { + return NormalizedNodes.findNode(rootNode.getData(), path).map(root -> { + checkArgument(root instanceof NormalizedNodeContainer, "Child %s is not a container", path); + return openCursor(new InMemoryDataTreeSnapshotCursor(this, path, (NormalizedNodeContainer)root)); + }); } @Override