From 5ccf10646587d0bc8ebb55da984c6b18ca8c17da Mon Sep 17 00:00:00 2001 From: Peter Kajsa Date: Wed, 11 Nov 2015 14:53:34 +0100 Subject: [PATCH] Bug 3874: Support of yang modeled AnyXML Controller changes due to anyXml support in Yangtools. Notice: Yangtools patch and Controller patch should be merged at once. Change-Id: I4ff9ef4a0e03f6ad9b30c2a35b97b3a6fa1793d9 Signed-off-by: Peter Kajsa --- .../cluster/datastore/node/utils/stream/NodeTypes.java | 1 + .../utils/stream/NormalizedNodeOutputStreamWriter.java | 9 +++++++++ .../node/utils/transformer/NormalizedNodePruner.java | 8 ++++++++ 3 files changed, 18 insertions(+) diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NodeTypes.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NodeTypes.java index 83497e6832..6b71fac485 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NodeTypes.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NodeTypes.java @@ -22,6 +22,7 @@ final class NodeTypes { public static final byte AUGMENTATION_NODE = 11; public static final byte ANY_XML_NODE = 12; public static final byte END_NODE = 13; + public static final byte YANG_MODELED_ANY_XML_NODE = 14; private NodeTypes() { throw new UnsupportedOperationException("utility class"); diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeOutputStreamWriter.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeOutputStreamWriter.java index 670d3e513e..9ff7457298 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeOutputStreamWriter.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeOutputStreamWriter.java @@ -127,6 +127,15 @@ public class NormalizedNodeOutputStreamWriter implements NormalizedNodeStreamWri startNode(name.getNodeType(), NodeTypes.CONTAINER_NODE); } + @Override + public void startYangModeledAnyXmlNode(YangInstanceIdentifier.NodeIdentifier name, int childSizeHint) throws IOException, IllegalArgumentException { + Preconditions.checkNotNull(name, "Node identifier should not be null"); + + LOG.debug("Starting a new yang modeled anyXml node"); + + startNode(name.getNodeType(), NodeTypes.YANG_MODELED_ANY_XML_NODE); + } + @Override public void startUnkeyedList(YangInstanceIdentifier.NodeIdentifier name, int childSizeHint) throws IOException, IllegalArgumentException { Preconditions.checkNotNull(name, "Node identifier should not be null"); diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/NormalizedNodePruner.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/NormalizedNodePruner.java index 6877a54a8a..d6f09973f5 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/NormalizedNodePruner.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/NormalizedNodePruner.java @@ -10,13 +10,16 @@ package org.opendaylight.controller.cluster.datastore.node.utils.transformer; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; + import java.io.IOException; import java.net.URI; import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Set; + import javax.xml.transform.dom.DOMSource; + import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -97,6 +100,11 @@ public class NormalizedNodePruner implements NormalizedNodeStreamWriter { addBuilder(Builders.containerBuilder().withNodeIdentifier(nodeIdentifier), nodeIdentifier); } + @Override + public void startYangModeledAnyXmlNode(YangInstanceIdentifier.NodeIdentifier nodeIdentifier, int i) throws IOException, IllegalArgumentException { + throw new UnsupportedOperationException("Not implemented yet"); + } + @Override public void startUnkeyedList(YangInstanceIdentifier.NodeIdentifier nodeIdentifier, int i) throws IOException, IllegalArgumentException { -- 2.36.6