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=4dbfe37dd7a5ed5bfb289f9cb8eca7a2a1a693d3;hpb=ec6ea0775906ed2355553aec917bb77933764ecd;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 4dbfe37dd7..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,16 +19,16 @@ 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 { + EffectiveModelContextProvider { private final @NonNull RootApplyStrategy applyOper; - private final @NonNull SchemaContext schemaContext; + private final @NonNull EffectiveModelContext schemaContext; private final @NonNull TreeNode rootNode; - InMemoryDataTreeSnapshot(final SchemaContext schemaContext, final TreeNode rootNode, + InMemoryDataTreeSnapshot(final EffectiveModelContext schemaContext, final TreeNode rootNode, final RootApplyStrategy applyOper) { this.schemaContext = requireNonNull(schemaContext); this.rootNode = requireNonNull(rootNode); @@ -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