This bumps yangtools to 4.0.1 as part of Magnesium MRI.
Change-Id: I1ac7d3f856af310f4e8015875223d30eac3a8276
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
private void streamAnyxml(final NormalizedNodeStreamWriter writer) throws IOException {
final NodeIdentifier identifier = readNodeIdentifier();
LOG.trace("Streaming anyxml node {}", identifier);
- writer.startAnyxmlNode(identifier);
- writer.domSourceValue(readDOMSource());
- writer.endNode();
+
+ final DOMSource value = readDOMSource();
+ if (writer.startAnyxmlNode(identifier, DOMSource.class)) {
+ writer.domSourceValue(value);
+ writer.endNode();
+ }
}
private void streamAugmentation(final NormalizedNodeStreamWriter writer) throws IOException {
}
@Override
- public final void startAnyxmlNode(final NodeIdentifier name) throws IOException {
- LOG.trace("Starting any xml node");
- startNode(name, LithiumNode.ANY_XML_NODE);
- inSimple = true;
+ public final boolean startAnyxmlNode(final NodeIdentifier name, final Class<?> objectModel) throws IOException {
+ if (DOMSource.class.isAssignableFrom(objectModel)) {
+ LOG.trace("Starting anyxml node");
+ startNode(name, LithiumNode.ANY_XML_NODE);
+ inSimple = true;
+ return true;
+ }
+ return false;
}
@Override
private void streamAnyxml(final NormalizedNodeStreamWriter writer, final byte nodeHeader) throws IOException {
final NodeIdentifier identifier = decodeNodeIdentifier(nodeHeader);
LOG.trace("Streaming anyxml node {}", identifier);
- writer.startAnyxmlNode(identifier);
- writer.domSourceValue(readDOMSource());
- writer.endNode();
+
+ final DOMSource value = readDOMSource();
+ if (writer.startAnyxmlNode(identifier, DOMSource.class)) {
+ writer.domSourceValue(value);
+ writer.endNode();
+ }
}
private void streamAnyxmlModeled(final NormalizedNodeStreamWriter writer, final byte nodeHeader)
}
@Override
- public final void startAnyxmlNode(final NodeIdentifier name) throws IOException {
- startSimpleNode(MagnesiumNode.NODE_ANYXML, name);
+ public final boolean startAnyxmlNode(final NodeIdentifier name, final Class<?> objectModel) throws IOException {
+ if (DOMSource.class.isAssignableFrom(objectModel)) {
+ startSimpleNode(MagnesiumNode.NODE_ANYXML, name);
+ return true;
+ }
+ return false;
}
@Override
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+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.NormalizedNode;
import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
}
}
+ @Override
+ public final boolean startAnydataNode(final NodeIdentifier name, final Class<?> objectModel) throws IOException {
+ // FIXME: We do not support anydata nodes of any kind, yet
+ return false;
+ }
+
abstract short streamVersion();
abstract void writeQNameInternal(@NonNull QName qname) throws IOException;
package org.opendaylight.controller.cluster.datastore.node.utils.transformer;
import static com.google.common.base.Preconditions.checkState;
+import static com.google.common.base.Verify.verify;
import static java.util.Objects.requireNonNull;
import java.io.IOException;
}
@Override
- public void startAnyxmlNode(final NodeIdentifier name) throws IOException {
- enter(ReusableImmutableNormalizedNodeStreamWriter::startAnyxmlNode, name);
+ public boolean startAnyxmlNode(final NodeIdentifier name, final Class<?> objectModel) throws IOException {
+ if (enter(name)) {
+ verify(delegate.startAnyxmlNode(name, objectModel),
+ "Unexpected failure to stream DOMSource node %s model %s", name, objectModel);
+ }
+ return true;
+ }
+
+ @Override
+ public boolean startAnydataNode(final NodeIdentifier name, final Class<?> objectModel) throws IOException {
+ // FIXME: we do not support anydata nodes yet
+ return false;
}
@Override