X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcds-access-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fcommands%2FTransactionAbortRequest.java;fp=opendaylight%2Fmd-sal%2Fcds-access-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fcommands%2FTransactionAbortRequest.java;h=6ad73ef427afa9f19e855cd6abd855934bda2a65;hp=d43d188de415144661ab7de8371bf8c76f93f495;hb=d92bd0e575983b3d6a09a73089ef8f9c62f94eaa;hpb=e085f22bb1934959f9d6f7f4368c1afe964b1e07 diff --git a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortRequest.java b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortRequest.java index d43d188de4..6ad73ef427 100644 --- a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortRequest.java +++ b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortRequest.java @@ -8,7 +8,7 @@ package org.opendaylight.controller.cluster.access.commands; import akka.actor.ActorRef; -import java.io.Serial; +import java.io.ObjectInput; import org.opendaylight.controller.cluster.access.ABIVersion; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; @@ -16,20 +16,32 @@ import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier * A transaction request to perform the abort step of the three-phase commit protocol. */ public final class TransactionAbortRequest extends TransactionRequest { - @Serial + interface SerialForm extends TransactionRequest.SerialForm { + @Override + default TransactionAbortRequest readExternal(final ObjectInput in, final TransactionIdentifier target, + final long sequence, final ActorRef replyTo) { + return new TransactionAbortRequest(target, sequence, replyTo); + } + } + + @java.io.Serial private static final long serialVersionUID = 1L; + private TransactionAbortRequest(final TransactionAbortRequest request, final ABIVersion version) { + super(request, version); + } + public TransactionAbortRequest(final TransactionIdentifier target, final long sequence, final ActorRef replyTo) { super(target, sequence, replyTo); } @Override - protected TransactionAbortRequestProxyV1 externalizableProxy(final ABIVersion version) { - return new TransactionAbortRequestProxyV1(this); + protected SerialForm externalizableProxy(final ABIVersion version) { + return ABIVersion.MAGNESIUM.lt(version) ? new TAR(this) : new TransactionAbortRequestProxyV1(this); } @Override protected TransactionAbortRequest cloneAsVersion(final ABIVersion version) { - return this; + return new TransactionAbortRequest(this, version); } }