X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fnode%2Futils%2Fstream%2FNormalizedNodeInputOutput.java;h=055721d1120dda25275a09715b52bd07d456c3a1;hp=5ad195a9b7cd207842a859ef6b78d139dc6f76f1;hb=30e167cac18381b1cadc6eb666faabb2f509ee29;hpb=b4bf55727093657662d8c16a50fa85f87978a586 diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeInputOutput.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeInputOutput.java index 5ad195a9b7..055721d112 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeInputOutput.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeInputOutput.java @@ -14,6 +14,7 @@ import java.io.IOException; import org.eclipse.jdt.annotation.NonNull; @Beta +@Deprecated(forRemoval = true) public final class NormalizedNodeInputOutput { private NormalizedNodeInputOutput() { throw new UnsupportedOperationException(); @@ -28,17 +29,11 @@ public final class NormalizedNodeInputOutput { * @throws IOException if an error occurs reading from the input */ public static NormalizedNodeDataInput newDataInput(final @NonNull DataInput input) throws IOException { - final byte marker = input.readByte(); - if (marker != TokenTypes.SIGNATURE_MARKER) { - throw new InvalidNormalizedNodeStreamException(String.format("Invalid signature marker: %d", marker)); - } - - final short version = input.readShort(); - switch (version) { - case TokenTypes.LITHIUM_VERSION: - return new NormalizedNodeInputStreamReader(input, true); - default: - throw new InvalidNormalizedNodeStreamException(String.format("Unhandled stream version %s", version)); + try { + return new CompatNormalizedNodeDataInput(org.opendaylight.yangtools.yang.data.codec.binfmt + .NormalizedNodeDataInput.newDataInput(input)); + } catch (org.opendaylight.yangtools.yang.data.codec.binfmt.InvalidNormalizedNodeStreamException e) { + throw new InvalidNormalizedNodeStreamException(e.getMessage(), e); } } @@ -50,16 +45,30 @@ public final class NormalizedNodeInputOutput { * @return a new {@link NormalizedNodeDataInput} instance */ public static NormalizedNodeDataInput newDataInputWithoutValidation(final @NonNull DataInput input) { - return new NormalizedNodeInputStreamReader(input, false); + return new CompatNormalizedNodeDataInput(org.opendaylight.yangtools.yang.data.codec.binfmt + .NormalizedNodeDataInput.newDataInputWithoutValidation(input)); } /** - * Creates a new {@link NormalizedNodeDataOutput} instance that writes to the given output. + * Creates a new {@link NormalizedNodeDataOutput} instance that writes to the given output and latest current + * stream version. * * @param output the DataOutput to write to * @return a new {@link NormalizedNodeDataOutput} instance */ public static NormalizedNodeDataOutput newDataOutput(final @NonNull DataOutput output) { - return new NormalizedNodeOutputStreamWriter(output); + return newDataOutput(output, NormalizedNodeStreamVersion.MAGNESIUM); + } + + /** + * Creates a new {@link NormalizedNodeDataOutput} instance that writes to the given output. + * + * @param output the DataOutput to write to + * @param version Streaming version to use + * @return a new {@link NormalizedNodeDataOutput} instance + */ + public static NormalizedNodeDataOutput newDataOutput(final @NonNull DataOutput output, + final @NonNull NormalizedNodeStreamVersion version) { + return new CompatNormalizedNodeDataOutput(version.toYangtools().newDataOutput(output)); } }