X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fmessages%2FCreateTransaction.java;h=5ef056e8a0cb7127db01c680230564abc216e6bd;hb=HEAD;hp=b27ad86be987097b9bb9c37713a50116bfa5116e;hpb=5c7fe226016d6997f411601502589e86ad9d8f87;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/CreateTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/CreateTransaction.java index b27ad86be9..5ef056e8a0 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/CreateTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/CreateTransaction.java @@ -5,38 +5,67 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.controller.cluster.datastore.messages; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; + +@Deprecated(since = "9.0.0", forRemoval = true) +public final class CreateTransaction extends VersionedExternalizableMessage { + @java.io.Serial + private static final long serialVersionUID = 1L; -import org.opendaylight.controller.protobuff.messages.transaction.ShardTransactionMessages; + private TransactionIdentifier transactionId; + private int transactionType; + public CreateTransaction() { + } -public class CreateTransaction implements SerializableMessage { - public static Class SERIALIZABLE_CLASS = ShardTransactionMessages.CreateTransaction.class; - private final String transactionId; - private final int transactionType; + public CreateTransaction(final TransactionIdentifier transactionId, final int transactionType, + final short version) { + super(version); + this.transactionId = requireNonNull(transactionId); + this.transactionType = transactionType; + } - public CreateTransaction(String transactionId, int transactionType){ + public TransactionIdentifier getTransactionId() { + return transactionId; + } - this.transactionId = transactionId; - this.transactionType = transactionType; - } + public int getTransactionType() { + return transactionType; + } - public String getTransactionId() { - return transactionId; - } + @Override + public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException { + super.readExternal(in); + transactionId = TransactionIdentifier.readFrom(in); + transactionType = in.readInt(); + } - public int getTransactionType() { return transactionType;} + @Override + public void writeExternal(final ObjectOutput out) throws IOException { + super.writeExternal(out); + transactionId.writeTo(out); + out.writeInt(transactionType); + } - @Override - public Object toSerializable() { - return ShardTransactionMessages.CreateTransaction.newBuilder().setTransactionId(transactionId).setTransactionType(transactionType).build(); - } + @Override + public String toString() { + return "CreateTransaction [transactionId=" + transactionId + ", transactionType=" + transactionType + "]"; + } - public static CreateTransaction fromSerializable(Object message){ - ShardTransactionMessages.CreateTransaction createTransaction = (ShardTransactionMessages.CreateTransaction)message; - return new CreateTransaction(createTransaction.getTransactionId(),createTransaction.getTransactionType() ); - } + public static CreateTransaction fromSerializable(final Object message) { + checkArgument(message instanceof CreateTransaction); + return (CreateTransaction)message; + } + public static boolean isSerializedType(final Object message) { + return message instanceof CreateTransaction; + } }