@Override public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException { final NormalizedNodeDataInput dataInput = NormalizedNodeInputOutput.newDataInput(in); identifier = dataInput.readYangInstanceIdentifier(); node = dataInput.readNormalizedNode(); } }
@Override public NormalizedNode<?, ?> readNormalizedNode() throws IOException { readSignatureMarkerAndVersionIfNeeded(); return readNormalizedNodeInternal(); }
@Override public void writeYangInstanceIdentifier(final YangInstanceIdentifier identifier) throws IOException { ensureHeaderWritten(); writeYangInstanceIdentifierInternal(identifier); }
@Override public final void writeExternal(final ObjectOutput out) throws IOException { super.writeExternal(out); try (NormalizedNodeDataOutput nnout = NormalizedNodeInputOutput.newDataOutput(out)) { nnout.writeYangInstanceIdentifier(path); } }
public static <T> void deserializePathAndNode(DataInput in, T instance, Applier<T> applier) { try { NormalizedNodeDataInput streamReader = streamReader(in); NormalizedNode<?, ?> node = streamReader.readNormalizedNode(); YangInstanceIdentifier path = streamReader.readYangInstanceIdentifier(); applier.apply(instance, path, node); } catch (IOException e) { throw new IllegalArgumentException("Error deserializing path and Node", e); } }
@Override public final void readExternal(final ObjectInput in) throws ClassNotFoundException, IOException { super.readExternal(in); path = NormalizedNodeInputOutput.newDataInput(in).readYangInstanceIdentifier(); }
private void readObject(final ObjectInputStream stream) throws IOException { NormalizedNodeDataInput reader = NormalizedNodeInputOutput.newDataInput(stream); this.input = reader.readNormalizedNode(); }
public static YangInstanceIdentifier deserializePath(DataInput in) { try { NormalizedNodeDataInput streamReader = streamReader(in); return streamReader.readYangInstanceIdentifier(); } catch (IOException e) { throw new IllegalArgumentException("Error deserializing path", e); } } }
private static NormalizedNode<?, ?> tryDeserializeNormalizedNode(DataInput in) throws IOException { boolean present = in.readBoolean(); if (present) { NormalizedNodeDataInput streamReader = streamReader(in); return streamReader.readNormalizedNode(); } return null; }
@Test public void testSerializeDeserializeNodes() { final NormalizedNode<?, ?> normalizedNode = createNormalizedNode(); final byte[] bytes = SerializationUtils.serializeNormalizedNode(normalizedNode); Assert.assertEquals(normalizedNode, SerializationUtils.deserializeNormalizedNode(bytes)); }
@Test public void testStringType() { assertEquals(ValueTypes.STRING_TYPE, ValueTypes.getSerializableType("foobar")); final String largeString = largeString(ValueTypes.STRING_BYTES_LENGTH_THRESHOLD); assertEquals(ValueTypes.STRING_BYTES_TYPE, ValueTypes.getSerializableType(largeString)); }
@Override public YangInstanceIdentifier readYangInstanceIdentifier() throws IOException { readSignatureMarkerAndVersionIfNeeded(); return readYangInstanceIdentifierInternal(); }
@Override public void close() throws IOException { flush(); }
@Override public final void writeExternal(final ObjectOutput out) throws IOException { super.writeExternal(out); try (NormalizedNodeDataOutput nnout = NormalizedNodeInputOutput.newDataOutput(out)) { nnout.writeYangInstanceIdentifier(path); } }
@Override public final void readExternal(final ObjectInput in) throws ClassNotFoundException, IOException { super.readExternal(in); path = NormalizedNodeInputOutput.newDataInput(in).readYangInstanceIdentifier(); }
@Override public NormalizedNode<?, ?> readNormalizedNode() throws IOException { readSignatureMarkerAndVersionIfNeeded(); return readNormalizedNodeInternal(); }
@Override public void writeYangInstanceIdentifier(final YangInstanceIdentifier identifier) throws IOException { ensureHeaderWritten(); writeYangInstanceIdentifierInternal(identifier); }
@Override public YangInstanceIdentifier readYangInstanceIdentifier() throws IOException { readSignatureMarkerAndVersionIfNeeded(); return readYangInstanceIdentifierInternal(); }
@Override public void close() throws IOException { flush(); }
@Override public void writeExternal(final ObjectOutput out) throws IOException { final NormalizedNodeDataOutput dataOutput = NormalizedNodeInputOutput.newDataOutput(out); final NormalizedNodeWriter normalizedNodeWriter = NormalizedNodeWriter.forStreamWriter((NormalizedNodeStreamWriter) dataOutput); dataOutput.writeYangInstanceIdentifier(identifier); normalizedNodeWriter.write(node); }