Remove YangModeledAnyxmlSchemaNode 67/94967/3
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 2 Feb 2021 15:53:06 +0000 (16:53 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 2 Feb 2021 18:28:53 +0000 (19:28 +0100)
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 <robert.varga@pantheon.tech>
39 files changed:
yang/odlext-model-api/src/main/java/org/opendaylight/yangtools/odlext/model/api/YangModeledAnyxmlSchemaNode.java [deleted file]
yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/AnyxmlStatementSupportOverride.java [deleted file]
yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/YangModeledAnyxmlEffectiveStatementImpl.java [deleted file]
yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/package-info.java
yang/odlext-parser-support/src/test/java/org/opendaylight/yangtools/odlext/parser/Bug3874ExtensionTest.java
yang/rfc7952-data-util/src/main/java/org/opendaylight/yangtools/rfc7952/data/util/NormalizedNodeStreamWriterMetadataDecorator.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/YangModeledAnyXmlNode.java [deleted file]
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/ForwardingNormalizedNodeStreamWriter.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/LoggingNormalizedNodeStreamWriter.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriter.java
yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java
yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractLithiumDataOutput.java
yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractMagnesiumDataInput.java
yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractMagnesiumDataOutput.java
yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/LithiumNode.java
yang/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/MagnesiumNode.java
yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONNormalizedNodeStreamWriter.java
yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonParserStream.java
yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java
yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/YangModeledAnyXmlSupportTest.java [deleted file]
yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/json/baz.json [deleted file]
yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/xml/baz.xml [deleted file]
yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/yang/baz.yang [deleted file]
yang/yang-data-codec-gson/src/test/resources/yang-modeled-anyxml/yang/yang-ext.yang [deleted file]
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlParserStream.java
yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java [deleted file]
yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLSerializationTest.java [deleted file]
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/SchemaTracker.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/Builders.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableYangModeledAnyXmlNodeBuilder.java [deleted file]
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/BuilderTest.java
yang/yang-data-transform/src/main/java/org/opendaylight/yangtools/transform/QNameTransformingStreamWriter.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/CompositeNodeDataWithSchema.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/YangModeledAnyXmlNodeDataWithSchema.java [deleted file]
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultReactors.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 (file)
index bcfa211..0000000
+++ /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. <br>
- * <br>
- * This interface was modeled according to definition in <a
- * href="https://tools.ietf.org/html/rfc6020#section-7.10">[RFC-6020] The anyxml
- * Statement</a>
- */
-@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 (file)
index c7096fd..0000000
+++ /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<QName, AnyxmlStatement, AnyxmlEffectiveStatement> {
-    private static final AnyxmlStatementSupportOverride INSTANCE = new AnyxmlStatementSupportOverride();
-
-    private AnyxmlStatementSupportOverride() {
-        super(AnyxmlStatementSupport.getInstance());
-    }
-
-    public static AnyxmlStatementSupportOverride getInstance() {
-        return INSTANCE;
-    }
-
-    @Override
-    public AnyxmlEffectiveStatement createEffective(final Current<QName, AnyxmlStatement> stmt,
-            final Stream<? extends StmtContext<?, ?, ?>> declaredSubstatements,
-                final Stream<? extends StmtContext<?, ?, ?>> effectiveSubstatements) {
-        final AnyxmlEffectiveStatement delegateStatement = super.createEffective(stmt, declaredSubstatements,
-            effectiveSubstatements);
-
-        final Map<StatementDefinition, Mutable<SchemaNodeIdentifier, AnyxmlSchemaLocationStatement,
-                AnyxmlSchemaLocationEffectiveStatement>> schemaLocations =
-                stmt.localNamespacePortion(AnyxmlSchemaLocationNamespace.class);
-        if (schemaLocations != null && !schemaLocations.isEmpty()) {
-            final SchemaNodeIdentifier anyXmlSchemaNodeIdentifier = schemaLocations.values().iterator().next()
-                    .argument();
-            final Optional<ContainerSchemaNode> anyXmlSchema = getAnyXmlSchema(stmt, anyXmlSchemaNodeIdentifier);
-            if (anyXmlSchema.isPresent()) {
-                return new YangModeledAnyxmlEffectiveStatementImpl(delegateStatement, anyXmlSchema.get());
-            }
-        }
-
-        return delegateStatement;
-    }
-
-    private static Optional<ContainerSchemaNode> getAnyXmlSchema(final Current<QName, AnyxmlStatement> 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 (file)
index cc07e4c..0000000
+++ /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<QName, AnyxmlStatement, AnyxmlEffectiveStatement>
-        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<Boolean> 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<String> getDescription() {
-        return delegateSchemaNode().getDescription();
-    }
-
-    @Override
-    public Optional<String> getReference() {
-        return delegateSchemaNode().getReference();
-    }
-
-    @Deprecated
-    @Override
-    public boolean isAugmenting() {
-        return delegateSchemaNode().isAugmenting();
-    }
-
-    @Deprecated
-    @Override
-    public boolean isAddedByUses() {
-        return delegateSchemaNode().isAddedByUses();
-    }
-
-    @Override
-    public Optional<? extends QualifiedBound> getWhenCondition() {
-        return delegateSchemaNode().getWhenCondition();
-    }
-
-    @Override
-    public boolean isMandatory() {
-        return delegateSchemaNode().isMandatory();
-    }
-
-    @Override
-    public Collection<? extends @NonNull MustDefinition> getMustConstraints() {
-        return delegateSchemaNode().getMustConstraints();
-    }
-
-    @Override
-    public Collection<? extends UnknownSchemaNode> getUnknownSchemaNodes() {
-        return delegateSchemaNode().getUnknownSchemaNodes();
-    }
-
-    @Override
-    public AnyxmlEffectiveStatement asEffectiveStatement() {
-        return delegateSchemaNode().asEffectiveStatement();
-    }
-
-    @Override
-    public String toString() {
-        return YangModeledAnyxmlEffectiveStatementImpl.class.getSimpleName() + "["
-               + "qname=" + getQName()
-               + ", path=" + getPath()
-               + "]";
-    }
-}
index bd3cedcff691ef8b780ee5cd1823340159ea4d3d..24ac981190d1ceff8f5cfd72115af769091e4ccb 100644 (file)
@@ -10,7 +10,6 @@
  *
  * <p>
  * 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
index 8d17cbeff2b169c28bdd3138391c9b8f718287b2..ae0c5942b200d649e0c85d5e7833725bbe4c6d4e 100644 (file)
@@ -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<? extends UnknownSchemaNode> unknownSchemaNodes = yangModeledAnyXml.getUnknownSchemaNodes();
+        Collection<? extends UnknownSchemaNode> 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(),
index cbcd22b34829b79e72fcd268d9788ffa493d8c85..cf8b61fd68d88beaa318f1344d575bb169bf3bed 100644 (file)
@@ -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 (file)
index d910f5d..0000000
+++ /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<NodeIdentifier>, DataContainerChild {
-    /**
-     * Returns the schema corresponding to the node's datea.
-     *
-     * @return schema of contained XML data
-     */
-    @NonNull ContainerSchemaNode getSchemaOfAnyXmlData();
-}
index e5f5ca308eed42ea4044baccfad170ae14db5169..677947bff1b93dff9722fdba64511b9efff95378 100644 (file)
@@ -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);
index c5100112e61a7f2ffe9b2428d6fe2477303f76e7..10e19b997dd3bdc5874a5a2f6fba9a61faa3b98d 100644 (file)
@@ -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("<<FLUSH>>");
index b768b5f27a2b8f4898bfe1a9c11a7f7714d916fa..9a800ec2366ad09755169e0a485881c1db096091 100644 (file)
@@ -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:
-     * <ul>
-     * <li>{@link #startLeafNode}</li>
-     * <li>{@link #startContainerNode}</li>
-     * <li>{@link #startLeafSet}</li>
-     * <li>{@link #startMapNode}</li>
-     * <li>{@link #startUnkeyedList}</li>
-     * </ul>
-     *
-     * @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.
      *
index d57e545ecde08222de9b2d3113994616e0719489..49e1129fe562134b3498f5673f8d2326069048d7 100644 (file)
@@ -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);
         }
index 9e9859118a7ce94c65932e08f81362e2b4f7160b..2941d473bda09ef067dafa925ed893f2e46fb198 100644 (file)
@@ -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();
index 3f41ffd41c7b99a36707257cb02ff5fce8b61e36..a9f0979e5333ef72dcabaf96d6e91652e29af08c 100644 (file)
@@ -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");
index 21b143286e3722c0a673f0980df09be2f91bb99f..87182a70c253e7238f3de71d3bb618e032874091 100644 (file)
@@ -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);
index 79c640aa6b07f1d736451fef7670c6ebff05fbe9..7ced29f0c23268068e5db3306d3a32a880160da6 100644 (file)
@@ -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) {
index 4953bb5359a4b57a3c2533484a60049443c17a67..f43a8c1eee0301827470bd05c61f76cfcbfd7ab8 100644 (file)
@@ -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() {
index ab8cc0b18d42ad368a90ffba1cc1dfbc8ecadf81..6292cbdbe021c5516ce4df10997d618397a1ba5c 100644 (file)
@@ -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;
index 769fab44dff0fcd9c4b853e5542f45f433299b21..21ab3bd8bc5b59b61bbf5605f4a196918a44ab87 100644 (file)
@@ -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();
index de6654b7baf98a6376d66211e4d97261f2dd4e46..371d98c0456610da0073064fb90961c31ec07d83 100644 (file)
@@ -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<String, URI> namespaceAndName = resolveNamespace(jsonElementName, parentSchema);
                     final String localName = namespaceAndName.getKey();
                     final URI namespace = namespaceAndName.getValue();
index cc4a160d598392587ae9cf45091253b746f873c7..0ffcb02723d85dc98c3091134b509d418ecadc97 100644 (file)
@@ -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 (file)
index 11f0fe8..0000000
+++ /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 (file)
index 11c65c2..0000000
+++ /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 (file)
index 82f99d5..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<baz xmlns="baz">
-    <my-container-1>
-        <my-leaf-1>value1</my-leaf-1>
-    </my-container-1>
-    <my-container-2>
-        <inner-container>
-            <my-leaf-2>value2</my-leaf-2>
-        </inner-container>
-        <my-leaf-3>value3</my-leaf-3>
-    </my-container-2>
-
-    <my-anyxml-data>
-        <inner-container>
-            <my-leaf-2>any-xml-leaf-2-value</my-leaf-2>
-        </inner-container>
-        <my-leaf-3>any-xml-leaf-3-value</my-leaf-3>
-    </my-anyxml-data>
-</baz>
\ 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 (file)
index 9cd2233..0000000
+++ /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 (file)
index 99eb4b6..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-module yang-ext {
-    yang-version 1;
-    namespace "urn:opendaylight:yang:extension:yang-ext";
-    prefix "ext";
-
-    contact "Anton Tkacik <ttkacik@cisco.com>";
-
-    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";
-    }
-}
index 2863b81491ee9ccd74521755175a132aa58ad5a5..5bfe7055ca146126802b9ffbd4d869f923aad325 100644 (file)
@@ -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)) {
index 8d1b68c492ddea31ea21b4f47b633d2660e60b56..ff21106cd3d5f946a6a67e3389ddca791dab1163 100644 (file)
@@ -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();
index 038299d6f9e5d068c6b7a424d610667450381552..c2e0961c831ba20df3284ff9ae15c7b2778221eb 100644 (file)
@@ -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<Entry<String, String>> 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 (file)
index 1a3b465..0000000
+++ /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<DataContainerChild> 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<DataContainerChild> 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<Boolean> 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<String> getDescription() {
-            return Optional.empty();
-        }
-
-        @Override
-        public Optional<String> getReference() {
-            return Optional.empty();
-        }
-
-        @Override
-        public Status getStatus() {
-            return Status.CURRENT;
-        }
-
-        @Override
-        public ContainerSchemaNode getSchemaOfAnyXmlData() {
-            return contentSchema;
-        }
-
-        @Override
-        public Collection<MustDefinition> getMustConstraints() {
-            return ImmutableSet.of();
-        }
-
-        @Override
-        public Optional<? extends QualifiedBound> 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 (file)
index bc9a8f1..0000000
+++ /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<Object[]> 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);
-        }
-    }
-}
index c8d958449fa88026e6b2d46426395adbb5919f48..4c6ad2013f07c797f97d6b375efc2d85217f14d3 100644 (file)
@@ -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();
index 5627655a436a0312b85ae81d6c630c0c79e5b56e..4fa87df915ddc95ab3f4cbf865e279fb27b3d4be 100644 (file)
@@ -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<NodeIdentifier, YangModeledAnyXmlNode> yangModeledAnyXmlBuilder(
-            final YangModeledAnyxmlSchemaNode schema) {
-        return ImmutableYangModeledAnyXmlNodeBuilder.create(schema);
-    }
-
     public static <T> NormalizedNodeBuilder<NodeIdentifier, T, AnydataNode<T>> anydataBuilder(
             final Class<T> objectModel) {
         return ImmutableAnydataNodeBuilder.create(objectModel);
index ef31757cf8847deb9341e054cb19c1df28f94f02..35496420da3a67d512da85d838bb6b3c8b9aecb0 100644 (file)
@@ -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 (file)
index d131e0a..0000000
+++ /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<NodeIdentifier, YangModeledAnyXmlNode> {
-
-    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<NodeIdentifier, YangModeledAnyXmlNode> create(
-            final YangModeledAnyxmlSchemaNode yangModeledAnyXMLSchemaNode) {
-        return new ImmutableYangModeledAnyXmlNodeBuilder(yangModeledAnyXMLSchemaNode);
-    }
-
-    public static @NonNull DataContainerNodeBuilder<NodeIdentifier, YangModeledAnyXmlNode> 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<NodeIdentifier, YangModeledAnyXmlNode> implements YangModeledAnyXmlNode {
-        private final @NonNull ContainerSchemaNode contentSchema;
-
-        ImmutableYangModeledAnyXmlNode(final NodeIdentifier nodeIdentifier, final Map<PathArgument, Object> 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<YangModeledAnyXmlNode> implementedType() {
-            return YangModeledAnyXmlNode.class;
-        }
-    }
-}
index d8f39154a211d0a9492a5b18aa1c6e5e6c6d04bb..800912dd710dbd637c3e3c6f235efa9a323169a6 100644 (file)
@@ -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)
index 1ff8994794248707fbe3097b255b9f896e0b0501..ac17ea06f6262f3d9f159eb26cc290f7fed94203 100644 (file)
@@ -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.
      *
index 8d6bf20a5db4acb109bf9b9af1194dd1b2e4575c..bea54065d292a70e82ab414329d6afdf9545158f 100644 (file)
@@ -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<T extends DataSchemaNode> 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<T extends DataSchemaNode> 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 (file)
index c7815f0..0000000
+++ /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.
- *
- * <p>
- * Represents a YANG-modeled-anyxml node.
- */
-public final class YangModeledAnyXmlNodeDataWithSchema
-        extends CompositeNodeDataWithSchema<YangModeledAnyxmlSchemaNode> {
-
-    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();
-    }
-}
index 6455175b4f836a4600e6eb9b477eb88f566c6fc6..6ae360dec65f6c6ccee682afc7ebfabf257fabf4 100644 (file)
@@ -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,