From 2a1eb5ac8c50bafffc73fa656a5125bfb85871dc Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sat, 25 Feb 2023 11:50:36 +0100 Subject: [PATCH] Adopt yangtools-11.0.0-SNAPSHOT yangtools is finalizing its bits, which have reprecussions on MD-SAL APIs. Synchronize with current snapshot so we can start addressing those bits. Change-Id: I7d331e28ace9c8b512f960f4452da1fa8d178d05 Signed-off-by: Robert Varga Signed-off-by: Ruslan Kashapov --- binding/binding-parent/pom.xml | 2 +- .../adapter/LazySerializedContainerNode.java | 3 +- .../spi/AbstractBindingLazyContainerNode.java | 13 ++++--- .../dom/codec/impl/BindingCodecContext.java | 20 +++++------ .../impl/CachingNormalizedNodeSerializer.java | 6 ++-- .../codec/impl/DataContainerCodecContext.java | 9 +++-- .../NormalizedNodeWriterWithAddChild.java | 7 ++-- .../impl/reactor/ModuleGenerator.java | 4 +-- .../impl/reactor/YangDataGenerator.java | 6 ++-- .../impl/reactor/YangDataNamingStrategy.java | 3 +- .../java/api/generator/BaseTemplate.xtend | 5 +-- .../spi/ModuleInfoSnapshotBuilder.java | 11 +++--- .../yang/binding/contract/Naming.java | 5 +-- .../yang/binding/contract/NamingTest.java | 14 ++++---- docs/pom.xml | 2 +- dom/dom-parent/pom.xml | 2 +- features/feature-parent/pom.xml | 2 +- .../src/main/feature/feature.xml | 2 +- .../src/main/feature/feature.xml | 2 +- .../src/main/feature/feature.xml | 4 +-- .../src/main/feature/feature.xml | 2 +- .../src/main/feature/feature.xml | 2 +- .../src/main/feature/feature.xml | 2 +- .../src/main/feature/feature.xml | 2 +- .../src/main/feature/feature.xml | 2 +- .../src/main/feature/feature.xml | 2 +- .../mdsal/trace/impl/TracingBroker.java | 16 ++++----- yanglib/mdsal-yanglib-api/pom.xml | 2 +- .../src/main/java/module-info.java | 3 +- .../mdsal/yanglib/api/YangLibSupport.java | 9 +++-- yanglib/mdsal-yanglib-rfc8525/pom.xml | 4 +++ .../rfc8525/MountPointContextFactoryImpl.java | 34 ++++++++++++------- .../yanglib/rfc8525/YangLibrarySupport.java | 8 ++--- 33 files changed, 110 insertions(+), 100 deletions(-) diff --git a/binding/binding-parent/pom.xml b/binding/binding-parent/pom.xml index 3de10c6689..ef1c380484 100644 --- a/binding/binding-parent/pom.xml +++ b/binding/binding-parent/pom.xml @@ -54,7 +54,7 @@ org.opendaylight.yangtools yang-maven-plugin - 10.0.7 + 11.0.0-SNAPSHOT org.opendaylight.mdsal diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazySerializedContainerNode.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazySerializedContainerNode.java index 2526e920ea..3d3e3ed775 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazySerializedContainerNode.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazySerializedContainerNode.java @@ -14,7 +14,6 @@ import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSeriali import org.opendaylight.mdsal.binding.dom.codec.spi.AbstractBindingLazyContainerNode; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -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.data.api.schema.LeafNode; @@ -63,7 +62,7 @@ class LazySerializedContainerNode } @Override - public DataContainerChild childByArg(final PathArgument child) { + public DataContainerChild childByArg(final NodeIdentifier child) { // Use pre-cached value of routing field and do not run full serialization if we are accessing it. return contextRef.getIdentifier().equals(child) ? contextRef : super.childByArg(child); } diff --git a/binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/AbstractBindingLazyContainerNode.java b/binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/AbstractBindingLazyContainerNode.java index 661cada730..17441bbfe8 100644 --- a/binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/AbstractBindingLazyContainerNode.java +++ b/binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/AbstractBindingLazyContainerNode.java @@ -19,7 +19,6 @@ import org.opendaylight.mdsal.binding.dom.codec.api.BindingLazyContainerNode; import org.opendaylight.yangtools.concepts.PrettyTree; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -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; @@ -54,10 +53,17 @@ public abstract class AbstractBindingLazyContainerNode } @Override + public final @NonNull NodeIdentifier name() { + return identifier; + } + + @Override + @Deprecated(since = "12.0.0", forRemoval = true) public final @NonNull NodeIdentifier getIdentifier() { return identifier; } + @Override public final ContainerNode getDelegate() { return delegate(); @@ -69,7 +75,7 @@ public abstract class AbstractBindingLazyContainerNode } @Override - public DataContainerChild childByArg(final PathArgument child) { + public DataContainerChild childByArg(final NodeIdentifier child) { return delegate().childByArg(child); } @@ -94,10 +100,9 @@ public abstract class AbstractBindingLazyContainerNode if (this == obj) { return true; } - if (!(obj instanceof ContainerNode)) { + if (!(obj instanceof ContainerNode other)) { return false; } - final ContainerNode other = (ContainerNode) obj; return delegate().equals(other); } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java index 6519377167..b8949e4dc8 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java @@ -82,7 +82,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode; import org.opendaylight.yangtools.yang.data.api.schema.ValueNode; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter; -import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult; +import org.opendaylight.yangtools.yang.data.impl.schema.NormalizationResultHolder; import org.opendaylight.yangtools.yang.model.api.AnydataSchemaNode; import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; @@ -554,7 +554,7 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri final var yangPath = YangInstanceIdentifier.create(yangArgs); // We create DOM stream writer which produces normalized nodes - final var result = new NormalizedNodeResult(); + final var result = new NormalizationResultHolder(); final var domWriter = ImmutableNormalizedNodeStreamWriter.from(result); final var bindingWriter = new BindingToNormalizedStreamWriter(codecContext, domWriter); final var augment = codecContext instanceof BindingAugmentationCodecTreeNode augmentNode ? augmentNode @@ -581,9 +581,9 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri // Terminate the fake container and extract it to the result if (augment != null) { return new AugmentationResult(yangPath, augment.childPathArguments(), - ImmutableList.copyOf(((ContainerNode) result.getResult()).body())); + ImmutableList.copyOf(((ContainerNode) result.getResult().data()).body())); } - return new NodeResult(yangPath, result.getResult()); + return new NodeResult(yangPath, result.getResult().data()); } @Override @@ -678,9 +678,9 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri private @NonNull ContainerNode serializeDataObject(final DataObject data, final WriterFactoryMethod newWriter) { - final NormalizedNodeResult result = new NormalizedNodeResult(); + final var result = new NormalizationResultHolder(); // We create DOM stream writer which produces normalized nodes - final NormalizedNodeStreamWriter domWriter = ImmutableNormalizedNodeStreamWriter.from(result); + final var domWriter = ImmutableNormalizedNodeStreamWriter.from(result); final Class type = data.implementedInterface(); @SuppressWarnings("unchecked") final BindingStreamEventWriter writer = newWriter.createWriter(this, (Class) type, domWriter); @@ -690,16 +690,16 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri LOG.error("Unexpected failure while serializing data {}", data, e); throw new IllegalStateException("Failed to create normalized node", e); } - return (ContainerNode) result.getResult(); + return (ContainerNode) result.getResult().data(); } private static boolean notBindingRepresentable(final NormalizedNode data) { // ValueNode covers LeafNode and LeafSetEntryNode return data instanceof ValueNode - || data instanceof MapNode || data instanceof UnkeyedListNode - || data instanceof ChoiceNode - || data instanceof LeafSetNode; + || data instanceof MapNode || data instanceof UnkeyedListNode + || data instanceof ChoiceNode + || data instanceof LeafSetNode; } @SuppressWarnings("rawtypes") diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CachingNormalizedNodeSerializer.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CachingNormalizedNodeSerializer.java index 373577dbe7..cc33058607 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CachingNormalizedNodeSerializer.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CachingNormalizedNodeSerializer.java @@ -14,7 +14,7 @@ import org.opendaylight.mdsal.binding.dom.codec.api.BindingStreamEventWriter; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.TypeObject; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult; +import org.opendaylight.yangtools.yang.data.impl.schema.NormalizationResultHolder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -33,7 +33,7 @@ final class CachingNormalizedNodeSerializer extends ForwardingBindingStreamEvent implements BindingSerializer { private static final Logger LOG = LoggerFactory.getLogger(CachingNormalizedNodeSerializer.class); - private final NormalizedNodeResult domResult = new NormalizedNodeResult(); + private final NormalizationResultHolder domResult = new NormalizationResultHolder(); private final NormalizedNodeWriterWithAddChild domWriter = new NormalizedNodeWriterWithAddChild(domResult); private final AbstractBindingNormalizedNodeCacheHolder cacheHolder; private final BindingToNormalizedStreamWriter delegate; @@ -60,7 +60,7 @@ final class CachingNormalizedNodeSerializer extends ForwardingBindingStreamEvent } catch (final IOException e) { throw new IllegalStateException(e); } - return writer.domResult.getResult(); + return writer.domResult.getResult().data(); } @Override diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataContainerCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataContainerCodecContext.java index addd780649..659d13b49f 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataContainerCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataContainerCodecContext.java @@ -49,9 +49,8 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter; -import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult; +import org.opendaylight.yangtools.yang.data.impl.schema.NormalizationResultHolder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -262,15 +261,15 @@ abstract class DataContainerCodecContext @NonNull T checkDataArgument(final @NonNull Class expectedType, diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NormalizedNodeWriterWithAddChild.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NormalizedNodeWriterWithAddChild.java index 9201b38120..26b527b29c 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NormalizedNodeWriterWithAddChild.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NormalizedNodeWriterWithAddChild.java @@ -9,15 +9,14 @@ package org.opendaylight.mdsal.binding.dom.codec.impl; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter; -import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult; +import org.opendaylight.yangtools.yang.data.impl.schema.NormalizationResultHolder; final class NormalizedNodeWriterWithAddChild extends ImmutableNormalizedNodeStreamWriter { - - NormalizedNodeWriterWithAddChild(final NormalizedNodeResult result) { + NormalizedNodeWriterWithAddChild(final NormalizationResultHolder result) { super(result); } void addChild(final NormalizedNode child) { - this.writeChild(child); + writeChild(child); } } diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ModuleGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ModuleGenerator.java index 7f63145ca7..9769b74a99 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ModuleGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ModuleGenerator.java @@ -26,6 +26,7 @@ import org.opendaylight.mdsal.binding.runtime.api.RuntimeType; import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.AbstractQName; import org.opendaylight.yangtools.yang.common.QNameModule; +import org.opendaylight.yangtools.yang.common.YangDataName; import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement; import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack; @@ -114,8 +115,7 @@ public final class ModuleGenerator extends AbstractCompositeGenerator builder, final String templateName) { + void addNameConstant(final GeneratedTypeBuilderBase builder, final YangDataName templateName) { builder.addConstant(BindingTypes.YANG_DATA_NAME, Naming.NAME_STATIC_FIELD_NAME, Map.entry(yangModuleInfo, templateName)); } diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataGenerator.java index a69705e83b..5f097171d3 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataGenerator.java @@ -21,7 +21,6 @@ import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.RuntimeType; import org.opendaylight.mdsal.binding.runtime.api.YangDataRuntimeType; import org.opendaylight.yangtools.rfc8040.model.api.YangDataEffectiveStatement; -import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.UnresolvedQName; import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified; import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack; @@ -65,7 +64,7 @@ abstract sealed class YangDataGenerator // yang-data's argument is not guaranteed to comply with YANG 'identifier', but it usually does. If it does, we // use the usual mechanics, but if it does not, we have to deal with any old string, similar to what we do for // bit names. Here we decide which path to take. - final String templateName = statement.argument(); + final String templateName = statement.argument().name(); final var identifier = UnresolvedQName.tryLocalName(templateName); return identifier != null ? new WithIdentifier(statement, parent, identifier) : new WithString(statement, parent); @@ -73,8 +72,7 @@ abstract sealed class YangDataGenerator @Override final void pushToInference(final SchemaInferenceStack dataTree) { - final QNameModule moduleQName = currentModule().getQName().getModule(); - dataTree.enterYangData(moduleQName, statement().argument()); + dataTree.enterYangData(statement().argument()); } @Override diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataNamingStrategy.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataNamingStrategy.java index a45063d9ca..1f0206f869 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataNamingStrategy.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataNamingStrategy.java @@ -11,6 +11,7 @@ import com.google.common.base.MoreObjects.ToStringHelper; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.yangtools.yang.binding.contract.Naming; +import org.opendaylight.yangtools.yang.common.YangDataName; /** * Naming strategy for {@code ietf-restconf:yang-data} template which has a generic string not matching YANG identifier. @@ -19,7 +20,7 @@ import org.opendaylight.yangtools.yang.binding.contract.Naming; final class YangDataNamingStrategy extends ClassNamingStrategy { private final String javaIdentifier; - YangDataNamingStrategy(final String templateName) { + YangDataNamingStrategy(final YangDataName templateName) { javaIdentifier = Naming.mapYangDataName(templateName); } diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend index ee717a9ac7..6639d3854c 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend @@ -33,6 +33,7 @@ import org.opendaylight.mdsal.binding.model.api.TypeMemberComment import org.opendaylight.mdsal.binding.model.ri.TypeConstants import org.opendaylight.yangtools.yang.binding.BaseIdentity import org.opendaylight.yangtools.yang.binding.contract.Naming +import org.opendaylight.yangtools.yang.common.YangDataName abstract class BaseTemplate extends JavaFileTemplate { static final char NEW_LINE = '\n' @@ -302,11 +303,11 @@ abstract class BaseTemplate extends JavaFileTemplate { */ public static final «c.type.importedNonNull» «c.name» = «entry.key.importedName».«Naming.MODULE_INFO_QNAMEOF_METHOD_NAME»("«entry.value»"); «ELSEIF Naming.NAME_STATIC_FIELD_NAME.equals(c.name)» - «val entry = c.value as Entry» + «val entry = c.value as Entry» /** * Yang Data template name of the statement represented by this class. */ - public static final «c.type.importedNonNull» «c.name» = «entry.key.importedName».«Naming.MODULE_INFO_YANGDATANAMEOF_METHOD_NAME»("«entry.value»"); + public static final «c.type.importedNonNull» «c.name» = «entry.key.importedName».«Naming.MODULE_INFO_YANGDATANAMEOF_METHOD_NAME»("«entry.value.name»"); «ELSEIF Naming.VALUE_STATIC_FIELD_NAME.equals(c.name) && BaseIdentity.equals(c.value)» «val typeName = c.type.importedName» «val override = OVERRIDE.importedName» diff --git a/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotBuilder.java b/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotBuilder.java index 83c7a2b001..457397cd60 100644 --- a/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotBuilder.java +++ b/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotBuilder.java @@ -13,7 +13,6 @@ import com.google.common.annotations.Beta; import com.google.common.base.Throwables; import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Multimaps; import com.google.common.collect.SetMultimap; @@ -31,8 +30,7 @@ import org.opendaylight.yangtools.yang.binding.YangFeature; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; import org.opendaylight.yangtools.yang.binding.contract.Naming; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.model.repo.api.FeatureSet; +import org.opendaylight.yangtools.yang.model.api.stmt.FeatureSet; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource; import org.opendaylight.yangtools.yang.parser.api.YangParser; @@ -123,14 +121,13 @@ public final class ModuleInfoSnapshotBuilder { } if (!moduleFeatures.isEmpty()) { - final var featuresByModule = - ImmutableMap.>builderWithExpectedSize(moduleFeatures.size()); + final var featuresByModule = FeatureSet.builder(); for (var entry : Multimaps.asMap(moduleFeatures).entrySet()) { - featuresByModule.put(BindingReflections.getQNameModule(entry.getKey()), + featuresByModule.addModuleFeatures(BindingReflections.getQNameModule(entry.getKey()), entry.getValue().stream().map(YangFeature::qname).map(QName::getLocalName).sorted() .collect(ImmutableSet.toImmutableSet())); } - parser.setSupportedFeatures(new FeatureSet(featuresByModule.build())); + parser.setSupportedFeatures(featuresByModule.build()); } return new DefaultModuleInfoSnapshot(parser.buildEffectiveModel(), mappedInfos, classLoaders); diff --git a/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/contract/Naming.java b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/contract/Naming.java index 3b3b56f01b..1f94a6c927 100644 --- a/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/contract/Naming.java +++ b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/contract/Naming.java @@ -36,6 +36,7 @@ import org.opendaylight.yangtools.yang.binding.ScalarTypeObject; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.Revision; +import org.opendaylight.yangtools.yang.common.YangDataName; @Beta public final class Naming { @@ -440,8 +441,8 @@ public final class Naming { * @throws IllegalArgumentException if (@code templateName} is empty */ // TODO: take YangDataName once we have it readily available - public static String mapYangDataName(final String templateName) { - return mapEnumAssignedName(templateName); + public static String mapYangDataName(final YangDataName templateName) { + return mapEnumAssignedName(templateName.name()); } // See https://docs.oracle.com/javase/specs/jls/se16/html/jls-3.html#jls-3.8 diff --git a/binding/yang-binding/src/test/java/org/opendaylight/yangtools/yang/binding/contract/NamingTest.java b/binding/yang-binding/src/test/java/org/opendaylight/yangtools/yang/binding/contract/NamingTest.java index b984d48a4f..3d241537bd 100644 --- a/binding/yang-binding/src/test/java/org/opendaylight/yangtools/yang/binding/contract/NamingTest.java +++ b/binding/yang-binding/src/test/java/org/opendaylight/yangtools/yang/binding/contract/NamingTest.java @@ -11,12 +11,12 @@ import static org.junit.Assert.assertEquals; import java.util.HashMap; import java.util.List; -import java.util.Map; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.Revision; import org.opendaylight.yangtools.yang.common.XMLNamespace; +import org.opendaylight.yangtools.yang.common.YangDataName; public class NamingTest { @@ -107,7 +107,7 @@ public class NamingTest { private static void assertEqualMapping(final List mapped, final List yang) { assertEquals(mapped.size(), yang.size()); - final Map expected = new HashMap<>(); + final var expected = new HashMap(); for (int i = 0; i < mapped.size(); ++i) { expected.put(yang.get(i), mapped.get(i)); } @@ -117,13 +117,15 @@ public class NamingTest { @Test public void yangDataMapping() { + final var ns = QNameModule.create(XMLNamespace.of("unused")); + // single ascii compliant non-conflicting word - remain as is - assertEquals("single", Naming.mapYangDataName("single")); + assertEquals("single", Naming.mapYangDataName(new YangDataName(ns, "single"))); // ascii compliant - non-compliany chars only encoded - assertEquals("$abc$20$cde", Naming.mapYangDataName("abc cde")); + assertEquals("$abc$20$cde", Naming.mapYangDataName(new YangDataName(ns, "abc cde"))); // latin1 compliant -> latin chars normalized, non-compliant chars are encoded - assertEquals("$ľaľaho$20$papľuhu", Naming.mapYangDataName("ľaľaho papľuhu")); + assertEquals("$ľaľaho$20$papľuhu", Naming.mapYangDataName(new YangDataName(ns, "ľaľaho papľuhu"))); // latin1 non-compliant - all non-compliant characters encoded - assertEquals("$привет$20$papľuhu", Naming.mapYangDataName("привет papľuhu")); + assertEquals("$привет$20$papľuhu", Naming.mapYangDataName(new YangDataName(ns, "привет papľuhu"))); } } \ No newline at end of file diff --git a/docs/pom.xml b/docs/pom.xml index d45280dab0..8115528e6c 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -579,7 +579,7 @@ https://commons.apache.org/proper/commons-lang/javadocs/api-release/ https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/12.0.6/ - https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/10.0.7/ + https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/11.0.0-SNAPSHOT/ diff --git a/dom/dom-parent/pom.xml b/dom/dom-parent/pom.xml index 4f8c512f18..bb75f3791d 100644 --- a/dom/dom-parent/pom.xml +++ b/dom/dom-parent/pom.xml @@ -29,7 +29,7 @@ org.opendaylight.yangtools yangtools-artifacts - 10.0.7 + 11.0.0-SNAPSHOT pom import diff --git a/features/feature-parent/pom.xml b/features/feature-parent/pom.xml index fb24e1f3de..7831d59744 100644 --- a/features/feature-parent/pom.xml +++ b/features/feature-parent/pom.xml @@ -27,7 +27,7 @@ org.opendaylight.yangtools yangtools-artifacts - 10.0.7 + 11.0.0-SNAPSHOT pom import diff --git a/features/odl-mdsal-binding-api/src/main/feature/feature.xml b/features/odl-mdsal-binding-api/src/main/feature/feature.xml index cf0027b6b7..998fc20dba 100644 --- a/features/odl-mdsal-binding-api/src/main/feature/feature.xml +++ b/features/odl-mdsal-binding-api/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-data-api + odl-yangtools-data-api diff --git a/features/odl-mdsal-binding-base/src/main/feature/feature.xml b/features/odl-mdsal-binding-base/src/main/feature/feature.xml index 4611715bee..01f47d6dee 100644 --- a/features/odl-mdsal-binding-base/src/main/feature/feature.xml +++ b/features/odl-mdsal-binding-base/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-common + odl-yangtools-common diff --git a/features/odl-mdsal-binding-runtime-api/src/main/feature/feature.xml b/features/odl-mdsal-binding-runtime-api/src/main/feature/feature.xml index 582657b26f..119c5baab3 100644 --- a/features/odl-mdsal-binding-runtime-api/src/main/feature/feature.xml +++ b/features/odl-mdsal-binding-runtime-api/src/main/feature/feature.xml @@ -1,7 +1,7 @@ - odl-yangtools-data - odl-yangtools-parser + odl-yangtools-data + odl-yangtools-parser diff --git a/features/odl-mdsal-common/src/main/feature/feature.xml b/features/odl-mdsal-common/src/main/feature/feature.xml index ab7ba8b35c..f4e3c49a0c 100644 --- a/features/odl-mdsal-common/src/main/feature/feature.xml +++ b/features/odl-mdsal-common/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-common + odl-yangtools-common diff --git a/features/odl-mdsal-dom-api/src/main/feature/feature.xml b/features/odl-mdsal-dom-api/src/main/feature/feature.xml index e00bd53f70..f3aa0821ea 100644 --- a/features/odl-mdsal-dom-api/src/main/feature/feature.xml +++ b/features/odl-mdsal-dom-api/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-data-api + odl-yangtools-data-api diff --git a/features/odl-mdsal-eos-common/src/main/feature/feature.xml b/features/odl-mdsal-eos-common/src/main/feature/feature.xml index 9b716906ad..1f9cfcd7be 100644 --- a/features/odl-mdsal-eos-common/src/main/feature/feature.xml +++ b/features/odl-mdsal-eos-common/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-data-api + odl-yangtools-data-api diff --git a/features/odl-mdsal-exp-yanglib-api/src/main/feature/feature.xml b/features/odl-mdsal-exp-yanglib-api/src/main/feature/feature.xml index 1a2308c6eb..db599fc192 100644 --- a/features/odl-mdsal-exp-yanglib-api/src/main/feature/feature.xml +++ b/features/odl-mdsal-exp-yanglib-api/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-data-api + odl-yangtools-data-api diff --git a/features/odl-mdsal-replicate-netty/src/main/feature/feature.xml b/features/odl-mdsal-replicate-netty/src/main/feature/feature.xml index 2f2998eaf7..f0241cb04c 100644 --- a/features/odl-mdsal-replicate-netty/src/main/feature/feature.xml +++ b/features/odl-mdsal-replicate-netty/src/main/feature/feature.xml @@ -4,6 +4,6 @@ mvn:org.opendaylight.mdsal/mdsal-replicate-netty/${project.version}/config/sink mvn:org.opendaylight.mdsal/mdsal-replicate-netty/${project.version}/config/source odl-netty-4 - odl-yangtools-codec + odl-yangtools-codec diff --git a/features/odl-mdsal-rfc8294-netty/src/main/feature/feature.xml b/features/odl-mdsal-rfc8294-netty/src/main/feature/feature.xml index c22ee82343..ecf2161ecd 100644 --- a/features/odl-mdsal-rfc8294-netty/src/main/feature/feature.xml +++ b/features/odl-mdsal-rfc8294-netty/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-netty + odl-yangtools-netty diff --git a/trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingBroker.java b/trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingBroker.java index 1bcedd14b4..9b33cabe80 100644 --- a/trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingBroker.java +++ b/trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingBroker.java @@ -118,7 +118,7 @@ public class TracingBroker implements TracingDOMDataBroker { final LogicalDatastoreType store; Watch(final String iidString, final LogicalDatastoreType storeOrNull) { - this.store = storeOrNull; + store = storeOrNull; this.iidString = iidString; } @@ -167,12 +167,12 @@ public class TracingBroker implements TracingDOMDataBroker { this.codec = requireNonNull(codec, "codec"); configure(config); - this.isDebugging = Boolean.TRUE.equals(config.getTransactionDebugContextEnabled()); + isDebugging = Boolean.TRUE.equals(config.getTransactionDebugContextEnabled()); final String db = "DataBroker"; - this.transactionChainsRegistry = new CloseTrackedRegistry<>(db, "createTransactionChain()", isDebugging); - this.readOnlyTransactionsRegistry = new CloseTrackedRegistry<>(db, "newReadOnlyTransaction()", isDebugging); - this.writeTransactionsRegistry = new CloseTrackedRegistry<>(db, "newWriteOnlyTransaction()", isDebugging); - this.readWriteTransactionsRegistry = new CloseTrackedRegistry<>(db, "newReadWriteTransaction()", isDebugging); + transactionChainsRegistry = new CloseTrackedRegistry<>(db, "createTransactionChain()", isDebugging); + readOnlyTransactionsRegistry = new CloseTrackedRegistry<>(db, "newReadOnlyTransaction()", isDebugging); + writeTransactionsRegistry = new CloseTrackedRegistry<>(db, "newWriteOnlyTransaction()", isDebugging); + readWriteTransactionsRegistry = new CloseTrackedRegistry<>(db, "newReadWriteTransaction()", isDebugging); } private void configure(final Config config) { @@ -267,10 +267,6 @@ public class TracingBroker implements TracingDOMDataBroker { private static void reconstructIidPathString(final YangInstanceIdentifier yiid, final StringBuilder sb) { sb.append(""); for (YangInstanceIdentifier.PathArgument pathArg : yiid.getPathArguments()) { - if (pathArg instanceof YangInstanceIdentifier.AugmentationIdentifier) { - sb.append('/').append("AUGMENTATION"); - continue; - } sb.append('/').append(pathArg.getNodeType().getLocalName()); } } diff --git a/yanglib/mdsal-yanglib-api/pom.xml b/yanglib/mdsal-yanglib-api/pom.xml index 19daf47bf8..ded882d954 100644 --- a/yanglib/mdsal-yanglib-api/pom.xml +++ b/yanglib/mdsal-yanglib-api/pom.xml @@ -24,7 +24,7 @@ org.opendaylight.yangtools - rfc8528-data-util + yang-data-api org.opendaylight.yangtools diff --git a/yanglib/mdsal-yanglib-api/src/main/java/module-info.java b/yanglib/mdsal-yanglib-api/src/main/java/module-info.java index a23e6071b9..264ca72d73 100644 --- a/yanglib/mdsal-yanglib-api/src/main/java/module-info.java +++ b/yanglib/mdsal-yanglib-api/src/main/java/module-info.java @@ -9,8 +9,9 @@ module org.opendaylight.mdsal.yanglib.api { exports org.opendaylight.mdsal.yanglib.api; requires transitive org.opendaylight.yangtools.yang.common; + requires transitive org.opendaylight.yangtools.yang.data.api; requires transitive org.opendaylight.yangtools.yang.model.api; - requires transitive org.opendaylight.yangtools.rfc8528.data.api; + requires transitive org.opendaylight.yangtools.yang.parser.api; // Annotations requires static transitive org.eclipse.jdt.annotation; diff --git a/yanglib/mdsal-yanglib-api/src/main/java/org/opendaylight/mdsal/yanglib/api/YangLibSupport.java b/yanglib/mdsal-yanglib-api/src/main/java/org/opendaylight/mdsal/yanglib/api/YangLibSupport.java index 4a87c7dba3..709223e32c 100644 --- a/yanglib/mdsal-yanglib-api/src/main/java/org/opendaylight/mdsal/yanglib/api/YangLibSupport.java +++ b/yanglib/mdsal-yanglib-api/src/main/java/org/opendaylight/mdsal/yanglib/api/YangLibSupport.java @@ -9,9 +9,9 @@ package org.opendaylight.mdsal.yanglib.api; import com.google.common.annotations.Beta; import org.eclipse.jdt.annotation.NonNullByDefault; -import org.opendaylight.yangtools.rfc8528.data.api.MountPointContextFactory; -import org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier; +import org.opendaylight.yangtools.yang.common.MountPointLabel; import org.opendaylight.yangtools.yang.common.Revision; +import org.opendaylight.yangtools.yang.data.api.schema.MountPointContextFactory; /** * Main entry point into YANG (Module) Library support instance. @@ -22,13 +22,12 @@ public interface YangLibSupport { /** * Create a MountPointContextFactory, backed by a specific SchemaContextResolver. * - * @param mountId Resulting Mount Point identifier + * @param label Resulting Mount Point identifier * @param resolver SchemaContext resolver * @return A new factory * @throws NullPointerException if any argument is null */ - MountPointContextFactory createMountPointContextFactory(MountPointIdentifier mountId, - SchemaContextResolver resolver); + MountPointContextFactory createMountPointContextFactory(MountPointLabel label, SchemaContextResolver resolver); /** * Return the revision date of the model this support implements. The value returned from this method is suitable diff --git a/yanglib/mdsal-yanglib-rfc8525/pom.xml b/yanglib/mdsal-yanglib-rfc8525/pom.xml index 9ce3ed4641..2bb9781bef 100644 --- a/yanglib/mdsal-yanglib-rfc8525/pom.xml +++ b/yanglib/mdsal-yanglib-rfc8525/pom.xml @@ -30,6 +30,10 @@ org.opendaylight.mdsal.binding.model.ietf rfc8525 + + org.opendaylight.yangtools + yang-data-util + org.opendaylight.yangtools yang-parser-api diff --git a/yanglib/mdsal-yanglib-rfc8525/src/main/java/org/opendaylight/mdsal/yanglib/rfc8525/MountPointContextFactoryImpl.java b/yanglib/mdsal-yanglib-rfc8525/src/main/java/org/opendaylight/mdsal/yanglib/rfc8525/MountPointContextFactoryImpl.java index 05d2c28e58..2145c83f3a 100644 --- a/yanglib/mdsal-yanglib-rfc8525/src/main/java/org/opendaylight/mdsal/yanglib/rfc8525/MountPointContextFactoryImpl.java +++ b/yanglib/mdsal-yanglib-rfc8525/src/main/java/org/opendaylight/mdsal/yanglib/rfc8525/MountPointContextFactoryImpl.java @@ -39,15 +39,15 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.librar import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.yang.library.parameters.ModuleSet; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.yang.library.parameters.SchemaKey; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.YangIdentifier; -import org.opendaylight.yangtools.rfc8528.data.api.MountPointContextFactory; -import org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier; -import org.opendaylight.yangtools.rfc8528.data.api.YangLibraryConstants.ContainerName; -import org.opendaylight.yangtools.rfc8528.data.util.AbstractMountPointContextFactory; +import org.opendaylight.yangtools.yang.common.MountPointLabel; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.Revision; import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified; import org.opendaylight.yangtools.yang.common.XMLNamespace; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; +import org.opendaylight.yangtools.yang.data.api.schema.MountPointContextFactory; +import org.opendaylight.yangtools.yang.data.api.schema.MountPointException; +import org.opendaylight.yangtools.yang.data.util.AbstractMountPointContextFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; import org.opendaylight.yangtools.yang.parser.api.YangParserException; @@ -64,13 +64,13 @@ final class MountPointContextFactoryImpl extends AbstractMountPointContextFactor private final EffectiveModelContext yangLibContext; private final SchemaContextResolver resolver; - MountPointContextFactoryImpl(final MountPointIdentifier mountId, final SchemaContextResolver resolver, + MountPointContextFactoryImpl(final MountPointLabel label, final SchemaContextResolver resolver, final EffectiveModelContext yangLibContext, final BindingIdentityCodec identityCodec, final BindingDataObjectCodecTreeNode codec, @SuppressWarnings("deprecation") final BindingDataObjectCodecTreeNode legacyCodec) { - super(mountId); + super(label); this.resolver = requireNonNull(resolver); this.identityCodec = requireNonNull(identityCodec); this.yangLibContext = requireNonNull(yangLibContext); @@ -80,8 +80,8 @@ final class MountPointContextFactoryImpl extends AbstractMountPointContextFactor @Override protected MountPointContextFactory createContextFactory(final MountPointDefinition mountPoint) { - return new MountPointContextFactoryImpl(mountPoint.getIdentifier(), resolver, yangLibContext, identityCodec, - codec, legacyCodec); + return new MountPointContextFactoryImpl(mountPoint.label(), resolver, yangLibContext, identityCodec, codec, + legacyCodec); } @Override @@ -93,14 +93,14 @@ final class MountPointContextFactoryImpl extends AbstractMountPointContextFactor @Override protected EffectiveModelContext bindLibrary(final ContainerName containerName, final ContainerNode libData) - throws YangParserException { + throws MountPointException { return switch (containerName) { case RFC7895 -> bindLibrary(verifyNotNull(legacyCodec.deserialize(libData))); case RFC8525 -> bindLibrary(verifyNotNull(codec.deserialize(libData))); }; } - private @NonNull EffectiveModelContext bindLibrary(final @NonNull YangLibrary yangLib) throws YangParserException { + private @NonNull EffectiveModelContext bindLibrary(final @NonNull YangLibrary yangLib) throws MountPointException { final var datastores = yangLib.nonnullDatastore(); checkArgument(!datastores.isEmpty(), "No datastore defined"); @@ -115,12 +115,16 @@ final class MountPointContextFactoryImpl extends AbstractMountPointContextFactor } checkArgument(moduleSet.isEmpty(), "Failed to resolve module sets %s", moduleSet); - return resolver.resolveSchemaContext(librarySources, requiredSources, supportedFeatures); + try { + return resolver.resolveSchemaContext(librarySources, requiredSources, supportedFeatures); + } catch (YangParserException e) { + throw new MountPointException("Failed to assemble model context", e); + } } @SuppressWarnings("deprecation") private @NonNull EffectiveModelContext bindLibrary(final @NonNull ModulesState modState) - throws YangParserException { + throws MountPointException { final var requiredSources = new ArrayList(); final var librarySources = new ArrayList(); final var supportedFeatures = new HashSet(); @@ -147,7 +151,11 @@ final class MountPointContextFactoryImpl extends AbstractMountPointContextFactor } } - return resolver.resolveSchemaContext(librarySources, requiredSources, supportedFeatures); + try { + return resolver.resolveSchemaContext(librarySources, requiredSources, supportedFeatures); + } catch (YangParserException e) { + throw new MountPointException("Failed to assemble model context", e); + } } private String findSchemaName(final Map datastores, final QName qname) { diff --git a/yanglib/mdsal-yanglib-rfc8525/src/main/java/org/opendaylight/mdsal/yanglib/rfc8525/YangLibrarySupport.java b/yanglib/mdsal-yanglib-rfc8525/src/main/java/org/opendaylight/mdsal/yanglib/rfc8525/YangLibrarySupport.java index 794e7786af..f06f963acb 100644 --- a/yanglib/mdsal-yanglib-rfc8525/src/main/java/org/opendaylight/mdsal/yanglib/rfc8525/YangLibrarySupport.java +++ b/yanglib/mdsal-yanglib-rfc8525/src/main/java/org/opendaylight/mdsal/yanglib/rfc8525/YangLibrarySupport.java @@ -26,10 +26,10 @@ import org.opendaylight.mdsal.yanglib.api.YangLibSupport; import org.opendaylight.mdsal.yanglib.api.YangLibraryContentBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.ModulesState; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.YangLibrary; -import org.opendaylight.yangtools.rfc8528.data.api.MountPointContextFactory; -import org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.common.MountPointLabel; import org.opendaylight.yangtools.yang.common.Revision; +import org.opendaylight.yangtools.yang.data.api.schema.MountPointContextFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.parser.api.YangParserException; import org.opendaylight.yangtools.yang.parser.api.YangParserFactory; @@ -74,9 +74,9 @@ public final class YangLibrarySupport implements YangLibSupport { } @Override - public MountPointContextFactory createMountPointContextFactory(final MountPointIdentifier mountId, + public MountPointContextFactory createMountPointContextFactory(final MountPointLabel label, final SchemaContextResolver resolver) { - return new MountPointContextFactoryImpl(mountId, resolver, context, identityCodec, codec, legacyCodec); + return new MountPointContextFactoryImpl(label, resolver, context, identityCodec, codec, legacyCodec); } @Override -- 2.36.6