From d7462460f9ea551112697fef9e4512214810fb92 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 9 Jul 2019 22:29:38 +0200 Subject: [PATCH] Add MountPointNode and its specializations MountPointNode is a utility construct to carry a NormalizedNode tree with mount point content attached. JIRA: YANGTOOLS-1010 Change-Id: Ie33cd6e566584191d20f942eeb87ce6145e30717 Signed-off-by: Robert Varga --- artifacts/pom.xml | 5 ++ yang/pom.xml | 1 + .../data/api/InlineMountPointNode.java | 20 +++++ .../api/InlineMountPointSchemaResolver.java | 67 --------------- .../rfc8528/data/api/MountPointNode.java | 42 ++++++++++ .../data/api/MountPointNodeFactory.java | 20 +++++ .../api/MountPointNodeFactoryResolver.java | 75 +++++++++++++++++ .../data/api/SharedSchemaMountPointNode.java | 24 ++++++ yang/rfc8528-data-util/pom.xml | 71 ++++++++++++++++ .../data/util/ImmutableMountPointNode.java | 83 +++++++++++++++++++ .../model/api/MountPointSchemaResolver.java | 2 +- ...va => StaticMountPointSchemaResolver.java} | 2 +- .../yang/data/util/MountPointData.java | 18 ++-- 13 files changed, 352 insertions(+), 78 deletions(-) create mode 100644 yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/InlineMountPointNode.java delete mode 100644 yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/InlineMountPointSchemaResolver.java create mode 100644 yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/MountPointNode.java create mode 100644 yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/MountPointNodeFactory.java create mode 100644 yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/MountPointNodeFactoryResolver.java create mode 100644 yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/SharedSchemaMountPointNode.java create mode 100644 yang/rfc8528-data-util/pom.xml create mode 100644 yang/rfc8528-data-util/src/main/java/org/opendaylight/yangtools/rcf8528/data/util/ImmutableMountPointNode.java rename yang/rfc8528-model-api/src/main/java/org/opendaylight/yangtools/rfc8528/model/api/{StaticMountpointSchemaResolver.java => StaticMountPointSchemaResolver.java} (92%) diff --git a/artifacts/pom.xml b/artifacts/pom.xml index 6a14ff584f..e761b8020c 100644 --- a/artifacts/pom.xml +++ b/artifacts/pom.xml @@ -212,6 +212,11 @@ rfc8528-data-api 3.0.3-SNAPSHOT + + org.opendaylight.yangtools + rfc8528-data-util + 3.0.3-SNAPSHOT + org.opendaylight.yangtools rfc8528-model-api diff --git a/yang/pom.xml b/yang/pom.xml index ad0ce20974..8a6ecac37c 100644 --- a/yang/pom.xml +++ b/yang/pom.xml @@ -90,6 +90,7 @@ rfc8528-data-api + rfc8528-data-util rfc8528-model-api rfc8528-parser-support diff --git a/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/InlineMountPointNode.java b/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/InlineMountPointNode.java new file mode 100644 index 0000000000..cefd4d35c6 --- /dev/null +++ b/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/InlineMountPointNode.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2019 PANTHEON.tech s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.yangtools.rfc8528.data.api; + +import com.google.common.annotations.Beta; +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * A mount point with {@code schema-ref} inline, as defined in RFC8528. + */ +@Beta +@NonNullByDefault +public interface InlineMountPointNode extends MountPointNode { + +} diff --git a/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/InlineMountPointSchemaResolver.java b/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/InlineMountPointSchemaResolver.java deleted file mode 100644 index 2b58dbecfc..0000000000 --- a/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/InlineMountPointSchemaResolver.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2019 PANTHEON.tech s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.rfc8528.data.api; - -import com.google.common.annotations.Beta; -import java.util.Optional; -import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.opendaylight.yangtools.rfc8528.model.api.MountPointSchema; -import org.opendaylight.yangtools.rfc8528.model.api.MountPointSchemaResolver; -import org.opendaylight.yangtools.rfc8528.model.api.YangLibraryConstants.ContainerName; -import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import org.opendaylight.yangtools.yang.model.parser.api.YangParserException; - -/** - * A resolver which can resolve the SchemaContext for use with mount point data based on the - * {@code ietf-yang-library} content of the mountpoint itself. This process requires two steps: - *
    - *
  • {@link #findSchemaForLibrary(ContainerName)} is invoked to acquire a SchemaContext in which to interpret - * one of the possible {@code ietf-yang-library} top-level containers. - *
  • - *
  • The container is normalized based on the returned context by the user of this interface and then - * {@link LibraryContext#bindTo(ContainerNode)} is invoked to acquire the MountPointMetadata. - *
  • - *
- */ -@Beta -public interface InlineMountPointSchemaResolver extends MountPointSchemaResolver { - @NonNullByDefault - interface LibraryContext { - /** - * Return a SchemaContext capable of parsing the content of YANG Library. - * - * @return A SchemaContext instance - */ - SchemaContext getLibraryContainerSchema(); - - /** - * Assemble the SchemaContext for specified normalized YANG Library top-level container. - * - * @param container Top-level YANG Library container - * @return An assembled SchemaContext - * @throws NullPointerException if container is null - * @throws YangParserException if the schema context cannot be assembled - */ - MountPointSchema bindTo(ContainerNode container) throws YangParserException; - } - - /** - * Return the schema in which YANG Library container content should be interpreted. - * - *

- * Note this schema is not guaranteed to contain any augmentations, hence parsing could fail. - * - * @param containerName Top-level YANG Library container name - * @return The LibraryContext to use when interpreting the specified YANG Library container, or empty - * @throws NullPointerException if container is null - */ - Optional findSchemaForLibrary(@NonNull ContainerName containerName); - -} diff --git a/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/MountPointNode.java b/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/MountPointNode.java new file mode 100644 index 0000000000..0646740dfe --- /dev/null +++ b/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/MountPointNode.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2019 PANTHEON.tech s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.yangtools.rfc8528.data.api; + +import com.google.common.annotations.Beta; +import java.util.Collection; +import org.eclipse.jdt.annotation.NonNull; +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; +import org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode; +import org.opendaylight.yangtools.yang.data.api.schema.MixinNode; +import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree; +import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.api.SchemaContextProvider; + +/** + * Common NormalizedNode representation of a YANG mount point. This interface is not meant to be implemented directly, + * but rather used through its specializations like {@link InlineMountPointNode} and {@link SharedSchemaMountPointNode}. + * + *

+ * Furthermore, these nodes are not meant to be stored in a {@link DataTree} and most NormalizedNode utilities will be + * confused when they see them. The purpose of this interface is making data interchange between mount point-aware + * components more seamless. + */ +@Beta +public interface MountPointNode extends SchemaContextProvider, MixinNode, DataContainerNode, + DataContainerChild>> { + @Override + default QName getNodeType() { + return getIdentifier().getLabel(); + } + + @Override + // FIXME: remove this override when SchemaContextProvider's method has sane semantics. + @NonNull SchemaContext getSchemaContext(); +} diff --git a/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/MountPointNodeFactory.java b/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/MountPointNodeFactory.java new file mode 100644 index 0000000000..c13eaf1d1b --- /dev/null +++ b/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/MountPointNodeFactory.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2019 PANTHEON.tech s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.yangtools.rfc8528.data.api; + +import com.google.common.annotations.Beta; +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.opendaylight.yangtools.rfc8528.model.api.MountPointSchema; +import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; + +@Beta +@NonNullByDefault +public interface MountPointNodeFactory extends MountPointSchema { + + MountPointNode createMountPoint(ContainerNode delegate); +} diff --git a/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/MountPointNodeFactoryResolver.java b/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/MountPointNodeFactoryResolver.java new file mode 100644 index 0000000000..4f89197d2c --- /dev/null +++ b/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/MountPointNodeFactoryResolver.java @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2019 PANTHEON.tech s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.yangtools.rfc8528.data.api; + +import com.google.common.annotations.Beta; +import java.util.Optional; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.opendaylight.yangtools.rfc8528.model.api.MountPointSchemaResolver; +import org.opendaylight.yangtools.rfc8528.model.api.StaticMountPointSchemaResolver; +import org.opendaylight.yangtools.rfc8528.model.api.YangLibraryConstants.ContainerName; +import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; +import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.parser.api.YangParserException; + +@Beta +public interface MountPointNodeFactoryResolver extends MountPointSchemaResolver { + /** + * A resolver which can resolve the SchemaContext for use with mount point data based on the + * {@code ietf-yang-library} content of the mountpoint itself. This process requires two steps: + *

    + *
  • {@link #findSchemaForLibrary(ContainerName)} is invoked to acquire a SchemaContext in which to interpret + * one of the possible {@code ietf-yang-library} top-level containers. + *
  • + *
  • The container is normalized based on the returned context by the user of this interface and then + * {@link LibraryContext#bindTo(ContainerNode)} is invoked to acquire the MountPointMetadata. + *
  • + *
+ */ + public interface Inline extends MountPointNodeFactoryResolver { + @NonNullByDefault + interface LibraryContext { + /** + * Return a SchemaContext capable of parsing the content of YANG Library. + * + * @return A SchemaContext instance + */ + SchemaContext getLibraryContainerSchema(); + + /** + * Assemble the SchemaContext for specified normalized YANG Library top-level container. + * + * @param container Top-level YANG Library container + * @return An assembled SchemaContext + * @throws NullPointerException if container is null + * @throws YangParserException if the schema context cannot be assembled + */ + MountPointNodeFactory bindTo(ContainerNode container) throws YangParserException; + } + + /** + * Return the schema in which YANG Library container content should be interpreted. + * + *

+ * Note this schema is not guaranteed to contain any augmentations, hence parsing could fail. + * + * @param containerName Top-level YANG Library container name + * @return The LibraryContext to use when interpreting the specified YANG Library container, or empty + * @throws NullPointerException if container is null + */ + Optional findSchemaForLibrary(@NonNull ContainerName containerName); + } + + @NonNullByDefault + interface SharedSchema extends MountPointNodeFactoryResolver, StaticMountPointSchemaResolver { + + @Override + MountPointNodeFactory getSchema(); + } +} diff --git a/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/SharedSchemaMountPointNode.java b/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/SharedSchemaMountPointNode.java new file mode 100644 index 0000000000..806c62bc12 --- /dev/null +++ b/yang/rfc8528-data-api/src/main/java/org/opendaylight/yangtools/rfc8528/data/api/SharedSchemaMountPointNode.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2019 PANTHEON.tech s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.yangtools.rfc8528.data.api; + +import com.google.common.annotations.Beta; +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * A mount point with {@code schema-ref} shared-schema, as defined in RFC8528. + */ +@Beta +@NonNullByDefault +public interface SharedSchemaMountPointNode extends MountPointNode { + /* + * FIXME: consider whether this interface should contain some information based on 'parent-reference': + * - List getParentReference() + * - the node-set required to maintain referential integrity in the subtree of this node + */ +} diff --git a/yang/rfc8528-data-util/pom.xml b/yang/rfc8528-data-util/pom.xml new file mode 100644 index 0000000000..c7084d0f46 --- /dev/null +++ b/yang/rfc8528-data-util/pom.xml @@ -0,0 +1,71 @@ + + + + + 4.0.0 + + org.opendaylight.yangtools + bundle-parent + 3.0.3-SNAPSHOT + ../../bundle-parent + + + rfc8528-data-util + bundle + ${project.artifactId} + RFC8528 data model utilities + + + + org.opendaylight.yangtools + concepts + + + org.opendaylight.yangtools + yang-common + + + org.opendaylight.yangtools + yang-data-util + + + org.opendaylight.yangtools + rfc8528-data-api + + + + + + + org.apache.felix + maven-bundle-plugin + + + org.opendaylight.yangtools.rfc8528.data.util + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + + checkstyle.violationSeverity=error + + + + com.github.spotbugs + spotbugs-maven-plugin + + true + + + + + + diff --git a/yang/rfc8528-data-util/src/main/java/org/opendaylight/yangtools/rcf8528/data/util/ImmutableMountPointNode.java b/yang/rfc8528-data-util/src/main/java/org/opendaylight/yangtools/rcf8528/data/util/ImmutableMountPointNode.java new file mode 100644 index 0000000000..667ce0b935 --- /dev/null +++ b/yang/rfc8528-data-util/src/main/java/org/opendaylight/yangtools/rcf8528/data/util/ImmutableMountPointNode.java @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2019 PANTHEON.tech s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.yangtools.rcf8528.data.util; + +import static java.util.Objects.requireNonNull; + +import com.google.common.annotations.Beta; +import com.google.common.base.MoreObjects.ToStringHelper; +import java.util.Collection; +import java.util.Optional; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.opendaylight.yangtools.concepts.Immutable; +import org.opendaylight.yangtools.rfc8528.data.api.InlineMountPointNode; +import org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier; +import org.opendaylight.yangtools.rfc8528.data.api.MountPointNode; +import org.opendaylight.yangtools.rfc8528.data.api.SharedSchemaMountPointNode; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; +import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; +import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.util.AbstractIdentifiableSchemaContextProvider; + +@Beta +public abstract class ImmutableMountPointNode> + extends AbstractIdentifiableSchemaContextProvider implements MountPointNode, Immutable { + @NonNullByDefault + private static final class Inline extends ImmutableMountPointNode + implements InlineMountPointNode { + + Inline(final MountPointIdentifier identifier, final SchemaContext schemaContext, final ContainerNode delegate) { + super(identifier, schemaContext, delegate); + } + } + + @NonNullByDefault + private static final class SharedSchema extends ImmutableMountPointNode + implements SharedSchemaMountPointNode { + + SharedSchema(final MountPointIdentifier identifier, final SchemaContext schemaContext, + final ContainerNode delegate) { + super(identifier, schemaContext, delegate); + } + } + + private final @NonNull ContainerNode delegate; + + ImmutableMountPointNode(final @NonNull MountPointIdentifier identifier, + final @NonNull SchemaContext schemaContext, final @NonNull ContainerNode delegate) { + super(schemaContext, identifier); + this.delegate = requireNonNull(delegate); + } + + public static @NonNull InlineMountPointNode inlineOf(final @NonNull MountPointIdentifier identifier, + final @NonNull SchemaContext schemaContext, final @NonNull ContainerNode delegate) { + return new Inline(identifier, schemaContext, delegate); + } + + public static @NonNull SharedSchemaMountPointNode sharedSchemaOf(final @NonNull MountPointIdentifier identifier, + final @NonNull SchemaContext schemaContext, final @NonNull ContainerNode delegate) { + return new SharedSchema(identifier, schemaContext, delegate); + } + + @Override + public final Collection> getValue() { + return delegate.getValue(); + } + + @Override + public final Optional> getChild(final PathArgument child) { + return delegate.getChild(child); + } + + @Override + protected ToStringHelper addToStringAttributes(final ToStringHelper helper) { + return super.addToStringAttributes(helper).add("delegate", delegate); + } +} diff --git a/yang/rfc8528-model-api/src/main/java/org/opendaylight/yangtools/rfc8528/model/api/MountPointSchemaResolver.java b/yang/rfc8528-model-api/src/main/java/org/opendaylight/yangtools/rfc8528/model/api/MountPointSchemaResolver.java index 3e1917615d..4c7a0dd225 100644 --- a/yang/rfc8528-model-api/src/main/java/org/opendaylight/yangtools/rfc8528/model/api/MountPointSchemaResolver.java +++ b/yang/rfc8528-model-api/src/main/java/org/opendaylight/yangtools/rfc8528/model/api/MountPointSchemaResolver.java @@ -12,7 +12,7 @@ import org.eclipse.jdt.annotation.NonNullByDefault; /** * An entity able to resolve the SchemaContext for embedded mount points. This interface should not be implemented - * directly, but rather its domain specializations, like {@link StaticMountpointSchemaResolver} should be provided. + * directly, but rather its domain specializations, like {@link StaticMountPointSchemaResolver} should be provided. */ @Beta @NonNullByDefault diff --git a/yang/rfc8528-model-api/src/main/java/org/opendaylight/yangtools/rfc8528/model/api/StaticMountpointSchemaResolver.java b/yang/rfc8528-model-api/src/main/java/org/opendaylight/yangtools/rfc8528/model/api/StaticMountPointSchemaResolver.java similarity index 92% rename from yang/rfc8528-model-api/src/main/java/org/opendaylight/yangtools/rfc8528/model/api/StaticMountpointSchemaResolver.java rename to yang/rfc8528-model-api/src/main/java/org/opendaylight/yangtools/rfc8528/model/api/StaticMountPointSchemaResolver.java index 04d6722b5c..23d24c6655 100644 --- a/yang/rfc8528-model-api/src/main/java/org/opendaylight/yangtools/rfc8528/model/api/StaticMountpointSchemaResolver.java +++ b/yang/rfc8528-model-api/src/main/java/org/opendaylight/yangtools/rfc8528/model/api/StaticMountPointSchemaResolver.java @@ -17,7 +17,7 @@ import org.eclipse.jdt.annotation.NonNullByDefault; */ @Beta @NonNullByDefault -public interface StaticMountpointSchemaResolver extends MountPointSchemaResolver { +public interface StaticMountPointSchemaResolver extends MountPointSchemaResolver { MountPointSchema getSchema(); } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/MountPointData.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/MountPointData.java index b5389aff63..c41f2fd9c3 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/MountPointData.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/MountPointData.java @@ -20,13 +20,13 @@ import java.util.Map.Entry; import java.util.Optional; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.AbstractIdentifiable; -import org.opendaylight.yangtools.rfc8528.data.api.InlineMountPointSchemaResolver; -import org.opendaylight.yangtools.rfc8528.data.api.InlineMountPointSchemaResolver.LibraryContext; import org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier; +import org.opendaylight.yangtools.rfc8528.data.api.MountPointNodeFactoryResolver.Inline; +import org.opendaylight.yangtools.rfc8528.data.api.MountPointNodeFactoryResolver.Inline.LibraryContext; import org.opendaylight.yangtools.rfc8528.data.api.MountPointStreamWriter; import org.opendaylight.yangtools.rfc8528.model.api.MountPointSchema; import org.opendaylight.yangtools.rfc8528.model.api.MountPointSchemaResolver; -import org.opendaylight.yangtools.rfc8528.model.api.StaticMountpointSchemaResolver; +import org.opendaylight.yangtools.rfc8528.model.api.StaticMountPointSchemaResolver; import org.opendaylight.yangtools.rfc8528.model.api.YangLibraryConstants.ContainerName; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; @@ -74,17 +74,17 @@ public final class MountPointData extends AbstractIdentifiable entry : yangLib.entrySet()) { final Optional optLibContext = resolver.findSchemaForLibrary(entry.getKey()); if (!optLibContext.isPresent()) { -- 2.36.6