@Test public void testSerializeDeserializePath() { final ByteArrayOutputStream bos = new ByteArrayOutputStream(); final DataOutput out = new DataOutputStream(bos); final YangInstanceIdentifier path = YangInstanceIdentifier.builder() .node(id("container1")) .node(autmentationId("list1", "list2")) .node(listId("list1", "keyName1", "keyValue1")) .node(leafSetId("leafSer1", "leafSetValue1")) .build(); SerializationUtils.serializePath(path, out); final YangInstanceIdentifier deserialized = SerializationUtils.deserializePath(new DataInputStream(new ByteArrayInputStream(bos.toByteArray()))); Assert.assertEquals(path, deserialized); }
@Test public void testSerializeDeserializePathAndNode() { final ByteArrayOutputStream bos = new ByteArrayOutputStream(); final DataOutput out = new DataOutputStream(bos); final NormalizedNode<?, ?> node = createNormalizedNode(); final YangInstanceIdentifier path = YangInstanceIdentifier.create(id("container1")); SerializationUtils.serializePathAndNode(path, node, out); final DataInputStream in = new DataInputStream(new ByteArrayInputStream(bos.toByteArray())); final AtomicBoolean applierCalled = new AtomicBoolean(false); SerializationUtils.deserializePathAndNode(in, applierCalled, (instance, deserializedPath, deserializedNode) -> { Assert.assertEquals(path, deserializedPath); Assert.assertEquals(node, deserializedNode); applierCalled.set(true); }); Assert.assertTrue(applierCalled.get()); }
private static NormalizedNode<?, ?> createNormalizedNode() { final LeafSetNode<Object> leafSetNode = Builders.leafSetBuilder() .withNodeIdentifier(id("leafSetNode")) .withChild(createLeafSetEntry("leafSetNode", "leafSetValue1")) .withChild(createLeafSetEntry("leafSetNode", "leafSetValue2")) .build(); final LeafSetNode<Object> orderedLeafSetNode = Builders.orderedLeafSetBuilder() .withNodeIdentifier(id("orderedLeafSetNode")) .withChild(createLeafSetEntry("orderedLeafSetNode", "value1")) .withChild(createLeafSetEntry("orderedLeafSetNode", "value2")) .build(); final LeafNode<Boolean> booleanLeaf = createLeaf("booleanLeaf", true); final LeafNode<Byte> byteLeaf = createLeaf("byteLeaf", (byte) 0); final LeafNode<Short> shortLeaf = createLeaf("shortLeaf", (short) 55); final LeafNode<Integer> intLeaf = createLeaf("intLeaf", 11); final LeafNode<Long> longLeaf = createLeaf("longLeaf", 151515L); 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 MapEntryNode entry1 = Builders.mapEntryBuilder() .withNodeIdentifier(listId("mapNode", "key", "key1")) .withChild(stringLeaf) .build(); final MapEntryNode entry2 = Builders.mapEntryBuilder() .withNodeIdentifier(listId("mapNode", "key", "key2")) .withChild(stringLeaf) .build(); final MapNode mapNode = Builders.mapBuilder() .withNodeIdentifier(id("mapNode"))
private static <T> LeafNode<T> createLeaf(final String name, final T value) { return ImmutableNodes.leafNode(id(name), value); }
@Test public void testSerializeDeserializeNodes() { final NormalizedNode<?, ?> normalizedNode = createNormalizedNode(); final byte[] bytes = SerializationUtils.serializeNormalizedNode(normalizedNode); Assert.assertEquals(normalizedNode, SerializationUtils.deserializeNormalizedNode(bytes)); }
private static LeafSetEntryNode<Object> createLeafSetEntry(final String leafSet, final String value) { return Builders.leafSetEntryBuilder() .withNodeIdentifier(leafSetId(leafSet, value)) .withValue(value) .build(); }
@Test public void testSerializeDeserializeAnyXmlNode() throws Exception { final ByteArrayInputStream is = new ByteArrayInputStream("<xml><data/></xml>".getBytes(Charset.defaultCharset())); final Document parse = UntrustedXML.newDocumentBuilder().parse(is); final AnyXmlNode anyXmlNode = Builders.anyXmlBuilder() .withNodeIdentifier(id("anyXmlNode")) .withValue(new DOMSource(parse)) .build(); final byte[] bytes = SerializationUtils.serializeNormalizedNode(anyXmlNode); final NormalizedNode<?, ?> deserialized = SerializationUtils.deserializeNormalizedNode(bytes); final DOMSource value = (DOMSource) deserialized.getValue(); final Diff diff = XMLUnit.compareXML((Document) anyXmlNode.getValue().getNode(), value.getNode().getOwnerDocument()); Assert.assertTrue(diff.toString(), diff.similar()); }