Rename AnyXmlNode to DOMSourceAnyxmlNode 91/83591/22
authorAndrii Mazurian <a.mazuryan@gmail.com>
Tue, 13 Aug 2019 09:59:44 +0000 (12:59 +0300)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 25 Sep 2019 14:38:49 +0000 (16:38 +0200)
Rename AnyXmlNode to DOMSourceAnyxmlNode, as that reflects its place
in the object hierarchy. NormalizedNodeWriter is extended with stub
support for other object models, yet DOMSource is the only one
supported at this time.

JIRA: YANGTOOLS-976
Change-Id: I962c910557a14dad5f88fa4e69146606e21fddc4
Signed-off-by: Andrii Mazurian <a.mazuryan@gmail.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 files changed:
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/DOMSourceAnyxmlNode.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/AnyXmlNode.java with 87% similarity]
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/ForeignDataNode.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-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java
yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/AnyXmlWithParamsParsingTest.java
yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriterTest.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/InstanceIdToNodes.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAnyXmlNodeBuilder.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAnyXmlNodeSchemaAwareBuilder.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriterTest.java

similarity index 87%
rename from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/AnyXmlNode.java
rename to yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/DOMSourceAnyxmlNode.java
index 3d680ce83ad7cdaf4ce44e015d8f0e24ff3f6624..b5be957c1353a25357eaedaf094b575d607dfced 100644 (file)
@@ -12,8 +12,7 @@ import javax.xml.transform.dom.DOMSource;
 /**
  * An AnyxmlNode with data in {@link DOMSource} format.
  */
-// FIXME: 4.0.0: YANGTOOLS-976: rename to DOMSourceAnyxmlNode
-public interface AnyXmlNode extends AnyxmlNode<DOMSource> {
+public interface DOMSourceAnyxmlNode extends AnyxmlNode<DOMSource> {
     @Override
     default Class<DOMSource> getValueObjectModel() {
         return DOMSource.class;
index 0db638ac6dd4ff155c3161a1e4ef84be136820eb..0b9d7c4537facc1a800d3478b2d07bdd5ede9aee 100644 (file)
@@ -26,8 +26,8 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum
 @Beta
 public interface ForeignDataNode<K extends PathArgument, V> extends DataContainerChild<K, V> {
     /**
-     * Return the object model class, which identifies it. For example {@link AnyXmlNode} uses {@link DOMSource} as
-     * its value object model.
+     * Return the object model class, which identifies it. For example {@link DOMSourceAnyxmlNode}
+     * uses {@link DOMSource} as its value object model.
      *
      * @return Object model class
      */
index 27c6db5aa912fe195425f9da2fb50be8b2c1e479..d031902522c352e7fd03e40ccbc616aacb927b1d 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema.stream;
 
+import static com.google.common.base.Verify.verify;
 import static java.util.Objects.requireNonNull;
 import static org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter.UNKNOWN_SIZE;
 
@@ -19,11 +20,12 @@ import java.util.Collection;
 import java.util.Optional;
 import java.util.Set;
 import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.dom.DOMSource;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AnydataNode;
+import org.opendaylight.yangtools.yang.data.api.schema.AnyxmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
@@ -145,12 +147,19 @@ public class NormalizedNodeWriter implements Closeable, Flushable {
             writer.scalarValue(nodeAsLeaf.getValue());
             writer.endNode();
             return true;
-        } else if (node instanceof AnyXmlNode) {
-            final AnyXmlNode anyXmlNode = (AnyXmlNode)node;
-            writer.startAnyxmlNode(anyXmlNode.getIdentifier());
-            writer.domSourceValue(anyXmlNode.getValue());
-            writer.endNode();
-            return true;
+        } else if (node instanceof AnyxmlNode) {
+            final AnyxmlNode<?> anyxmlNode = (AnyxmlNode<?>)node;
+            final Class<?> model = anyxmlNode.getValueObjectModel();
+            if (DOMSource.class.isAssignableFrom(model)) {
+                final Object value = node.getValue();
+                verify(value instanceof DOMSource, "Inconsistent anyxml node %s", anyxmlNode);
+                writer.startAnyxmlNode(anyxmlNode.getIdentifier());
+                writer.domSourceValue((DOMSource) value);
+                writer.endNode();
+                return true;
+            }
+
+            LOG.debug("Ignoring unhandled anyxml node {}", anyxmlNode);
         } else if (node instanceof AnydataNode) {
             final AnydataExtension ext = writer.getExtensions().getInstance(AnydataExtension.class);
             if (ext != null) {
index a97f8206efe18576dfc868f4b449adc8f4e28504..1fd932b6c958ec05719aca215cd13e5af43ee248 100644 (file)
@@ -5,7 +5,6 @@
  * 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.stream;
 
 import static org.junit.Assert.assertEquals;
@@ -13,6 +12,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doCallRealMethod;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 
@@ -30,10 +30,10 @@ import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
+import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode;
@@ -87,7 +87,8 @@ public class NormalizedNodeWriterTest {
         doReturn("leaf-value-1").when(mockedLeafNode).getValue();
         assertNotNull(orderedNormalizedNodeWriter.write(mockedLeafNode));
 
-        final NormalizedNode<?, ?> mockedAnyXmlNode = mock(AnyXmlNode.class);
+        final DOMSourceAnyxmlNode mockedAnyXmlNode = mock(DOMSourceAnyxmlNode.class);
+        doCallRealMethod().when(mockedAnyXmlNode).getValueObjectModel();
         doReturn(new DOMSource()).when(mockedAnyXmlNode).getValue();
         assertNotNull(orderedNormalizedNodeWriter.write(mockedAnyXmlNode));
 
index f7d3193a9679274755fcaf07de3444c17e94e166..ce6b8a0cf3eb7006545311886d9ba738b158038e 100644 (file)
@@ -30,8 +30,8 @@ import org.opendaylight.yangtools.util.xml.UntrustedXML;
 import org.opendaylight.yangtools.yang.common.QName;
 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.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
+import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode;
 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.stream.NormalizedNodeStreamWriter;
@@ -168,8 +168,8 @@ public class AnyXmlSupportTest extends AbstractComplexJsonTest {
         final ContainerNode cont1 = (ContainerNode) transformedInput;
         final DataContainerChild<? extends PathArgument, ?> child = cont1.getChild(new NodeIdentifier(anyxmlName))
                 .get();
-        assertTrue(child instanceof AnyXmlNode);
-        final AnyXmlNode anyXmlNode = (AnyXmlNode) child;
+        assertTrue(child instanceof DOMSourceAnyxmlNode);
+        final DOMSourceAnyxmlNode anyXmlNode = (DOMSourceAnyxmlNode) child;
         return anyXmlNode.getValue();
     }
 
index 9089df140e645efdcace96ea8b1d9d36144e0c01..6c33dd77d9e7d1c805e37267b9769c213f71e0af 100644 (file)
@@ -24,9 +24,9 @@ import org.opendaylight.yangtools.util.xml.UntrustedXML;
 import org.opendaylight.yangtools.yang.common.QName;
 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.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
+import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode;
 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.stream.NormalizedNodeStreamWriter;
@@ -66,7 +66,7 @@ public class AnyXmlWithParamsParsingTest {
         final DataContainerChild<? extends PathArgument, ?> editCfg = ((ContainerNode) parsed)
                 .getChild(getNodeId(parsed, "edit-content")).get();
 
-        final DOMSource anyXmlParsedDom = ((AnyXmlNode) ((ChoiceNode) editCfg)
+        final DOMSource anyXmlParsedDom = ((DOMSourceAnyxmlNode) ((ChoiceNode) editCfg)
                 .getChild(getNodeId(parsed, "config")).get())
                 .getValue();
 
index 8391587e5362e26bab52d35688b8b5d42a5a823c..d2daa1f0863c4e166bb39a7aa02de354c9bdedb9 100644 (file)
@@ -48,10 +48,10 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.Augmentat
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
+import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
@@ -262,7 +262,7 @@ public class SchemalessXMLStreamNormalizedNodeStreamWriterTest {
                 .withChild(Builders.leafBuilder().withNodeIdentifier(new NodeIdentifier(myLeafInCase2))
                         .withValue("case2value").build()).build();
 
-        AnyXmlNode myAnyxmlNode = Builders.anyXmlBuilder().withNodeIdentifier(new NodeIdentifier(myAnyxml))
+        DOMSourceAnyxmlNode myAnyxmlNode = Builders.anyXmlBuilder().withNodeIdentifier(new NodeIdentifier(myAnyxml))
                 .withValue(anyxmlDomSource).build();
 
         ContainerNode myContainer2Node = Builders.containerBuilder().withNodeIdentifier(
index b9b1d5c64fa4b4faaa40ffb4cfe08d92a4745cfe..8c0f927210bb62e27444420a11f3f32223011530 100644 (file)
@@ -13,11 +13,11 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.Augmentat
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AnydataNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
+import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode;
@@ -89,11 +89,11 @@ public final class Builders {
         return ImmutableLeafSetEntryNodeSchemaAwareBuilder.create(schema);
     }
 
-    public static NormalizedNodeBuilder<NodeIdentifier, DOMSource, AnyXmlNode> anyXmlBuilder() {
+    public static NormalizedNodeBuilder<NodeIdentifier, DOMSource, DOMSourceAnyxmlNode> anyXmlBuilder() {
         return ImmutableAnyXmlNodeBuilder.create();
     }
 
-    public static NormalizedNodeBuilder<NodeIdentifier, DOMSource, AnyXmlNode> anyXmlBuilder(
+    public static NormalizedNodeBuilder<NodeIdentifier, DOMSource, DOMSourceAnyxmlNode> anyXmlBuilder(
             final AnyXmlSchemaNode schema) {
         return ImmutableAnyXmlNodeSchemaAwareBuilder.create(schema);
     }
index a944452d54a284e09737be6c7f9a856ce280a71e..c9e9b258b49ab9cafad929492e41eeca84795c0b 100644 (file)
@@ -20,8 +20,8 @@ import org.opendaylight.yangtools.concepts.AbstractIdentifiable;
 import org.opendaylight.yangtools.yang.common.QName;
 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.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AnydataNode;
+import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode;
@@ -138,12 +138,13 @@ abstract class InstanceIdToNodes<T extends PathArgument> extends AbstractIdentif
         @Override
         NormalizedNode<?, ?> create(final PathArgument first, final Iterator<PathArgument> others,
                 final Optional<NormalizedNode<?, ?>> deepestChild) {
-            final NormalizedNodeBuilder<NodeIdentifier, DOMSource, AnyXmlNode> builder = Builders.anyXmlBuilder()
+            final NormalizedNodeBuilder<NodeIdentifier, DOMSource, DOMSourceAnyxmlNode> builder =
+                    Builders.anyXmlBuilder()
                     .withNodeIdentifier(getIdentifier());
             if (deepestChild.isPresent()) {
                 final NormalizedNode<?, ?> child = deepestChild.get();
-                checkState(child instanceof AnyXmlNode, "Invalid child %s", child);
-                builder.withValue(((AnyXmlNode) child).getValue());
+                checkState(child instanceof DOMSourceAnyxmlNode, "Invalid child %s", child);
+                builder.withValue(((DOMSourceAnyxmlNode) child).getValue());
             }
 
             return builder.build();
index 987a1cdd51120ef0077f1e3b02caf4c0364aec02..18aa8151e88d540502c569aac9d8d1d2392ab8bc 100644 (file)
@@ -10,24 +10,25 @@ package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl;
 import javax.xml.transform.dom.DOMSource;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
+import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.nodes.AbstractImmutableNormalizedSimpleValueNode;
 
 public class ImmutableAnyXmlNodeBuilder
-        extends AbstractImmutableNormalizedNodeBuilder<NodeIdentifier, DOMSource, AnyXmlNode> {
+        extends AbstractImmutableNormalizedNodeBuilder<NodeIdentifier, DOMSource, DOMSourceAnyxmlNode> {
 
-    public static @NonNull NormalizedNodeBuilder<NodeIdentifier, DOMSource, AnyXmlNode> create() {
+    public static @NonNull NormalizedNodeBuilder<NodeIdentifier, DOMSource, DOMSourceAnyxmlNode> create() {
         return new ImmutableAnyXmlNodeBuilder();
     }
 
     @Override
-    public AnyXmlNode build() {
+    public DOMSourceAnyxmlNode build() {
         return new ImmutableXmlNode(getNodeIdentifier(), getValue());
     }
 
     private static final class ImmutableXmlNode
-            extends AbstractImmutableNormalizedSimpleValueNode<NodeIdentifier, DOMSource> implements AnyXmlNode {
+            extends AbstractImmutableNormalizedSimpleValueNode<NodeIdentifier, DOMSource>
+            implements DOMSourceAnyxmlNode {
 
         ImmutableXmlNode(final NodeIdentifier nodeIdentifier, final DOMSource value) {
             super(nodeIdentifier, value);
index 884422e7fefd2bdac626e391bc5ab6eb6c89616a..0ebe62031ed04d041b9bc0646359f443d1121439 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl;
 import javax.xml.transform.dom.DOMSource;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
+import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeBuilder;
 import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode;
 
@@ -20,18 +20,18 @@ public final class ImmutableAnyXmlNodeSchemaAwareBuilder extends ImmutableAnyXml
         super.withNodeIdentifier(NodeIdentifier.create(schema.getQName()));
     }
 
-    public static @NonNull NormalizedNodeBuilder<NodeIdentifier, DOMSource, AnyXmlNode> create(
+    public static @NonNull NormalizedNodeBuilder<NodeIdentifier, DOMSource, DOMSourceAnyxmlNode> create(
             final AnyXmlSchemaNode schema) {
         return new ImmutableAnyXmlNodeSchemaAwareBuilder(schema);
     }
 
     @Override
-    public NormalizedNodeBuilder<NodeIdentifier, DOMSource, AnyXmlNode> withValue(final DOMSource withValue) {
+    public NormalizedNodeBuilder<NodeIdentifier, DOMSource, DOMSourceAnyxmlNode> withValue(final DOMSource withValue) {
         return super.withValue(withValue);
     }
 
     @Override
-    public NormalizedNodeBuilder<NodeIdentifier, DOMSource, AnyXmlNode> withNodeIdentifier(
+    public NormalizedNodeBuilder<NodeIdentifier, DOMSource, DOMSourceAnyxmlNode> withNodeIdentifier(
             final NodeIdentifier withNodeIdentifier) {
         throw new UnsupportedOperationException("Node identifier created from schema");
     }
index eee70541eaa9d6c7f1d6f88ea5b655babaf31a85..2596012094f46ccef2f5ca638866329ab7a116e4 100644 (file)
@@ -30,10 +30,10 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.Augmentat
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
+import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
@@ -218,7 +218,7 @@ public class ImmutableNormalizedNodeStreamWriterTest {
                 .withChild(Builders.leafBuilder().withNodeIdentifier(new NodeIdentifier(myLeafInCase2))
                         .withValue("case2value").build()).build();
 
-        AnyXmlNode myAnyxmlNode = Builders.anyXmlBuilder().withNodeIdentifier(new NodeIdentifier(myAnyxml))
+        DOMSourceAnyxmlNode myAnyxmlNode = Builders.anyXmlBuilder().withNodeIdentifier(new NodeIdentifier(myAnyxml))
                 .withValue(anyxmlDomSource).build();
 
         ContainerNode myContainer2Node = Builders.containerBuilder().withNodeIdentifier(