From ff066b463c04c7b8380e02706cc3a6bb5a700ad8 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 2 Feb 2021 16:53:06 +0100 Subject: [PATCH] Remove YangModeledAnyxmlSchemaNode This construct was never adopted, nor made fully functional nor required. Remove along with any other API elements which relate to it. JIRA: YANGTOOLS-1219 Change-Id: I7ebbd3038cebcffb3d24664e1f6141439689f0d9 Signed-off-by: Robert Varga --- .../api/YangModeledAnyxmlSchemaNode.java | 38 --- .../AnyxmlStatementSupportOverride.java | 68 ----- ...ngModeledAnyxmlEffectiveStatementImpl.java | 129 ---------- .../yangtools/odlext/parser/package-info.java | 1 - .../odlext/parser/Bug3874ExtensionTest.java | 13 +- ...izedNodeStreamWriterMetadataDecorator.java | 6 - .../api/schema/YangModeledAnyXmlNode.java | 29 --- .../ForwardingNormalizedNodeStreamWriter.java | 5 - .../LoggingNormalizedNodeStreamWriter.java | 6 - .../stream/NormalizedNodeStreamWriter.java | 22 -- .../schema/stream/NormalizedNodeWriter.java | 6 - .../stream/NormalizedNodeWriterTest.java | 4 - .../binfmt/AbstractLithiumDataOutput.java | 7 - .../binfmt/AbstractMagnesiumDataInput.java | 9 - .../binfmt/AbstractMagnesiumDataOutput.java | 7 - .../yang/data/codec/binfmt/LithiumNode.java | 2 + .../yang/data/codec/binfmt/MagnesiumNode.java | 4 +- .../gson/JSONNormalizedNodeStreamWriter.java | 7 - .../data/codec/gson/JsonParserStream.java | 6 +- .../data/codec/gson/AnyXmlSupportTest.java | 3 +- .../gson/YangModeledAnyXmlSupportTest.java | 124 ---------- .../yang-modeled-anyxml/json/baz.json | 19 -- .../resources/yang-modeled-anyxml/xml/baz.xml | 19 -- .../yang-modeled-anyxml/yang/baz.yang | 29 --- .../yang-modeled-anyxml/yang/yang-ext.yang | 75 ------ ...reXMLStreamNormalizedNodeStreamWriter.java | 6 - ...ssXMLStreamNormalizedNodeStreamWriter.java | 6 - .../yang/data/codec/xml/XmlParserStream.java | 15 +- .../YangModeledAnyXMLDeserializationTest.java | 234 ------------------ .../YangModeledAnyXMLSerializationTest.java | 175 ------------- .../yang/data/impl/codec/SchemaTracker.java | 10 - .../yang/data/impl/schema/Builders.java | 8 - .../ImmutableNormalizedNodeStreamWriter.java | 13 - ...ImmutableYangModeledAnyXmlNodeBuilder.java | 77 ------ .../yang/data/impl/schema/BuilderTest.java | 7 - .../QNameTransformingStreamWriter.java | 5 - .../util/CompositeNodeDataWithSchema.java | 7 - .../YangModeledAnyXmlNodeDataWithSchema.java | 39 --- .../yang/parser/impl/DefaultReactors.java | 3 - 39 files changed, 13 insertions(+), 1230 deletions(-) delete mode 100644 yang/odlext-model-api/src/main/java/org/opendaylight/yangtools/odlext/model/api/YangModeledAnyxmlSchemaNode.java delete mode 100644 yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/AnyxmlStatementSupportOverride.java delete mode 100644 yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/YangModeledAnyxmlEffectiveStatementImpl.java delete mode 100644 yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/YangModeledAnyXmlNode.java delete mode 100644 yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/YangModeledAnyXmlSupportTest.java delete mode 100644 yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/json/baz.json delete mode 100644 yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/xml/baz.xml delete mode 100644 yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/yang/baz.yang delete mode 100644 yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/yang/yang-ext.yang delete mode 100644 yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java delete mode 100644 yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLSerializationTest.java delete mode 100644 yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableYangModeledAnyXmlNodeBuilder.java delete mode 100644 yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/YangModeledAnyXmlNodeDataWithSchema.java diff --git a/yang/odlext-model-api/src/main/java/org/opendaylight/yangtools/odlext/model/api/YangModeledAnyxmlSchemaNode.java b/yang/odlext-model-api/src/main/java/org/opendaylight/yangtools/odlext/model/api/YangModeledAnyxmlSchemaNode.java deleted file mode 100644 index bcfa211415..0000000000 --- a/yang/odlext-model-api/src/main/java/org/opendaylight/yangtools/odlext/model/api/YangModeledAnyxmlSchemaNode.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. 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.odlext.model.api; - -import com.google.common.annotations.Beta; -import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode; -import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; -import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; -import org.opendaylight.yangtools.yang.model.api.SchemaNode; - -/** - * The "YangModeledAnyXml" interface defines an interior node in the schema tree. It takes - * one argument, which is an identifier represented by QName inherited from - * {@link SchemaNode}, followed by a block of substatements that holds detailed - * anyxml information. The substatements are defined in {@link DataSchemaNode}. - * The "YangModeledAnyXml" in contrast to the "AnyXml" interface can also provide schema - * of contained XML information.
- *
- * This interface was modeled according to definition in [RFC-6020] The anyxml - * Statement - */ -@Beta -public interface YangModeledAnyxmlSchemaNode extends AnyxmlSchemaNode { - - /** - * Returns the root schema node of the data in this anyxml node. - * - * @return DataSchemaNode - schema of contained XML data - */ - @NonNull ContainerSchemaNode getSchemaOfAnyXmlData(); -} diff --git a/yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/AnyxmlStatementSupportOverride.java b/yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/AnyxmlStatementSupportOverride.java deleted file mode 100644 index c7096fd692..0000000000 --- a/yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/AnyxmlStatementSupportOverride.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2017 Pantheon Technologies, 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.odlext.parser; - -import java.util.Map; -import java.util.Optional; -import java.util.stream.Stream; -import org.opendaylight.yangtools.odlext.model.api.AnyxmlSchemaLocationEffectiveStatement; -import org.opendaylight.yangtools.odlext.model.api.AnyxmlSchemaLocationStatement; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.anyxml.AnyxmlStatementSupport; -import org.opendaylight.yangtools.yang.parser.spi.SchemaTreeNamespace; -import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; -import org.opendaylight.yangtools.yang.parser.spi.meta.ForwardingStatementSupport; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable; - -public final class AnyxmlStatementSupportOverride - extends ForwardingStatementSupport { - private static final AnyxmlStatementSupportOverride INSTANCE = new AnyxmlStatementSupportOverride(); - - private AnyxmlStatementSupportOverride() { - super(AnyxmlStatementSupport.getInstance()); - } - - public static AnyxmlStatementSupportOverride getInstance() { - return INSTANCE; - } - - @Override - public AnyxmlEffectiveStatement createEffective(final Current stmt, - final Stream> declaredSubstatements, - final Stream> effectiveSubstatements) { - final AnyxmlEffectiveStatement delegateStatement = super.createEffective(stmt, declaredSubstatements, - effectiveSubstatements); - - final Map> schemaLocations = - stmt.localNamespacePortion(AnyxmlSchemaLocationNamespace.class); - if (schemaLocations != null && !schemaLocations.isEmpty()) { - final SchemaNodeIdentifier anyXmlSchemaNodeIdentifier = schemaLocations.values().iterator().next() - .argument(); - final Optional anyXmlSchema = getAnyXmlSchema(stmt, anyXmlSchemaNodeIdentifier); - if (anyXmlSchema.isPresent()) { - return new YangModeledAnyxmlEffectiveStatementImpl(delegateStatement, anyXmlSchema.get()); - } - } - - return delegateStatement; - } - - private static Optional getAnyXmlSchema(final Current stmt, - final SchemaNodeIdentifier contentSchemaPath) { - return SchemaTreeNamespace.findNode(stmt.caerbannog().getRoot(), contentSchemaPath) - .map(StmtContext::buildEffective) - .filter(ContainerSchemaNode.class::isInstance).map(ContainerSchemaNode.class::cast); - } -} diff --git a/yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/YangModeledAnyxmlEffectiveStatementImpl.java b/yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/YangModeledAnyxmlEffectiveStatementImpl.java deleted file mode 100644 index cc07e4cc5e..0000000000 --- a/yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/YangModeledAnyxmlEffectiveStatementImpl.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. 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.odlext.parser; - -import static java.util.Objects.requireNonNull; - -import java.util.Collection; -import java.util.Optional; -import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyxmlSchemaNode; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode; -import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; -import org.opendaylight.yangtools.yang.model.api.MustDefinition; -import org.opendaylight.yangtools.yang.model.api.SchemaPath; -import org.opendaylight.yangtools.yang.model.api.Status; -import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; -import org.opendaylight.yangtools.yang.model.api.meta.ForwardingEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlStatement; -import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound; - -final class YangModeledAnyxmlEffectiveStatementImpl - extends ForwardingEffectiveStatement - implements YangModeledAnyxmlSchemaNode, AnyxmlEffectiveStatement { - private final @NonNull AnyxmlEffectiveStatement delegate; - private final @NonNull ContainerSchemaNode contentSchema; - - YangModeledAnyxmlEffectiveStatementImpl(final AnyxmlEffectiveStatement delegate, - final ContainerSchemaNode contentSchema) { - this.delegate = requireNonNull(delegate); - this.contentSchema = requireNonNull(contentSchema); - } - - @Override - protected @NonNull AnyxmlEffectiveStatement delegate() { - return delegate; - } - - @Override - public @NonNull ContainerSchemaNode getSchemaOfAnyXmlData() { - return contentSchema; - } - - private AnyxmlSchemaNode delegateSchemaNode() { - return (AnyxmlSchemaNode) delegate; - } - - @Override - public Optional effectiveConfig() { - return delegateSchemaNode().effectiveConfig(); - } - - @Override - public QName getQName() { - return delegateSchemaNode().getQName(); - } - - @Override - @Deprecated - public SchemaPath getPath() { - return delegateSchemaNode().getPath(); - } - - @Override - public Status getStatus() { - return delegateSchemaNode().getStatus(); - } - - @Override - public Optional getDescription() { - return delegateSchemaNode().getDescription(); - } - - @Override - public Optional getReference() { - return delegateSchemaNode().getReference(); - } - - @Deprecated - @Override - public boolean isAugmenting() { - return delegateSchemaNode().isAugmenting(); - } - - @Deprecated - @Override - public boolean isAddedByUses() { - return delegateSchemaNode().isAddedByUses(); - } - - @Override - public Optional getWhenCondition() { - return delegateSchemaNode().getWhenCondition(); - } - - @Override - public boolean isMandatory() { - return delegateSchemaNode().isMandatory(); - } - - @Override - public Collection getMustConstraints() { - return delegateSchemaNode().getMustConstraints(); - } - - @Override - public Collection getUnknownSchemaNodes() { - return delegateSchemaNode().getUnknownSchemaNodes(); - } - - @Override - public AnyxmlEffectiveStatement asEffectiveStatement() { - return delegateSchemaNode().asEffectiveStatement(); - } - - @Override - public String toString() { - return YangModeledAnyxmlEffectiveStatementImpl.class.getSimpleName() + "[" - + "qname=" + getQName() - + ", path=" + getPath() - + "]"; - } -} diff --git a/yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/package-info.java b/yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/package-info.java index bd3cedcff6..24ac981190 100644 --- a/yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/package-info.java +++ b/yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/package-info.java @@ -10,7 +10,6 @@ * *

* To access this extension, add {@link org.opendaylight.yangtools.odlext.parser.AnyxmlSchemaLocationStatementSupport}, - * {@link org.opendaylight.yangtools.odlext.parser.AnyxmlStatementSupportOverride} and * {@link org.opendaylight.yangtools.odlext.parser.AnyxmlSchemaLocationNamespace#BEHAVIOUR} to the reactor. * * @author Robert Varga diff --git a/yang/odlext-parser-support/src/test/java/org/opendaylight/yangtools/odlext/parser/Bug3874ExtensionTest.java b/yang/odlext-parser-support/src/test/java/org/opendaylight/yangtools/odlext/parser/Bug3874ExtensionTest.java index 8d17cbeff2..ae0c5942b2 100644 --- a/yang/odlext-parser-support/src/test/java/org/opendaylight/yangtools/odlext/parser/Bug3874ExtensionTest.java +++ b/yang/odlext-parser-support/src/test/java/org/opendaylight/yangtools/odlext/parser/Bug3874ExtensionTest.java @@ -16,15 +16,16 @@ import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.opendaylight.yangtools.odlext.model.api.OpenDaylightExtensionsStatements; -import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyxmlSchemaNode; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; +import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; +import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute; import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource; import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil; import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.RFC7950Reactors; @@ -41,8 +42,6 @@ public class Bug3874ExtensionTest { .addStatementSupport(ModelProcessingPhase.FULL_DECLARATION, AnyxmlSchemaLocationStatementSupport.getInstance()) .addNamespaceSupport(ModelProcessingPhase.FULL_DECLARATION, AnyxmlSchemaLocationNamespace.BEHAVIOUR) - .overrideStatementSupport(ModelProcessingPhase.FULL_DECLARATION, - AnyxmlStatementSupportOverride.getInstance()) .build(); } @@ -64,21 +63,21 @@ public class Bug3874ExtensionTest { QName myAnyXmlDataQName = QName.create(foo, "my-anyxml-data"); DataSchemaNode dataChildByName = context.findDataChildByName(myAnyXmlDataQName).get(); - assertTrue(dataChildByName instanceof YangModeledAnyxmlSchemaNode); - YangModeledAnyxmlSchemaNode yangModeledAnyXml = (YangModeledAnyxmlSchemaNode) dataChildByName; + assertTrue(dataChildByName instanceof AnyxmlSchemaNode); + AnyxmlSchemaNode anyxml = (AnyxmlSchemaNode) dataChildByName; SchemaNode myContainer2 = SchemaContextUtil.findDataSchemaNode(context, SchemaPath.create(true, myContainer2QName)); assertTrue(myContainer2 instanceof ContainerSchemaNode); - assertEquals(myContainer2, yangModeledAnyXml.getSchemaOfAnyXmlData()); - Collection unknownSchemaNodes = yangModeledAnyXml.getUnknownSchemaNodes(); + Collection unknownSchemaNodes = anyxml.getUnknownSchemaNodes(); assertEquals(1, unknownSchemaNodes.size()); UnknownSchemaNode next = unknownSchemaNodes.iterator().next(); assertTrue(next instanceof AnyxmlSchemaLocationEffectiveStatementImpl); AnyxmlSchemaLocationEffectiveStatementImpl anyxmlSchemaLocationUnknownNode = (AnyxmlSchemaLocationEffectiveStatementImpl) next; + assertEquals(Absolute.of(myContainer2QName), anyxmlSchemaLocationUnknownNode.argument()); assertEquals(OpenDaylightExtensionsStatements.ANYXML_SCHEMA_LOCATION.getStatementName(), anyxmlSchemaLocationUnknownNode.getNodeType()); assertEquals(OpenDaylightExtensionsStatements.ANYXML_SCHEMA_LOCATION.getStatementName(), diff --git a/yang/rfc7952-data-util/src/main/java/org/opendaylight/yangtools/rfc7952/data/util/NormalizedNodeStreamWriterMetadataDecorator.java b/yang/rfc7952-data-util/src/main/java/org/opendaylight/yangtools/rfc7952/data/util/NormalizedNodeStreamWriterMetadataDecorator.java index cbcd22b348..cf8b61fd68 100644 --- a/yang/rfc7952-data-util/src/main/java/org/opendaylight/yangtools/rfc7952/data/util/NormalizedNodeStreamWriterMetadataDecorator.java +++ b/yang/rfc7952-data-util/src/main/java/org/opendaylight/yangtools/rfc7952/data/util/NormalizedNodeStreamWriterMetadataDecorator.java @@ -131,12 +131,6 @@ final class NormalizedNodeStreamWriterMetadataDecorator extends ForwardingNormal return ret; } - @Override - public void startYangModeledAnyXmlNode(final NodeIdentifier name, final int childSizeHint) throws IOException { - super.startYangModeledAnyXmlNode(name, childSizeHint); - enterMetadataNode(name); - } - @Override public void endNode() throws IOException { super.endNode(); diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/YangModeledAnyXmlNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/YangModeledAnyXmlNode.java deleted file mode 100644 index d910f5dd58..0000000000 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/YangModeledAnyXmlNode.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. 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.yang.data.api.schema; - -import com.google.common.annotations.Beta; -import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; - -/** - * AnyXML node with schema of contained XML data. - * - * @deprecated This interface is wrong abstraction. It should be expressed as {@link NormalizableAnydata} equivalent. - */ -@Beta -@Deprecated -public interface YangModeledAnyXmlNode extends DataContainerNode, DataContainerChild { - /** - * Returns the schema corresponding to the node's datea. - * - * @return schema of contained XML data - */ - @NonNull ContainerSchemaNode getSchemaOfAnyXmlData(); -} diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/ForwardingNormalizedNodeStreamWriter.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/ForwardingNormalizedNodeStreamWriter.java index e5f5ca308e..677947bff1 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/ForwardingNormalizedNodeStreamWriter.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/ForwardingNormalizedNodeStreamWriter.java @@ -92,11 +92,6 @@ public abstract class ForwardingNormalizedNodeStreamWriter extends ForwardingObj return delegate().startAnyxmlNode(name, objectModel); } - @Override - public void startYangModeledAnyXmlNode(final NodeIdentifier name, final int childSizeHint) throws IOException { - delegate().startYangModeledAnyXmlNode(name, childSizeHint); - } - @Override public boolean startAnydataNode(final NodeIdentifier name, final Class objectModel) throws IOException { return delegate().startAnydataNode(name, objectModel); diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/LoggingNormalizedNodeStreamWriter.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/LoggingNormalizedNodeStreamWriter.java index c5100112e6..10e19b997d 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/LoggingNormalizedNodeStreamWriter.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/LoggingNormalizedNodeStreamWriter.java @@ -143,12 +143,6 @@ public final class LoggingNormalizedNodeStreamWriter implements NormalizedNodeSt return true; } - @Override - public void startYangModeledAnyXmlNode(final NodeIdentifier name, final int childSizeHint) { - LOG.debug("{}{}(yangModeledAnyXml)", ind(), name); - incIndent(); - } - @Override public void flush() { LOG.trace("<>"); diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java index b768b5f27a..9a800ec236 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java @@ -342,28 +342,6 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable, // FIXME: 7.0.0: this probably should integrated with scalarValue() void domSourceValue(DOMSource value) throws IOException; - /** - * Emits start of new YANG-modeled anyxml node. Valid sub-events are: - *

    - *
  • {@link #startLeafNode}
  • - *
  • {@link #startContainerNode}
  • - *
  • {@link #startLeafSet}
  • - *
  • {@link #startMapNode}
  • - *
  • {@link #startUnkeyedList}
  • - *
- * - * @param name name of node as defined in schema, namespace and revision are derived from parent node. - * @param childSizeHint Non-negative count of expected direct child nodes or {@link #UNKNOWN_SIZE} if count is - * unknown. This is only hint and should not fail writing of child events, if there are more - * events than count. - * @throws NullPointerException if {@code name} is null - * @throws IllegalArgumentException If emitted node is invalid in current context or was emitted multiple times. - * @throws IllegalStateException If node was emitted inside {@code map}, {@code choice} or a {@code unkeyed list} - * node. - * @throws IOException if an underlying IO error occurs - */ - void startYangModeledAnyXmlNode(NodeIdentifier name, int childSizeHint) throws IOException; - /** * Emits end event for node. * diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriter.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriter.java index d57e545ecd..49e1129fe5 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriter.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriter.java @@ -39,7 +39,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode; import org.opendaylight.yangtools.yang.data.api.schema.UserLeafSetNode; import org.opendaylight.yangtools.yang.data.api.schema.UserMapNode; -import org.opendaylight.yangtools.yang.data.api.schema.YangModeledAnyXmlNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -205,11 +204,6 @@ public class NormalizedNodeWriter implements Closeable, Flushable { writer.startContainerNode(n.getIdentifier(), childSizeHint(n.body())); return writeChildren(n.body()); } - if (node instanceof YangModeledAnyXmlNode) { - final YangModeledAnyXmlNode n = (YangModeledAnyXmlNode) node; - writer.startYangModeledAnyXmlNode(n.getIdentifier(), childSizeHint(n.body())); - return writeChildren(n.body()); - } if (node instanceof MapEntryNode) { return writeMapEntryNode((MapEntryNode) node); } diff --git a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java index 9e9859118a..2941d473bd 100644 --- a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java +++ b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java @@ -42,7 +42,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode; import org.opendaylight.yangtools.yang.data.api.schema.UserLeafSetNode; import org.opendaylight.yangtools.yang.data.api.schema.UserMapNode; -import org.opendaylight.yangtools.yang.data.api.schema.YangModeledAnyXmlNode; public class NormalizedNodeWriterTest { @@ -89,9 +88,6 @@ public class NormalizedNodeWriterTest { final NormalizedNode mockedContainerNode = mock(ContainerNode.class); assertNotNull(orderedNormalizedNodeWriter.write(mockedContainerNode)); - final NormalizedNode mockedYangModeledAnyXmlNode = mock(YangModeledAnyXmlNode.class); - assertNotNull(orderedNormalizedNodeWriter.write(mockedYangModeledAnyXmlNode)); - final MapEntryNode mockedMapEntryNode = mock(MapEntryNode.class); doReturn(NodeIdentifierWithPredicates.of(myKeyedList, myKeyLeaf, "list-key-value-1")) .when(mockedMapEntryNode).getIdentifier(); diff --git a/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractLithiumDataOutput.java b/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractLithiumDataOutput.java index 3f41ffd41c..a9f0979e53 100644 --- a/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractLithiumDataOutput.java +++ b/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractLithiumDataOutput.java @@ -124,13 +124,6 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu startNode(name, LithiumNode.CONTAINER_NODE); } - @Override - public final void startYangModeledAnyXmlNode(final NodeIdentifier name, final int childSizeHint) - throws IOException { - LOG.trace("Starting a new yang modeled anyXml node"); - startNode(name, LithiumNode.YANG_MODELED_ANY_XML_NODE); - } - @Override public final void startUnkeyedList(final NodeIdentifier name, final int childSizeHint) throws IOException { LOG.trace("Starting a new unkeyed list"); diff --git a/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractMagnesiumDataInput.java b/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractMagnesiumDataInput.java index 21b143286e..87182a70c2 100644 --- a/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractMagnesiumDataInput.java +++ b/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractMagnesiumDataInput.java @@ -110,9 +110,6 @@ abstract class AbstractMagnesiumDataInput extends AbstractNormalizedNodeDataInpu case MagnesiumNode.NODE_ANYXML: streamAnyxml(writer, nodeHeader); break; - case MagnesiumNode.NODE_ANYXML_MODELED: - streamAnyxmlModeled(writer, nodeHeader); - break; case MagnesiumNode.NODE_LIST_ENTRY: streamListEntry(writer, parent, nodeHeader); break; @@ -138,12 +135,6 @@ abstract class AbstractMagnesiumDataInput extends AbstractNormalizedNodeDataInpu } } - private void streamAnyxmlModeled(final NormalizedNodeStreamWriter writer, final byte nodeHeader) - throws IOException { - // TODO: decide how to deal with these - throw new UnsupportedOperationException("Reading YANG-modeled anyxml was never supported"); - } - private void streamAugmentation(final NormalizedNodeStreamWriter writer, final byte nodeHeader) throws IOException { final AugmentationIdentifier augIdentifier = decodeAugmentationIdentifier(nodeHeader); LOG.trace("Streaming augmentation node {}", augIdentifier); diff --git a/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractMagnesiumDataOutput.java b/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractMagnesiumDataOutput.java index 79c640aa6b..7ced29f0c2 100644 --- a/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractMagnesiumDataOutput.java +++ b/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractMagnesiumDataOutput.java @@ -199,13 +199,6 @@ abstract class AbstractMagnesiumDataOutput extends AbstractNormalizedNodeDataOut writeValue(writer.toString()); } - @Override - public final void startYangModeledAnyXmlNode(final NodeIdentifier name, final int childSizeHint) - throws IOException { - // FIXME: implement this - throw new UnsupportedOperationException(); - } - @Override public final void endNode() throws IOException { if (stack.pop() instanceof PathArgument) { diff --git a/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/LithiumNode.java b/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/LithiumNode.java index 4953bb5359..f43a8c1eee 100644 --- a/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/LithiumNode.java +++ b/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/LithiumNode.java @@ -25,6 +25,8 @@ final class LithiumNode { static final byte ANY_XML_NODE = 12; static final byte END_NODE = 13; static final byte ORDERED_LEAF_SET = 14; + // Note: never emitted as of yangtools-7.0.0 + @Deprecated static final byte YANG_MODELED_ANY_XML_NODE = 15; private LithiumNode() { diff --git a/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/MagnesiumNode.java b/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/MagnesiumNode.java index ab8cc0b18d..6292cbdbe0 100644 --- a/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/MagnesiumNode.java +++ b/yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/MagnesiumNode.java @@ -79,8 +79,8 @@ final class MagnesiumNode { static final byte NODE_LEAFSET_ENTRY = 0x0C; static final byte NODE_MAP_ENTRY = 0x0D; - // TODO: either implement or remove this coding. While Lithium has emit code, it lacks the code do read such nodes, - // which most probably means we do not need to bother ... + // Note: unused as of yangtools-7.0.0 + @Deprecated static final byte NODE_ANYXML_MODELED = 0x0E; // 0x0F reserved for anydata static final byte TYPE_MASK = 0x0F; diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONNormalizedNodeStreamWriter.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONNormalizedNodeStreamWriter.java index 769fab44df..21ab3bd8bc 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONNormalizedNodeStreamWriter.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONNormalizedNodeStreamWriter.java @@ -379,13 +379,6 @@ public abstract class JSONNormalizedNodeStreamWriter implements NormalizedNodeSt return false; } - @Override - public final void startYangModeledAnyXmlNode(final NodeIdentifier name, final int childSizeHint) - throws IOException { - tracker.startYangModeledAnyXmlNode(name); - context = new JSONStreamWriterNamedObjectContext(context, name, true); - } - @Override public final void endNode() throws IOException { tracker.endNode(); diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonParserStream.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonParserStream.java index de6654b7ba..371d98c045 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonParserStream.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonParserStream.java @@ -31,7 +31,6 @@ import java.util.Map.Entry; import java.util.Set; import javax.xml.transform.dom.DOMSource; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyxmlSchemaNode; import org.opendaylight.yangtools.util.xml.UntrustedXML; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.util.AbstractNodeDataWithSchema; @@ -280,10 +279,7 @@ public final class JsonParserStream implements Closeable, Flushable { } while (in.hasNext()) { final String jsonElementName = in.nextName(); - DataSchemaNode parentSchema = parent.getSchema(); - if (parentSchema instanceof YangModeledAnyxmlSchemaNode) { - parentSchema = ((YangModeledAnyxmlSchemaNode) parentSchema).getSchemaOfAnyXmlData(); - } + final DataSchemaNode parentSchema = parent.getSchema(); final Entry namespaceAndName = resolveNamespace(jsonElementName, parentSchema); final String localName = namespaceAndName.getKey(); final URI namespace = namespaceAndName.getValue(); diff --git a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java index cc4a160d59..0ffcb02723 100644 --- a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java +++ b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java @@ -142,8 +142,7 @@ public class AnyXmlSupportTest extends AbstractComplexJsonTest { } private void executebug8927Test(final String inputXmlFile, final String expectedJsonFile) throws Exception { - final InputStream resourceAsStream = YangModeledAnyXmlSupportTest.class - .getResourceAsStream(inputXmlFile); + final InputStream resourceAsStream = AnyXmlSupportTest.class.getResourceAsStream(inputXmlFile); final NormalizedNodeResult result = new NormalizedNodeResult(); loadXmlToNormalizedNodes(resourceAsStream, result, schemaContext); diff --git a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/YangModeledAnyXmlSupportTest.java b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/YangModeledAnyXmlSupportTest.java deleted file mode 100644 index 11f0fe8993..0000000000 --- a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/YangModeledAnyXmlSupportTest.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) 2016 Cisco Systems, Inc. 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.yang.data.codec.gson; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.opendaylight.yangtools.yang.data.codec.gson.TestUtils.loadTextFile; - -import com.google.gson.JsonElement; -import com.google.gson.JsonParser; -import com.google.gson.stream.JsonReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.StringReader; -import java.io.StringWriter; -import java.io.Writer; -import java.net.URISyntaxException; -import java.nio.charset.StandardCharsets; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.opendaylight.yangtools.util.xml.UntrustedXML; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; -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.api.schema.stream.NormalizedNodeWriter; -import org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream; -import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter; -import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult; -import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; -import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.model.api.SchemaPath; -import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -import org.xml.sax.SAXException; - -public class YangModeledAnyXmlSupportTest { - private static EffectiveModelContext schemaContext; - private static JSONCodecFactory lhotkaCodecFactory; - private static ContainerNode data; - - @BeforeClass - public static void init() throws XMLStreamException, URISyntaxException, IOException, ParserConfigurationException, - SAXException { - schemaContext = YangParserTestUtils.parseYangResourceDirectory("/yang-modeled-anyxml/yang"); - lhotkaCodecFactory = JSONCodecFactorySupplier.DRAFT_LHOTKA_NETMOD_YANG_JSON_02.getShared(schemaContext); - - final Module bazModule = schemaContext.findModules("baz").iterator().next(); - final ContainerSchemaNode bazCont = (ContainerSchemaNode) bazModule.findDataChildByName( - QName.create(bazModule.getQNameModule(), "baz")).get(); - - final InputStream resourceAsStream = YangModeledAnyXmlSupportTest.class.getResourceAsStream( - "/yang-modeled-anyxml/xml/baz.xml"); - - final XMLStreamReader reader = UntrustedXML.createXMLStreamReader(resourceAsStream); - - final NormalizedNodeResult result = new NormalizedNodeResult(); - - final NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result); - - final XmlParserStream xmlParser = XmlParserStream.create(streamWriter, schemaContext, bazCont); - xmlParser.parse(reader); - - assertNotNull(result.getResult()); - assertTrue(result.getResult() instanceof ContainerNode); - data = (ContainerNode) result.getResult(); - } - - @AfterClass - public static void cleanup() { - lhotkaCodecFactory = null; - schemaContext = null; - data = null; - } - - @Test - public void jsonToNormalizedNodesTest() throws IOException, URISyntaxException, SAXException { - final String inputJson = loadTextFile("/yang-modeled-anyxml/json/baz.json"); - final NormalizedNodeResult result = new NormalizedNodeResult(); - final NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result); - final JsonParserStream jsonParser = JsonParserStream.create(streamWriter, lhotkaCodecFactory); - jsonParser.parse(new JsonReader(new StringReader(inputJson))); - final NormalizedNode transformedInput = result.getResult(); - - assertEquals(data, transformedInput); - } - - @Test - public void normalizedNodesToJsonTest() throws IOException, URISyntaxException, SAXException { - final Writer writer = new StringWriter(); - final String jsonOutput = normalizedNodeToJsonStreamTransformation(writer, data); - - final JsonParser parser = new JsonParser(); - final JsonElement serializedJson = parser.parse(jsonOutput); - final JsonElement expextedJson = parser.parse(new FileReader(new File(getClass().getResource( - "/yang-modeled-anyxml/json/baz.json").toURI()), StandardCharsets.UTF_8)); - - assertEquals(expextedJson, serializedJson); - } - - private static String normalizedNodeToJsonStreamTransformation(final Writer writer, - final NormalizedNode inputStructure) throws IOException { - - final NormalizedNodeStreamWriter jsonStream = JSONNormalizedNodeStreamWriter.createExclusiveWriter( - lhotkaCodecFactory, SchemaPath.ROOT, null, JsonWriterFactory.createJsonWriter(writer, 2)); - final NormalizedNodeWriter nodeWriter = NormalizedNodeWriter.forStreamWriter(jsonStream); - nodeWriter.write(inputStructure); - - nodeWriter.close(); - return writer.toString(); - } -} \ No newline at end of file diff --git a/yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/json/baz.json b/yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/json/baz.json deleted file mode 100644 index 11c65c2fb7..0000000000 --- a/yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/json/baz.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "baz:baz":{ - "my-container-1":{ - "my-leaf-1":"value1" - }, - "my-container-2":{ - "inner-container":{ - "my-leaf-2":"value2" - }, - "my-leaf-3":"value3" - }, - "my-anyxml-data":{ - "inner-container":{ - "my-leaf-2":"any-xml-leaf-2-value" - }, - "my-leaf-3":"any-xml-leaf-3-value" - } - } -} \ No newline at end of file diff --git a/yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/xml/baz.xml b/yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/xml/baz.xml deleted file mode 100644 index 82f99d5777..0000000000 --- a/yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/xml/baz.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - value1 - - - - value2 - - value3 - - - - - any-xml-leaf-2-value - - any-xml-leaf-3-value - - \ No newline at end of file diff --git a/yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/yang/baz.yang b/yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/yang/baz.yang deleted file mode 100644 index 9cd22331e7..0000000000 --- a/yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/yang/baz.yang +++ /dev/null @@ -1,29 +0,0 @@ -module baz { - namespace "baz"; - prefix baz; - - import yang-ext { prefix ext; revision-date 2013-07-09; } - - container baz { - container my-container-1 { - leaf my-leaf-1 { - type string; - } - } - - container my-container-2 { - container inner-container { - leaf my-leaf-2 { - type string; - } - } - leaf my-leaf-3 { - type string; - } - } - - anyxml my-anyxml-data { - ext:anyxml-schema-location "/baz/my-container-2"; - } - } -} diff --git a/yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/yang/yang-ext.yang b/yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/yang/yang-ext.yang deleted file mode 100644 index 99eb4b60a0..0000000000 --- a/yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/yang/yang-ext.yang +++ /dev/null @@ -1,75 +0,0 @@ -module yang-ext { - yang-version 1; - namespace "urn:opendaylight:yang:extension:yang-ext"; - prefix "ext"; - - contact "Anton Tkacik "; - - description - "Copyright (c) 2013 Cisco Systems, Inc. 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"; - - revision "2013-07-09" { - description ""; - } - - // Augmentation name - - extension "augment-identifier" { - description - "YANG language extension which assigns an identifier to augmentation. - Augment identifier is used to identify specific augment statement - by name. The identifier syntax is defined formally defined by - the rule 'identifier' in Section 12 of RFC 6020. All augment identifiers - defined in a namespace MUST be unique. The namespace of augment - identifiers is shared by module and its submodules."; - - /* - Discussion: - This extension allows for ease of development / debug - of YANG modules and it is suitable for code generation, - where each augment statement is nicely identified by - unique name instead of combination of augment target - and when condition. - */ - argument "identifier"; - } - - // Context-aware RPCs - - grouping rpc-context-ref { - description - "A reference to RPC context."; - leaf context-instance { - type instance-identifier; - description "Pointer to the context. "; - } - } - - extension "rpc-context-instance" { - description - "YANG language extension which defines enclosing (parent) schema - node as referencable context for RPCs. The argument is identity - which is used to identify RPC context type."; - - argument "context-type"; - } - - extension "context-reference" { - argument "context-type"; - } - - extension "context-instance" { - argument "context-type"; - } - - extension "instance-target" { - argument "path"; - } - - extension "anyxml-schema-location" { - argument "target-node"; - } -} diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java index 2863b81491..5bfe7055ca 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java @@ -133,12 +133,6 @@ final class SchemaAwareXMLStreamNormalizedNodeStreamWriter tracker.startAugmentationNode(identifier); } - @Override - public void startYangModeledAnyXmlNode(final NodeIdentifier name, final int childSizeHint) throws IOException { - final SchemaNode schema = tracker.startYangModeledAnyXmlNode(name); - startElement(schema.getQName()); - } - @Override public boolean startAnyxmlNode(final NodeIdentifier name, final Class objectModel) throws IOException { if (DOMSource.class.isAssignableFrom(objectModel)) { diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java index 8d1b68c492..ff21106cd3 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java @@ -88,12 +88,6 @@ final class SchemalessXMLStreamNormalizedNodeStreamWriter extends XMLStreamNorma return false; } - @Override - public void startYangModeledAnyXmlNode(final NodeIdentifier name, final int childSizeHint) throws IOException { - nodeTypeStack.push(NodeType.YANG_MODELED_ANY_XML); - startElement(name.getNodeType()); - } - @Override String encodeValue(final ValueWriter xmlWriter, final Object value, final Object context) { return value.toString(); diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlParserStream.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlParserStream.java index 038299d6f9..c2e0961c83 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlParserStream.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlParserStream.java @@ -42,7 +42,6 @@ import javax.xml.transform.TransformerFactoryConfigurationError; import javax.xml.transform.dom.DOMResult; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stax.StAXSource; -import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyxmlSchemaNode; import org.opendaylight.yangtools.rfc7952.model.api.AnnotationSchemaNode; import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext; import org.opendaylight.yangtools.rfc8528.data.api.MountPointContextFactory; @@ -71,7 +70,6 @@ import org.opendaylight.yangtools.yang.data.util.MultipleEntryDataWithSchema; import org.opendaylight.yangtools.yang.data.util.OperationAsContainer; import org.opendaylight.yangtools.yang.data.util.ParserStreamUtils; import org.opendaylight.yangtools.yang.data.util.SimpleNodeDataWithSchema; -import org.opendaylight.yangtools.yang.data.util.YangModeledAnyXmlNodeDataWithSchema; import org.opendaylight.yangtools.yang.model.api.AnydataSchemaNode; import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.ContainerLike; @@ -256,8 +254,6 @@ public final class XmlParserStream implements Closeable, Flushable { nodeDataWithSchema = new ContainerNodeDataWithSchema((ContainerLike) parentNode); } else if (parentNode instanceof ListSchemaNode) { nodeDataWithSchema = new ListNodeDataWithSchema((ListSchemaNode) parentNode); - } else if (parentNode instanceof YangModeledAnyxmlSchemaNode) { - nodeDataWithSchema = new YangModeledAnyXmlNodeDataWithSchema((YangModeledAnyxmlSchemaNode) parentNode); } else if (parentNode instanceof AnyxmlSchemaNode) { nodeDataWithSchema = new AnyXmlNodeDataWithSchema((AnyxmlSchemaNode) parentNode); } else if (parentNode instanceof LeafSchemaNode) { @@ -433,10 +429,6 @@ public final class XmlParserStream implements Closeable, Flushable { return; } - if (parent instanceof YangModeledAnyxmlSchemaNode) { - parent.setAttributes(getElementAttributes(in)); - } - switch (in.nextTag()) { case XMLStreamConstants.START_ELEMENT: // FIXME: 7.0.0: why do we even need this tracker? either document it or remove it. @@ -445,8 +437,7 @@ public final class XmlParserStream implements Closeable, Flushable { final Set> namesakes = new HashSet<>(); while (in.hasNext()) { final String xmlElementName = in.getLocalName(); - - DataSchemaNode parentSchema = parent.getSchema(); + final DataSchemaNode parentSchema = parent.getSchema(); final String parentSchemaName = parentSchema.getQName().getLocalName(); if (parentSchemaName.equals(xmlElementName) @@ -465,10 +456,6 @@ public final class XmlParserStream implements Closeable, Flushable { break; } - if (parentSchema instanceof YangModeledAnyxmlSchemaNode) { - parentSchema = ((YangModeledAnyxmlSchemaNode) parentSchema).getSchemaOfAnyXmlData(); - } - final String elementNS = in.getNamespaceURI(); final boolean added = namesakes.add(new SimpleImmutableEntry<>(elementNS, xmlElementName)); diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java deleted file mode 100644 index 1a3b465f04..0000000000 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java +++ /dev/null @@ -1,234 +0,0 @@ -/* - * Copyright (c) 2016 Cisco Systems, Inc. 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.yang.data.codec.xml; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import com.google.common.collect.ImmutableSet; -import java.io.InputStream; -import java.net.URI; -import java.util.Collection; -import java.util.Optional; -import javax.xml.stream.XMLStreamReader; -import org.junit.Before; -import org.junit.Test; -import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyxmlSchemaNode; -import org.opendaylight.yangtools.util.xml.UntrustedXML; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -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; -import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.YangModeledAnyXmlNode; -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.model.api.ContainerSchemaNode; -import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; -import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.model.api.MustDefinition; -import org.opendaylight.yangtools.yang.model.api.SchemaPath; -import org.opendaylight.yangtools.yang.model.api.Status; -import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlEffectiveStatement; -import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound; - -public class YangModeledAnyXMLDeserializationTest { - - private QNameModule fooModuleQName; - private QNameModule barModuleQName; - private QName myContainer1; - private QName myContainer2; - private QName innerContainer; - private QName myLeaf3; - private QName myLeaf2; - private QName myLeaf1; - private QName myAnyXMLDataBar; - private QName myAnyXMLDataFoo; - private EffectiveModelContext schemaContext; - - @Before - public void setUp() { - barModuleQName = QNameModule.create(URI.create("bar")); - myContainer1 = QName.create(barModuleQName, "my-container-1"); - myLeaf1 = QName.create(barModuleQName, "my-leaf-1"); - myAnyXMLDataBar = QName.create(barModuleQName, "my-anyxml-data"); - - fooModuleQName = QNameModule.create(URI.create("foo")); - myContainer2 = QName.create(fooModuleQName, "my-container-2"); - innerContainer = QName.create(fooModuleQName, "inner-container"); - myLeaf3 = QName.create(fooModuleQName, "my-leaf-3"); - myLeaf2 = QName.create(fooModuleQName, "my-leaf-2"); - myAnyXMLDataFoo = QName.create(fooModuleQName, "my-anyxml-data"); - - schemaContext = YangParserTestUtils.parseYangResourceDirectory("/anyxml-support/yang"); - } - - @Test - public void testRawAnyXMLFromBar() throws Exception { - DataSchemaNode barContainer = schemaContext.findDataChildByName(QName.create(barModuleQName, "bar")).get(); - assertTrue(barContainer instanceof ContainerSchemaNode); - final YangModeledAnyxmlSchemaNode yangModeledAnyXML = new YangModeledAnyXMLSchemaNodeImplTest(myAnyXMLDataBar, - (ContainerSchemaNode) barContainer); - - final InputStream resourceAsStream = YangModeledAnyXMLDeserializationTest.class.getResourceAsStream( - "/anyxml-support/xml/bar.xml"); - - final XMLStreamReader reader = UntrustedXML.createXMLStreamReader(resourceAsStream); - final NormalizedNodeResult result = new NormalizedNodeResult(); - - final NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result); - - final XmlParserStream xmlParser = XmlParserStream.create(streamWriter, schemaContext, yangModeledAnyXML); - xmlParser.parse(reader); - - final NormalizedNode output = result.getResult(); - assertTrue(output instanceof YangModeledAnyXmlNode); - final YangModeledAnyXmlNode yangModeledAnyXmlNode = (YangModeledAnyXmlNode) output; - - Collection value = yangModeledAnyXmlNode.body(); - assertEquals(2, value.size()); - - DataContainerChild child = yangModeledAnyXmlNode.childByArg(new NodeIdentifier(myContainer1)); - assertTrue(child instanceof ContainerNode); - ContainerNode myContainerNode1 = (ContainerNode) child; - - DataContainerChild child2 = myContainerNode1.childByArg(new NodeIdentifier(myLeaf1)); - assertTrue(child2 instanceof LeafNode); - LeafNode leafNode1 = (LeafNode) child2; - - Object leafNode1Value = leafNode1.body(); - assertEquals("value1", leafNode1Value); - } - - @Test - public void testRealSchemaContextFromFoo() throws Exception { - final InputStream resourceAsStream = YangModeledAnyXMLDeserializationTest.class.getResourceAsStream( - "/anyxml-support/xml/foo.xml"); - final Module foo = schemaContext.findModules("foo").iterator().next(); - final YangModeledAnyxmlSchemaNode myAnyXmlData = (YangModeledAnyxmlSchemaNode) foo.findDataChildByName( - QName.create(foo.getQNameModule(), "my-anyxml-data")).get(); - - final XMLStreamReader reader = UntrustedXML.createXMLStreamReader(resourceAsStream); - final NormalizedNodeResult result = new NormalizedNodeResult(); - - final NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result); - - final XmlParserStream xmlParser = XmlParserStream.create(streamWriter, schemaContext, myAnyXmlData); - xmlParser.parse(reader); - - final NormalizedNode output = result.getResult(); - assertTrue(output instanceof YangModeledAnyXmlNode); - final YangModeledAnyXmlNode yangModeledAnyXmlNode = (YangModeledAnyXmlNode) output; - - DataSchemaNode schemaOfAnyXmlData = yangModeledAnyXmlNode.getSchemaOfAnyXmlData(); - DataSchemaNode expectedSchemaOfAnyXmlData = schemaContext.findDataChildByName(myContainer2).get(); - assertEquals(expectedSchemaOfAnyXmlData, schemaOfAnyXmlData); - - Collection value = yangModeledAnyXmlNode.body(); - assertEquals(2, value.size()); - - DataContainerChild child2 = yangModeledAnyXmlNode.childByArg(new NodeIdentifier(innerContainer)); - assertTrue(child2 instanceof ContainerNode); - ContainerNode innerContainerNode = (ContainerNode) child2; - - DataContainerChild child3 = innerContainerNode.childByArg(new NodeIdentifier(myLeaf2)); - assertTrue(child3 instanceof LeafNode); - LeafNode leafNode2 = (LeafNode) child3; - - Object leafNode2Value = leafNode2.body(); - assertEquals("any-xml-leaf-2-value", leafNode2Value); - - DataContainerChild child4 = yangModeledAnyXmlNode.childByArg(new NodeIdentifier(myLeaf3)); - assertTrue(child4 instanceof LeafNode); - LeafNode leafNode3 = (LeafNode) child4; - - Object leafNode3Value = leafNode3.body(); - assertEquals("any-xml-leaf-3-value", leafNode3Value); - } - - private static final class YangModeledAnyXMLSchemaNodeImplTest implements YangModeledAnyxmlSchemaNode { - private final QName qname; - private final ContainerSchemaNode contentSchema; - - YangModeledAnyXMLSchemaNodeImplTest(final QName qname, final ContainerSchemaNode contentSchema) { - this.qname = qname; - this.contentSchema = contentSchema; - } - - @Override - public boolean isAugmenting() { - return false; - } - - @Override - public boolean isAddedByUses() { - return false; - } - - @Override - public Optional effectiveConfig() { - return Optional.of(Boolean.FALSE); - } - - @Override - public boolean isMandatory() { - return false; - } - - @Override - public QName getQName() { - return qname; - } - - @Override - @Deprecated - public SchemaPath getPath() { - return null; - } - - @Override - public Optional getDescription() { - return Optional.empty(); - } - - @Override - public Optional getReference() { - return Optional.empty(); - } - - @Override - public Status getStatus() { - return Status.CURRENT; - } - - @Override - public ContainerSchemaNode getSchemaOfAnyXmlData() { - return contentSchema; - } - - @Override - public Collection getMustConstraints() { - return ImmutableSet.of(); - } - - @Override - public Optional getWhenCondition() { - return Optional.empty(); - } - - @Override - public AnyxmlEffectiveStatement asEffectiveStatement() { - throw new UnsupportedOperationException(); - } - } -} diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLSerializationTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLSerializationTest.java deleted file mode 100644 index bc9a8f112a..0000000000 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLSerializationTest.java +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Copyright (c) 2016 Cisco Systems, Inc. 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.yang.data.codec.xml; - -import static java.util.Objects.requireNonNull; - -import java.io.IOException; -import java.io.InputStream; -import java.io.StringWriter; -import java.net.URI; -import java.util.Collection; -import javax.xml.stream.XMLOutputFactory; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.TransformerFactoryConfigurationError; -import javax.xml.transform.dom.DOMResult; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -import org.custommonkey.xmlunit.XMLTestCase; -import org.custommonkey.xmlunit.XMLUnit; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.opendaylight.yangtools.util.xml.UntrustedXML; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -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.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.YangModeledAnyXmlNode; -import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; -import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter; -import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter; -import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult; -import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; -import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; -import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.model.api.SchemaNode; -import org.opendaylight.yangtools.yang.model.api.SchemaPath; -import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil; -import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.xml.sax.SAXException; - -@RunWith(Parameterized.class) -public class YangModeledAnyXMLSerializationTest extends XMLTestCase { - @Parameterized.Parameters(name = "{0}") - public static Collection data() { - return TestFactories.junitParameters(); - } - - private final QNameModule bazModuleQName = QNameModule.create(URI.create("baz")); - private final QName myAnyXMLDataBaz = QName.create(bazModuleQName, "my-anyxml-data"); - private final QName bazQName = QName.create(bazModuleQName, "baz"); - private final QName myContainer2QName = QName.create(bazModuleQName, "my-container-2"); - - private static EffectiveModelContext SCHEMA_CONTEXT; - - private final XMLOutputFactory factory; - - public YangModeledAnyXMLSerializationTest(final String factoryMode, final XMLOutputFactory factory) { - this.factory = factory; - } - - @BeforeClass - public static void beforeClass() { - SCHEMA_CONTEXT = YangParserTestUtils.parseYangResourceDirectory("/anyxml-support/serialization"); - } - - @AfterClass - public static void afterClass() { - SCHEMA_CONTEXT = null; - } - - @Test - public void testSerializationOfBaz() throws Exception { - final InputStream resourceAsStream = XmlToNormalizedNodesTest.class.getResourceAsStream( - "/anyxml-support/serialization/baz.xml"); - final Module bazModule = SCHEMA_CONTEXT.findModules("baz").iterator().next(); - final ContainerSchemaNode bazCont = (ContainerSchemaNode) bazModule.findDataChildByName( - QName.create(bazModule.getQNameModule(), "baz")).get(); - - final XMLStreamReader reader = UntrustedXML.createXMLStreamReader(resourceAsStream); - - final NormalizedNodeResult result = new NormalizedNodeResult(); - - final NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result); - - final XmlParserStream xmlParser = XmlParserStream.create(streamWriter, SCHEMA_CONTEXT, bazCont); - xmlParser.parse(reader); - - final NormalizedNode transformedInput = result.getResult(); - assertNotNull(transformedInput); - - assertTrue(transformedInput instanceof ContainerNode); - ContainerNode bazContainer = (ContainerNode) transformedInput; - assertEquals(bazContainer.getNodeType(), bazQName); - - DataContainerChild bazContainerChild = bazContainer.childByArg(new NodeIdentifier(myAnyXMLDataBaz)); - assertTrue(bazContainerChild instanceof YangModeledAnyXmlNode); - YangModeledAnyXmlNode yangModeledAnyXmlNode = (YangModeledAnyXmlNode) bazContainerChild; - - DataSchemaNode schemaOfAnyXmlData = yangModeledAnyXmlNode.getSchemaOfAnyXmlData(); - SchemaNode myContainer2SchemaNode = SchemaContextUtil.findDataSchemaNode(SCHEMA_CONTEXT, - SchemaPath.create(true, bazQName, myContainer2QName)); - assertTrue(myContainer2SchemaNode instanceof ContainerSchemaNode); - assertEquals(myContainer2SchemaNode, schemaOfAnyXmlData); - - final Document document = UntrustedXML.newDocumentBuilder().newDocument(); - final DOMResult domResult = new DOMResult(document); - - final XMLStreamWriter xmlStreamWriter = factory.createXMLStreamWriter(domResult); - - final NormalizedNodeStreamWriter xmlNormalizedNodeStreamWriter = XMLStreamNormalizedNodeStreamWriter - .create(xmlStreamWriter, SCHEMA_CONTEXT); - - final NormalizedNodeWriter normalizedNodeWriter = NormalizedNodeWriter.forStreamWriter( - xmlNormalizedNodeStreamWriter); - - normalizedNodeWriter.write(transformedInput); - - final Document doc = loadDocument("/anyxml-support/serialization/baz.xml"); - - XMLUnit.setIgnoreWhitespace(true); - XMLUnit.setIgnoreComments(true); - XMLUnit.setIgnoreAttributeOrder(true); - XMLUnit.setNormalize(true); - - String expectedXml = toString(doc.getDocumentElement()); - String serializedXml = toString(domResult.getNode()); - - assertXMLEqual(expectedXml, serializedXml); - } - - private static Document loadDocument(final String xmlPath) throws IOException, SAXException { - final InputStream resourceAsStream = YangModeledAnyXMLSerializationTest.class.getResourceAsStream(xmlPath); - return requireNonNull(readXmlToDocument(resourceAsStream)); - } - - private static Document readXmlToDocument(final InputStream xmlContent) throws IOException, SAXException { - final Document doc = UntrustedXML.newDocumentBuilder().parse(xmlContent); - doc.getDocumentElement().normalize(); - return doc; - } - - private static String toString(final Node xml) { - try { - final Transformer transformer = TransformerFactory.newInstance().newTransformer(); - transformer.setOutputProperty(OutputKeys.INDENT, "yes"); - transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); - - final StreamResult result = new StreamResult(new StringWriter()); - final DOMSource source = new DOMSource(xml); - transformer.transform(source, result); - - return result.getWriter().toString(); - } catch (IllegalArgumentException | TransformerFactoryConfigurationError | TransformerException e) { - throw new RuntimeException("Unable to serialize xml element " + xml, e); - } - } -} diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/SchemaTracker.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/SchemaTracker.java index c8d958449f..4c6ad2013f 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/SchemaTracker.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/SchemaTracker.java @@ -19,7 +19,6 @@ import java.util.Deque; import java.util.List; import java.util.Optional; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyxmlSchemaNode; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -238,15 +237,6 @@ public final class SchemaTracker { return schema; } - public SchemaNode startYangModeledAnyXmlNode(final NodeIdentifier name) { - LOG.debug("Enter yang modeled anyXml {}", name); - final SchemaNode schema = getSchema(name); - - checkArgument(schema instanceof YangModeledAnyxmlSchemaNode, "Node %s is not an yang modeled anyXml.", schema); - schemaStack.push(((YangModeledAnyxmlSchemaNode) schema).getSchemaOfAnyXmlData()); - return schema; - } - public AugmentationSchemaNode startAugmentationNode(final AugmentationIdentifier identifier) { LOG.debug("Enter augmentation {}", identifier); Object parent = getParent(); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/Builders.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/Builders.java index 5627655a43..4fa87df915 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/Builders.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/Builders.java @@ -8,7 +8,6 @@ package org.opendaylight.yangtools.yang.data.impl.schema; import javax.xml.transform.dom.DOMSource; -import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyxmlSchemaNode; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; @@ -27,7 +26,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode; import org.opendaylight.yangtools.yang.data.api.schema.UserLeafSetNode; import org.opendaylight.yangtools.yang.data.api.schema.UserMapNode; -import org.opendaylight.yangtools.yang.data.api.schema.YangModeledAnyXmlNode; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.ListNodeBuilder; @@ -57,7 +55,6 @@ import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUs import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUserLeafSetNodeSchemaAwareBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUserMapNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUserMapNodeSchemaAwareBuilder; -import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableYangModeledAnyXmlNodeBuilder; import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; @@ -100,11 +97,6 @@ public final class Builders { return ImmutableAnyXmlNodeSchemaAwareBuilder.create(schema); } - public static DataContainerNodeBuilder yangModeledAnyXmlBuilder( - final YangModeledAnyxmlSchemaNode schema) { - return ImmutableYangModeledAnyXmlNodeBuilder.create(schema); - } - public static NormalizedNodeBuilder> anydataBuilder( final Class objectModel) { return ImmutableAnydataNodeBuilder.create(objectModel); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java index ef31757cf8..35496420da 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java @@ -16,7 +16,6 @@ import java.util.ArrayDeque; import java.util.Deque; import javax.xml.transform.dom.DOMSource; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyxmlSchemaNode; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; @@ -41,7 +40,6 @@ import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUn import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUnkeyedListNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUserLeafSetNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUserMapNodeBuilder; -import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableYangModeledAnyXmlNodeBuilder; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; /** @@ -182,17 +180,6 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream : ImmutableContainerNodeBuilder.create(childSizeHint)); } - @Override - public void startYangModeledAnyXmlNode(final NodeIdentifier name, final int childSizeHint) { - checkDataNodeContainer(); - - checkArgument(nextSchema instanceof YangModeledAnyxmlSchemaNode, - "Schema of this node should be instance of YangModeledAnyxmlSchemaNode"); - final YangModeledAnyxmlSchemaNode anyxmlSchema = (YangModeledAnyxmlSchemaNode) nextSchema; - enter(name, UNKNOWN_SIZE == childSizeHint ? ImmutableYangModeledAnyXmlNodeBuilder.create(anyxmlSchema) - : ImmutableYangModeledAnyXmlNodeBuilder.create(anyxmlSchema, childSizeHint)); - } - @Override public void startUnkeyedList(final NodeIdentifier name, final int childSizeHint) { checkDataNodeContainer(); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableYangModeledAnyXmlNodeBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableYangModeledAnyXmlNodeBuilder.java deleted file mode 100644 index d131e0a6c5..0000000000 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableYangModeledAnyXmlNodeBuilder.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. 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.yang.data.impl.schema.builder.impl; - -import static java.util.Objects.requireNonNull; - -import java.util.Map; -import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyxmlSchemaNode; -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.YangModeledAnyXmlNode; -import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder; -import org.opendaylight.yangtools.yang.data.impl.schema.nodes.AbstractImmutableDataContainerNode; -import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; - -public final class ImmutableYangModeledAnyXmlNodeBuilder extends - AbstractImmutableDataContainerNodeBuilder { - - private final ContainerSchemaNode contentSchema; - - private ImmutableYangModeledAnyXmlNodeBuilder(final YangModeledAnyxmlSchemaNode yangModeledAnyXMLSchemaNode) { - requireNonNull(yangModeledAnyXMLSchemaNode, "Yang modeled any xml node must not be null."); - super.withNodeIdentifier(NodeIdentifier.create(yangModeledAnyXMLSchemaNode.getQName())); - this.contentSchema = yangModeledAnyXMLSchemaNode.getSchemaOfAnyXmlData(); - } - - private ImmutableYangModeledAnyXmlNodeBuilder(final YangModeledAnyxmlSchemaNode yangModeledAnyXMLSchemaNode, - final int sizeHint) { - super(sizeHint); - requireNonNull(yangModeledAnyXMLSchemaNode, "Yang modeled any xml node must not be null."); - super.withNodeIdentifier(NodeIdentifier.create(yangModeledAnyXMLSchemaNode.getQName())); - this.contentSchema = yangModeledAnyXMLSchemaNode.getSchemaOfAnyXmlData(); - } - - public static @NonNull DataContainerNodeBuilder create( - final YangModeledAnyxmlSchemaNode yangModeledAnyXMLSchemaNode) { - return new ImmutableYangModeledAnyXmlNodeBuilder(yangModeledAnyXMLSchemaNode); - } - - public static @NonNull DataContainerNodeBuilder create( - final YangModeledAnyxmlSchemaNode yangModeledAnyXMLSchemaNode, final int sizeHint) { - return new ImmutableYangModeledAnyXmlNodeBuilder(yangModeledAnyXMLSchemaNode, sizeHint); - } - - @Override - public YangModeledAnyXmlNode build() { - return new ImmutableYangModeledAnyXmlNode(getNodeIdentifier(), buildValue(), contentSchema); - } - - private static final class ImmutableYangModeledAnyXmlNode extends - AbstractImmutableDataContainerNode implements YangModeledAnyXmlNode { - private final @NonNull ContainerSchemaNode contentSchema; - - ImmutableYangModeledAnyXmlNode(final NodeIdentifier nodeIdentifier, final Map value, - final ContainerSchemaNode contentSchema) { - super(value, nodeIdentifier); - this.contentSchema = requireNonNull(contentSchema, "Schema of yang modeled anyXml content cannot be null."); - } - - @Override - @Deprecated - public ContainerSchemaNode getSchemaOfAnyXmlData() { - return contentSchema; - } - - @Override - protected Class implementedType() { - return YangModeledAnyXmlNode.class; - } - } -} diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/BuilderTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/BuilderTest.java index d8f39154a2..800912dd71 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/BuilderTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/BuilderTest.java @@ -20,7 +20,6 @@ import java.util.LinkedList; import java.util.Map; import org.junit.Before; import org.junit.Test; -import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyxmlSchemaNode; import org.opendaylight.yangtools.util.UnmodifiableCollection; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -57,7 +56,6 @@ import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUs import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUserLeafSetNodeSchemaAwareBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUserMapNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUserMapNodeSchemaAwareBuilder; -import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableYangModeledAnyXmlNodeBuilder; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; @@ -271,11 +269,6 @@ public class BuilderTest { ImmutableMapEntryNodeBuilder.create(1).build(); } - @Test(expected = NullPointerException.class) - public void immutableYangModeledAnyXmlNodeBuilderExceptionTest() { - ImmutableYangModeledAnyXmlNodeBuilder.create(mock(YangModeledAnyxmlSchemaNode.class), 1); - } - @Test(expected = UnsupportedOperationException.class) public void immutableUnkeyedListNodeBuilderExceptionTest() { ImmutableUnkeyedListNodeBuilder.create().withNodeIdentifier(NODE_IDENTIFIER_LEAF) diff --git a/yang/yang-data-transform/src/main/java/org/opendaylight/yangtools/transform/QNameTransformingStreamWriter.java b/yang/yang-data-transform/src/main/java/org/opendaylight/yangtools/transform/QNameTransformingStreamWriter.java index 1ff8994794..ac17ea06f6 100644 --- a/yang/yang-data-transform/src/main/java/org/opendaylight/yangtools/transform/QNameTransformingStreamWriter.java +++ b/yang/yang-data-transform/src/main/java/org/opendaylight/yangtools/transform/QNameTransformingStreamWriter.java @@ -148,11 +148,6 @@ public abstract class QNameTransformingStreamWriter extends ForwardingNormalized return super.startAnyxmlNode(transform(name), objectModel); } - @Override - public void startYangModeledAnyXmlNode(final NodeIdentifier name, final int childSizeHint) throws IOException { - super.startYangModeledAnyXmlNode(transform(name), childSizeHint); - } - /** * Transforms a QName to new mapping. * diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/CompositeNodeDataWithSchema.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/CompositeNodeDataWithSchema.java index 8d6bf20a5d..bea54065d2 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/CompositeNodeDataWithSchema.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/CompositeNodeDataWithSchema.java @@ -19,7 +19,6 @@ import java.util.Deque; import java.util.List; import java.util.Map.Entry; import org.eclipse.jdt.annotation.Nullable; -import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyxmlSchemaNode; import org.opendaylight.yangtools.rfc7952.data.api.StreamWriterMetadataExtension; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.model.api.AnydataSchemaNode; @@ -178,10 +177,6 @@ public class CompositeNodeDataWithSchema extends Abstr if (schema instanceof LeafSchemaNode) { newChild = new LeafNodeDataWithSchema((LeafSchemaNode) schema); } else if (schema instanceof AnyxmlSchemaNode) { - // YangModeledAnyxmlSchemaNode is handled by addCompositeChild method. - if (schema instanceof YangModeledAnyxmlSchemaNode) { - return null; - } newChild = new AnyXmlNodeDataWithSchema((AnyxmlSchemaNode) schema); } else if (schema instanceof AnydataSchemaNode) { newChild = new AnydataNodeDataWithSchema((AnydataSchemaNode) schema); @@ -235,8 +230,6 @@ public class CompositeNodeDataWithSchema extends Abstr newChild = new LeafListNodeDataWithSchema((LeafListSchemaNode) schema); } else if (schema instanceof ContainerLike) { newChild = new ContainerNodeDataWithSchema((ContainerLike) schema); - } else if (schema instanceof YangModeledAnyxmlSchemaNode) { - newChild = new YangModeledAnyXmlNodeDataWithSchema((YangModeledAnyxmlSchemaNode)schema); } else { newChild = new CompositeNodeDataWithSchema<>(schema); } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/YangModeledAnyXmlNodeDataWithSchema.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/YangModeledAnyXmlNodeDataWithSchema.java deleted file mode 100644 index c7815f09e3..0000000000 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/YangModeledAnyXmlNodeDataWithSchema.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2016 Cisco Systems, Inc. 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.yang.data.util; - -import java.io.IOException; -import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyxmlSchemaNode; -import org.opendaylight.yangtools.rfc7952.data.api.StreamWriterMetadataExtension; -import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; - -/** - * Utility class used for tracking parser state as needed by a StAX-like parser. - * This class is to be used only by respective XML and JSON parsers in yang-data-codec-xml and yang-data-codec-gson. - * - *

- * Represents a YANG-modeled-anyxml node. - */ -public final class YangModeledAnyXmlNodeDataWithSchema - extends CompositeNodeDataWithSchema { - - public YangModeledAnyXmlNodeDataWithSchema(final YangModeledAnyxmlSchemaNode yangModeledAnyXml) { - super(yangModeledAnyXml); - } - - @Override - public void write(final NormalizedNodeStreamWriter writer, final StreamWriterMetadataExtension metaWriter) - throws IOException { - writer.nextDataSchemaNode(getSchema()); - - writer.startYangModeledAnyXmlNode(provideNodeIdentifier(), childSizeHint()); - writeMetadata(metaWriter); - super.write(writer, metaWriter); - writer.endNode(); - } -} diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultReactors.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultReactors.java index 6455175b4f..6ae360dec6 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultReactors.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultReactors.java @@ -11,7 +11,6 @@ import com.google.common.annotations.Beta; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.odlext.parser.AnyxmlSchemaLocationNamespace; import org.opendaylight.yangtools.odlext.parser.AnyxmlSchemaLocationStatementSupport; -import org.opendaylight.yangtools.odlext.parser.AnyxmlStatementSupportOverride; import org.opendaylight.yangtools.openconfig.parser.EncryptedValueStatementSupport; import org.opendaylight.yangtools.openconfig.parser.HashedValueStatementSupport; import org.opendaylight.yangtools.rfc6241.parser.GetFilterElementAttributesStatementSupport; @@ -96,8 +95,6 @@ public final class DefaultReactors { .addStatementSupport(ModelProcessingPhase.FULL_DECLARATION, AnyxmlSchemaLocationStatementSupport.getInstance()) .addNamespaceSupport(ModelProcessingPhase.FULL_DECLARATION, AnyxmlSchemaLocationNamespace.BEHAVIOUR) - .overrideStatementSupport(ModelProcessingPhase.FULL_DECLARATION, - AnyxmlStatementSupportOverride.getInstance()) // RFC6241 get-filter-element-attributes support .addStatementSupport(ModelProcessingPhase.FULL_DECLARATION, -- 2.36.6