From 1bb10c7f82ae8ad45d82a52528861cd966a35361 Mon Sep 17 00:00:00 2001 From: Andrii Mazurian Date: Tue, 13 Aug 2019 12:59:44 +0300 Subject: [PATCH] Rename AnyXmlNode to DOMSourceAnyxmlNode 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 Signed-off-by: Robert Varga --- ...yXmlNode.java => DOMSourceAnyxmlNode.java} | 3 +-- .../yang/data/api/schema/ForeignDataNode.java | 4 ++-- .../schema/stream/NormalizedNodeWriter.java | 23 +++++++++++++------ .../stream/NormalizedNodeWriterTest.java | 7 +++--- .../data/codec/gson/AnyXmlSupportTest.java | 6 ++--- .../xml/AnyXmlWithParamsParsingTest.java | 4 ++-- ...LStreamNormalizedNodeStreamWriterTest.java | 4 ++-- .../yang/data/impl/schema/Builders.java | 6 ++--- .../data/impl/schema/InstanceIdToNodes.java | 9 ++++---- .../impl/ImmutableAnyXmlNodeBuilder.java | 11 +++++---- ...ImmutableAnyXmlNodeSchemaAwareBuilder.java | 8 +++---- ...mutableNormalizedNodeStreamWriterTest.java | 4 ++-- 12 files changed, 50 insertions(+), 39 deletions(-) rename yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/{AnyXmlNode.java => DOMSourceAnyxmlNode.java} (87%) diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/AnyXmlNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/DOMSourceAnyxmlNode.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 3d680ce83a..b5be957c13 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/AnyXmlNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/DOMSourceAnyxmlNode.java @@ -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 { +public interface DOMSourceAnyxmlNode extends AnyxmlNode { @Override default Class getValueObjectModel() { return DOMSource.class; diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/ForeignDataNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/ForeignDataNode.java index 0db638ac6d..0b9d7c4537 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/ForeignDataNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/ForeignDataNode.java @@ -26,8 +26,8 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum @Beta public interface ForeignDataNode extends DataContainerChild { /** - * 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 */ diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriter.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriter.java index 27c6db5aa9..d031902522 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriter.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriter.java @@ -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) { diff --git a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java index a97f8206ef..1fd932b6c9 100644 --- a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java +++ b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java @@ -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)); diff --git a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java index f7d3193a96..ce6b8a0cf3 100644 --- a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java +++ b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java @@ -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 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(); } diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/AnyXmlWithParamsParsingTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/AnyXmlWithParamsParsingTest.java index 9089df140e..6c33dd77d9 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/AnyXmlWithParamsParsingTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/AnyXmlWithParamsParsingTest.java @@ -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 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(); diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriterTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriterTest.java index 8391587e53..d2daa1f086 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriterTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriterTest.java @@ -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( diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/Builders.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/Builders.java index b9b1d5c64f..8c0f927210 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/Builders.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/Builders.java @@ -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 anyXmlBuilder() { + public static NormalizedNodeBuilder anyXmlBuilder() { return ImmutableAnyXmlNodeBuilder.create(); } - public static NormalizedNodeBuilder anyXmlBuilder( + public static NormalizedNodeBuilder anyXmlBuilder( final AnyXmlSchemaNode schema) { return ImmutableAnyXmlNodeSchemaAwareBuilder.create(schema); } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToNodes.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToNodes.java index a944452d54..c9e9b258b4 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToNodes.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToNodes.java @@ -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 extends AbstractIdentif @Override NormalizedNode create(final PathArgument first, final Iterator others, final Optional> deepestChild) { - final NormalizedNodeBuilder builder = Builders.anyXmlBuilder() + final NormalizedNodeBuilder 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(); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAnyXmlNodeBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAnyXmlNodeBuilder.java index 987a1cdd51..18aa8151e8 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAnyXmlNodeBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAnyXmlNodeBuilder.java @@ -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 { + extends AbstractImmutableNormalizedNodeBuilder { - public static @NonNull NormalizedNodeBuilder create() { + public static @NonNull NormalizedNodeBuilder create() { return new ImmutableAnyXmlNodeBuilder(); } @Override - public AnyXmlNode build() { + public DOMSourceAnyxmlNode build() { return new ImmutableXmlNode(getNodeIdentifier(), getValue()); } private static final class ImmutableXmlNode - extends AbstractImmutableNormalizedSimpleValueNode implements AnyXmlNode { + extends AbstractImmutableNormalizedSimpleValueNode + implements DOMSourceAnyxmlNode { ImmutableXmlNode(final NodeIdentifier nodeIdentifier, final DOMSource value) { super(nodeIdentifier, value); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAnyXmlNodeSchemaAwareBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAnyXmlNodeSchemaAwareBuilder.java index 884422e7fe..0ebe62031e 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAnyXmlNodeSchemaAwareBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAnyXmlNodeSchemaAwareBuilder.java @@ -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 create( + public static @NonNull NormalizedNodeBuilder create( final AnyXmlSchemaNode schema) { return new ImmutableAnyXmlNodeSchemaAwareBuilder(schema); } @Override - public NormalizedNodeBuilder withValue(final DOMSource withValue) { + public NormalizedNodeBuilder withValue(final DOMSource withValue) { return super.withValue(withValue); } @Override - public NormalizedNodeBuilder withNodeIdentifier( + public NormalizedNodeBuilder withNodeIdentifier( final NodeIdentifier withNodeIdentifier) { throw new UnsupportedOperationException("Node identifier created from schema"); } diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriterTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriterTest.java index eee70541ea..2596012094 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriterTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriterTest.java @@ -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( -- 2.36.6