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%2FCreateTransaction.java;h=3283a55f438a77644fe35ad403436a2bfdac58f2;hp=795131fdbf6400f0b53c98f91d167bf31f45d493;hb=3859df9beca8f13f1ff2b2744ed3470a1715bec3;hpb=17d82f582a6bc13c78be3b19954ff8c021180e93 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 795131fdbf..3283a55f43 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,33 +5,65 @@ * 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; + +public class CreateTransaction extends VersionedExternalizableMessage { + private static final long serialVersionUID = 1L; + + private TransactionIdentifier transactionId; + private int transactionType; -import org.opendaylight.controller.protobuff.messages.transaction.ShardTransactionMessages; + public CreateTransaction() { + } + public CreateTransaction(final TransactionIdentifier transactionId, final int transactionType, + final short version) { + super(version); + this.transactionId = requireNonNull(transactionId); + this.transactionType = transactionType; + } -public class CreateTransaction implements SerializableMessage { - public static Class SERIALIZABLE_CLASS = ShardTransactionMessages.CreateTransaction.class; - private final String transactionId; + public TransactionIdentifier getTransactionId() { + return transactionId; + } - public CreateTransaction(String transactionId){ + public int getTransactionType() { + return transactionType; + } - this.transactionId = transactionId; - } + @Override + public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException { + super.readExternal(in); + transactionId = TransactionIdentifier.readFrom(in); + transactionType = in.readInt(); + } - public String getTransactionId() { - return transactionId; - } + @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).build(); - } + @Override + public String toString() { + return "CreateTransaction [transactionId=" + transactionId + ", transactionType=" + transactionType + "]"; + } - public static CreateTransaction fromSerializable(Object message){ - return new CreateTransaction(((ShardTransactionMessages.CreateTransaction)message).getTransactionId()); - } + 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; + } }