From 97c2c0756150bb5b23ec4fd6c55fca51957eb369 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 30 Aug 2019 14:50:06 +0200 Subject: [PATCH] Integrate AnydataExtension anydata is the same as anyxml, it should be integrated into NormalizedNodeStreamWriter. Also update FIXME around startAnyxmlNode() and domSourceValue(). Change-Id: Ia39515a884d1a6883fce72444b8371c4d9f7b9c1 Signed-off-by: Robert Varga --- .../api/schema/stream/AnydataExtension.java | 32 ------------------- .../ForwardingNormalizedNodeStreamWriter.java | 5 +++ .../LoggingNormalizedNodeStreamWriter.java | 7 ++++ .../stream/NormalizedNodeStreamWriter.java | 17 ++++++++-- .../schema/stream/NormalizedNodeWriter.java | 21 +++++------- .../gson/JSONNormalizedNodeStreamWriter.java | 11 ++----- .../XMLStreamNormalizedNodeStreamWriter.java | 12 ++----- ...bleMetadataNormalizedNodeStreamWriter.java | 10 ++---- ...eMountPointNormalizedNodeStreamWriter.java | 10 ++---- .../ImmutableNormalizedNodeStreamWriter.java | 11 +------ .../data/util/AnydataNodeDataWithSchema.java | 12 +++---- 11 files changed, 49 insertions(+), 99 deletions(-) delete mode 100644 yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/AnydataExtension.java diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/AnydataExtension.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/AnydataExtension.java deleted file mode 100644 index 388d36504e..0000000000 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/AnydataExtension.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2019 PANTHEON.tech, 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.yang.data.api.schema.stream; - -import com.google.common.annotations.Beta; -import java.io.IOException; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; - -/** - * A {@link NormalizedNodeStreamWriterExtension} supporting streaming of {@code anydata} nodes. - * - * @author Robert Varga - */ -@Beta -// FIXME: 4.0.0: integrate this into NormalizedNodeStreamWriter -public interface AnydataExtension extends NormalizedNodeStreamWriterExtension { - /** - * Start emitting a new anydata node identified by name. - * - * @param name The name of the anydata element - * @param objectModel The object model of anydata content - * @return True if the specified object model is supported by this extension and the process of emitting the node - * has started. False if the object model is not supported and the node has not started to be emitted. - * @throws IOException if an underlying IO error occurs - */ - boolean startAnydataNode(NodeIdentifier name, Class objectModel) throws IOException; -} diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/ForwardingNormalizedNodeStreamWriter.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/ForwardingNormalizedNodeStreamWriter.java index c38fe5ca1b..aa7663442a 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/ForwardingNormalizedNodeStreamWriter.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/ForwardingNormalizedNodeStreamWriter.java @@ -97,6 +97,11 @@ public abstract class ForwardingNormalizedNodeStreamWriter extends ForwardingObj delegate().startYangModeledAnyXmlNode(name, childSizeHint); } + @Override + public boolean startAnydataNode(final NodeIdentifier name, final Class objectModel) throws IOException { + return delegate().startAnydataNode(name, objectModel); + } + @Override public void endNode() throws IOException { delegate().endNode(); diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/LoggingNormalizedNodeStreamWriter.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/LoggingNormalizedNodeStreamWriter.java index 03c1f5b811..db4952b1dc 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/LoggingNormalizedNodeStreamWriter.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/LoggingNormalizedNodeStreamWriter.java @@ -135,6 +135,13 @@ public final class LoggingNormalizedNodeStreamWriter implements NormalizedNodeSt incIndent(); } + @Override + public boolean startAnydataNode(final NodeIdentifier name, final Class objectModel) { + LOG.debug("{}{}(anydata)", ind(), name); + incIndent(); + return true; + } + @Override public void startYangModeledAnyXmlNode(final NodeIdentifier name, final int childSizeHint) { LOG.debug("{}{}(yangModeledAnyXml)", ind(), name); diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java index 68d6c40aa2..5f06ab7adb 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.data.api.schema.stream; import static java.util.Objects.requireNonNull; +import com.google.common.annotations.Beta; import java.io.Closeable; import java.io.Flushable; import java.io.IOException; @@ -300,7 +301,17 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable, */ void startAugmentationNode(AugmentationIdentifier identifier) throws IOException; - //// + /** + * Start emitting a new anydata node identified by name. + * + * @param name The name of the anydata element + * @param objectModel The object model of anydata content + * @return True if the specified object model is supported by this extension and the process of emitting the node + * has started. False if the object model is not supported and the node has not started to be emitted. + * @throws IOException if an underlying IO error occurs + */ + @Beta + boolean startAnydataNode(NodeIdentifier name, Class objectModel) throws IOException; /** * Emits a start of anyxml node event. @@ -312,7 +323,7 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable, * node. * @throws IOException if an underlying IO error occurs */ - // FIXME: 4.0.0: this method should live in a separate NormalizedNodeStreamWriterExtension + // FIXME: 4.0.0: this should follow the startAnydataNode template void startAnyxmlNode(NodeIdentifier name) throws IOException; /** @@ -325,7 +336,7 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable, * implementation does not allow resetting the value. * @throws IOException if an underlying IO error occurs */ - // FIXME: 4.0.0: this method should live in a separate NormalizedNodeStreamWriterExtension + // FIXME: 5.0.0: this probably should integrated with scalarValue() void domSourceValue(DOMSource value) throws IOException; /** 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 d031902522..96500be754 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 @@ -161,20 +161,15 @@ public class NormalizedNodeWriter implements Closeable, Flushable { LOG.debug("Ignoring unhandled anyxml node {}", anyxmlNode); } else if (node instanceof AnydataNode) { - final AnydataExtension ext = writer.getExtensions().getInstance(AnydataExtension.class); - if (ext != null) { - final AnydataNode anydata = (AnydataNode) node; - final Class model = anydata.getValueObjectModel(); - if (ext.startAnydataNode(anydata.getIdentifier(), model)) { - writer.scalarValue(anydata.getValue()); - writer.endNode(); - return true; - } - - LOG.debug("Writer {} does not support anydata in form of {}", writer, model); - } else { - LOG.debug("Writer {} does not support anydata", writer); + final AnydataNode anydata = (AnydataNode) node; + final Class model = anydata.getValueObjectModel(); + if (writer.startAnydataNode(anydata.getIdentifier(), model)) { + writer.scalarValue(anydata.getValue()); + writer.endNode(); + return true; } + + LOG.debug("Writer {} does not support anydata in form of {}", writer, model); } return false; diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONNormalizedNodeStreamWriter.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONNormalizedNodeStreamWriter.java index 6d3ba419fa..8f509dc671 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONNormalizedNodeStreamWriter.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONNormalizedNodeStreamWriter.java @@ -13,13 +13,13 @@ import static org.w3c.dom.Node.ELEMENT_NODE; import static org.w3c.dom.Node.TEXT_NODE; import com.google.common.collect.ClassToInstanceMap; +import com.google.common.collect.ImmutableClassToInstanceMap; import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.net.URI; import java.util.regex.Pattern; import javax.xml.transform.dom.DOMSource; import org.checkerframework.checker.regex.qual.Regex; -import org.opendaylight.yangtools.concepts.ObjectExtensions; import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext; import org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier; import org.opendaylight.yangtools.rfc8528.data.api.MountPointStreamWriter; @@ -28,7 +28,6 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent 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.NormalizedAnydata; -import org.opendaylight.yangtools.yang.data.api.schema.stream.AnydataExtension; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterExtension; import org.opendaylight.yangtools.yang.data.impl.codec.SchemaTracker; @@ -52,7 +51,7 @@ import org.w3c.dom.Text; *

* Values of leaf and leaf-list are NOT translated according to codecs. */ -public abstract class JSONNormalizedNodeStreamWriter implements NormalizedNodeStreamWriter, AnydataExtension, +public abstract class JSONNormalizedNodeStreamWriter implements NormalizedNodeStreamWriter, MountPointStreamWriter { private static final class Exclusive extends JSONNormalizedNodeStreamWriter { Exclusive(final JSONCodecFactory codecFactory, final SchemaTracker tracker, final JsonWriter writer, @@ -86,10 +85,6 @@ public abstract class JSONNormalizedNodeStreamWriter implements NormalizedNodeSt */ private static final boolean DEFAULT_EMIT_EMPTY_CONTAINERS = true; - static final ObjectExtensions.Factory EXTENSIONS_BUILDER = ObjectExtensions.factory( - JSONNormalizedNodeStreamWriter.class, AnydataExtension.class, MountPointStreamWriter.class); - @Regex private static final String NUMBER_STRING = "-?\\d+(\\.\\d+)?"; private static final Pattern NUMBER_PATTERN = Pattern.compile(NUMBER_STRING); @@ -217,7 +212,7 @@ public abstract class JSONNormalizedNodeStreamWriter implements NormalizedNodeSt @Override public ClassToInstanceMap getExtensions() { - return EXTENSIONS_BUILDER.newInstance(this); + return ImmutableClassToInstanceMap.of(MountPointStreamWriter.class, this); } @Override diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamNormalizedNodeStreamWriter.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamNormalizedNodeStreamWriter.java index e9cdabd634..2c08cfd0ce 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamNormalizedNodeStreamWriter.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamNormalizedNodeStreamWriter.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.data.codec.xml; import static java.util.Objects.requireNonNull; import com.google.common.collect.ClassToInstanceMap; +import com.google.common.collect.ImmutableClassToInstanceMap; import com.google.common.collect.ImmutableMap; import java.io.IOException; import java.util.Map.Entry; @@ -19,14 +20,12 @@ import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; import javax.xml.transform.dom.DOMSource; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.concepts.ObjectExtensions; import org.opendaylight.yangtools.rfc7952.data.api.NormalizedMetadataStreamWriter; import org.opendaylight.yangtools.yang.common.QName; 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.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedAnydata; -import org.opendaylight.yangtools.yang.data.api.schema.stream.AnydataExtension; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterExtension; import org.opendaylight.yangtools.yang.data.impl.codec.SchemaTracker; @@ -51,15 +50,10 @@ import org.w3c.dom.Node; * removed in a future version. */ public abstract class XMLStreamNormalizedNodeStreamWriter implements NormalizedNodeStreamWriter, - NormalizedMetadataStreamWriter, AnydataExtension { + NormalizedMetadataStreamWriter { private static final Logger LOG = LoggerFactory.getLogger(XMLStreamNormalizedNodeStreamWriter.class); private static final Set BROKEN_ATTRIBUTES = ConcurrentHashMap.newKeySet(); - @SuppressWarnings("rawtypes") - static final ObjectExtensions.Factory EXTENSIONS_BUILDER = ObjectExtensions.factory( - XMLStreamNormalizedNodeStreamWriter.class, NormalizedMetadataStreamWriter.class, AnydataExtension.class); - private final @NonNull StreamWriterFacade facade; XMLStreamNormalizedNodeStreamWriter(final XMLStreamWriter writer) { @@ -118,7 +112,7 @@ public abstract class XMLStreamNormalizedNodeStreamWriter implements Normaliz @Override public final ClassToInstanceMap getExtensions() { - return EXTENSIONS_BUILDER.newInstance(this); + return ImmutableClassToInstanceMap.of(NormalizedMetadataStreamWriter.class, this); } abstract void startAnydata(NodeIdentifier name); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableMetadataNormalizedNodeStreamWriter.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableMetadataNormalizedNodeStreamWriter.java index de8f703658..5517aebc94 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableMetadataNormalizedNodeStreamWriter.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableMetadataNormalizedNodeStreamWriter.java @@ -12,20 +12,18 @@ import static java.util.Objects.requireNonNull; import com.google.common.annotations.Beta; import com.google.common.collect.ClassToInstanceMap; +import com.google.common.collect.ImmutableClassToInstanceMap; import com.google.common.collect.ImmutableMap; import java.io.IOException; import java.util.ArrayDeque; import java.util.Deque; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.concepts.ObjectExtensions; -import org.opendaylight.yangtools.concepts.ObjectExtensions.Factory; import org.opendaylight.yangtools.rfc7952.data.api.NormalizedMetadata; import org.opendaylight.yangtools.rfc7952.data.api.NormalizedMetadataStreamWriter; import org.opendaylight.yangtools.rfc7952.data.util.ImmutableNormalizedMetadata; import org.opendaylight.yangtools.rfc7952.data.util.ImmutableNormalizedMetadata.Builder; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; -import org.opendaylight.yangtools.yang.data.api.schema.stream.AnydataExtension; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterExtension; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeBuilder; @@ -57,10 +55,6 @@ public class ImmutableMetadataNormalizedNodeStreamWriter extends ImmutableNormal } } - private static final Factory - EXTENSIONS_FACTORY = ObjectExtensions.factory(ImmutableMetadataNormalizedNodeStreamWriter.class, - AnydataExtension.class, NormalizedMetadataStreamWriter.class); - private final Deque builders = new ArrayDeque<>(); private final NormalizedNodeMetadataResult result; @@ -77,7 +71,7 @@ public class ImmutableMetadataNormalizedNodeStreamWriter extends ImmutableNormal @Override public final ClassToInstanceMap getExtensions() { - return EXTENSIONS_FACTORY.newInstance(this); + return ImmutableClassToInstanceMap.of(NormalizedMetadataStreamWriter.class, this); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableMountPointNormalizedNodeStreamWriter.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableMountPointNormalizedNodeStreamWriter.java index 42ffd3df8a..18ecdaf30f 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableMountPointNormalizedNodeStreamWriter.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableMountPointNormalizedNodeStreamWriter.java @@ -9,16 +9,14 @@ package org.opendaylight.yangtools.yang.data.impl.schema; import com.google.common.annotations.Beta; import com.google.common.collect.ClassToInstanceMap; +import com.google.common.collect.ImmutableClassToInstanceMap; import java.io.IOException; -import org.opendaylight.yangtools.concepts.ObjectExtensions; -import org.opendaylight.yangtools.concepts.ObjectExtensions.Factory; import org.opendaylight.yangtools.rcf8528.data.util.ImmutableMountPointNode; import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext; import org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier; import org.opendaylight.yangtools.rfc8528.data.api.MountPointStreamWriter; 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.AnydataExtension; import org.opendaylight.yangtools.yang.data.api.schema.stream.ForwardingNormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterExtension; @@ -27,17 +25,13 @@ import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStre @Beta public abstract class ImmutableMountPointNormalizedNodeStreamWriter extends ImmutableNormalizedNodeStreamWriter implements MountPointStreamWriter { - private static final Factory - EXTENSIONS_FACTORY = ObjectExtensions.factory(ImmutableMountPointNormalizedNodeStreamWriter.class, - AnydataExtension.class, MountPointStreamWriter.class); - protected ImmutableMountPointNormalizedNodeStreamWriter(final NormalizedNodeResult result) { super(result); } @Override public final ClassToInstanceMap getExtensions() { - return EXTENSIONS_FACTORY.newInstance(this); + return ImmutableClassToInstanceMap.of(MountPointStreamWriter.class, this); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java index 852019175f..9cce8db57b 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java @@ -11,8 +11,6 @@ import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkState; import static java.util.Objects.requireNonNull; -import com.google.common.collect.ClassToInstanceMap; -import com.google.common.collect.ImmutableClassToInstanceMap; import java.io.IOException; import java.util.ArrayDeque; import java.util.Deque; @@ -25,9 +23,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.stream.AnydataExtension; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; -import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterExtension; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeContainerBuilder; @@ -63,7 +59,7 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; *

* This class is not final for purposes of customization, normal users should not need to subclass it. */ -public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStreamWriter, AnydataExtension { +public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStreamWriter { @SuppressWarnings("rawtypes") private final Deque builders = new ArrayDeque<>(); @@ -138,11 +134,6 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream return new ImmutableMetadataNormalizedNodeStreamWriter(result); } - @Override - public ClassToInstanceMap getExtensions() { - return ImmutableClassToInstanceMap.of(AnydataExtension.class, this); - } - @Override public void startLeafNode(final NodeIdentifier name) { checkDataNodeContainer(); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AnydataNodeDataWithSchema.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AnydataNodeDataWithSchema.java index 2c67cab29b..035429c39e 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AnydataNodeDataWithSchema.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AnydataNodeDataWithSchema.java @@ -15,7 +15,6 @@ import com.google.common.annotations.Beta; import java.io.IOException; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.rfc7952.data.api.NormalizedMetadataStreamWriter; -import org.opendaylight.yangtools.yang.data.api.schema.stream.AnydataExtension; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.model.api.AnydataSchemaNode; @@ -47,13 +46,10 @@ public class AnydataNodeDataWithSchema extends SimpleNodeDataWithSchema