X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fmessages%2FVersionedExternalizableMessage.java;fp=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fmessages%2FVersionedExternalizableMessage.java;h=e1f96ca457cede16e9459f040ad755e0e5cc4f69;hp=17b93f4b04d5f6d7445f6b2f1d262b7d41162d0d;hb=909831d806ef3b35358206559523f09716214e58;hpb=bde80dd9d3f7e9362a06d7f5e88cda501ed41387 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/VersionedExternalizableMessage.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/VersionedExternalizableMessage.java index 17b93f4b04..e1f96ca457 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/VersionedExternalizableMessage.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/VersionedExternalizableMessage.java @@ -43,4 +43,16 @@ public abstract class VersionedExternalizableMessage implements Externalizable, public void writeExternal(ObjectOutput out) throws IOException { out.writeShort(version); } + + protected abstract Object newLegacySerializedInstance(); + + @Override + public final Object toSerializable() { + return getVersion() >= DataStoreVersions.BORON_VERSION ? this : newLegacySerializedInstance(); + } + + @Override + public String toString() { + return getClass().getSimpleName() + " [version=" + getVersion() + "]"; + } }