import org.opendaylight.yangtools.util.xml.UntrustedXML;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier;
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.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;
public void testSerializeDeserializeNodes() throws IOException {
final NormalizedNode<?, ?> normalizedNode = createNormalizedNode();
final byte[] bytes = serializeNormalizedNode(normalizedNode);
- assertEquals(10774, bytes.length);
+ assertEquals(10564, bytes.length);
assertEquals(normalizedNode, deserializeNormalizedNode(bytes));
}
final ByteArrayInputStream is =
new ByteArrayInputStream("<xml><data/></xml>".getBytes(Charset.defaultCharset()));
final Document parse = UntrustedXML.newDocumentBuilder().parse(is);
- final AnyXmlNode anyXmlNode = Builders.anyXmlBuilder()
+ final DOMSourceAnyxmlNode anyXmlNode = Builders.anyXmlBuilder()
.withNodeIdentifier(id("anyXmlNode"))
.withValue(new DOMSource(parse))
.build();
final byte[] bytes = serializeNormalizedNode(anyXmlNode);
- assertEquals(115, bytes.length);
+ assertEquals(113, bytes.length);
final NormalizedNode<?, ?> deserialized = deserializeNormalizedNode(bytes);
final DOMSource value = (DOMSource) deserialized.getValue();
final Diff diff = XMLUnit.compareXML((Document) anyXmlNode.getValue().getNode(),
SerializationUtils.writePath(out, path);
final byte[] bytes = bos.toByteArray();
- assertEquals(150, bytes.length);
+ assertEquals(119, bytes.length);
final YangInstanceIdentifier deserialized =
SerializationUtils.readPath(new DataInputStream(new ByteArrayInputStream(bytes)));
SerializationUtils.writeNodeAndPath(out, path, node);
final byte[] bytes = bos.toByteArray();
- assertEquals(10783, bytes.length);
+ assertEquals(10566, bytes.length);
final DataInputStream in = new DataInputStream(new ByteArrayInputStream(bytes));
final AtomicBoolean applierCalled = new AtomicBoolean(false);
assertTrue(applierCalled.get());
}
+ @Test
+ public void testSerializeDeserializeAugmentNoref() throws IOException {
+ final YangInstanceIdentifier expected = YangInstanceIdentifier.create(
+ AugmentationIdentifier.create(ImmutableSet.of(
+ QName.create("foo", "leaf1"),
+ QName.create("bar", "leaf2"))));
+
+ final ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ final DataOutput out = new DataOutputStream(bos);
+ SerializationUtils.writePath(out, expected);
+
+ final byte[] bytes = bos.toByteArray();
+ assertEquals(37, bytes.length);
+
+ final DataInputStream in = new DataInputStream(new ByteArrayInputStream(bytes));
+ final YangInstanceIdentifier read = SerializationUtils.readPath(in);
+ assertEquals(expected, read);
+ }
+
private static NormalizedNode<?, ?> deserializeNormalizedNode(final byte[] bytes) throws IOException {
return SerializationUtils.readNormalizedNode(new DataInputStream(new ByteArrayInputStream(bytes))).get();
}
final LeafNode<String> stringLeaf = createLeaf("stringLeaf", "stringValue");
final LeafNode<String> longStringLeaf = createLeaf("longStringLeaf", getLongString());
final LeafNode<QName> qNameLeaf = createLeaf("stringLeaf", QName.create("base", "qName"));
- final LeafNode<YangInstanceIdentifier> idLeaf = createLeaf("stringLeaf", YangInstanceIdentifier.EMPTY);
+ final LeafNode<YangInstanceIdentifier> idLeaf = createLeaf("stringLeaf", YangInstanceIdentifier.empty());
final MapEntryNode entry1 = Builders.mapEntryBuilder()
.withNodeIdentifier(listId("mapNode", "key", "key1"))
.withChild(stringLeaf)
}
return builder.toString();
}
-}
\ No newline at end of file
+}