public static byte [] serializeNormalizedNode(NormalizedNode<?, ?> node) { ByteArrayOutputStream bos = new ByteArrayOutputStream(); serializeNormalizedNode(node, new DataOutputStream(bos)); return bos.toByteArray(); }
@Override public void writeExternal(ObjectOutput out) { SerializationUtils.serializeNormalizedNode(rpcResponse.getResultNormalizedNode(), out); }
@Override public void writeExternal(ObjectOutput out) throws IOException { out.writeObject(executeRpc.getRpc()); SerializationUtils.serializeNormalizedNode(executeRpc.getInputNormalizedNode(), out); }
@Test public void testSerializeDeserializeNodes() { final NormalizedNode<?, ?> normalizedNode = createNormalizedNode(); final byte[] bytes = SerializationUtils.serializeNormalizedNode(normalizedNode); Assert.assertEquals(normalizedNode, SerializationUtils.deserializeNormalizedNode(bytes)); }
@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()); }