Speed up DatastoreContextIntrospector a bit
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / messages / AbstractThreePhaseCommitMessage.java
index 926b552a9ede2e601d33d767e6d8b96e09e0eb00..3b45e642cadddfe36c853d3376ad1909133f86e5 100644 (file)
@@ -7,10 +7,12 @@
  */
 package org.opendaylight.controller.cluster.datastore.messages;
 
-import com.google.common.base.Preconditions;
+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;
 
 /**
  * Base class for a 3PC message.
@@ -20,35 +22,34 @@ import java.io.ObjectOutput;
 public abstract class AbstractThreePhaseCommitMessage extends VersionedExternalizableMessage {
     private static final long serialVersionUID = 1L;
 
-    private String transactionID;
+    private TransactionIdentifier transactionId;
 
     protected AbstractThreePhaseCommitMessage() {
     }
 
-    protected AbstractThreePhaseCommitMessage(final String transactionID, final short version) {
+    protected AbstractThreePhaseCommitMessage(final TransactionIdentifier transactionId, final short version) {
         super(version);
-        this.transactionID = Preconditions.checkNotNull(transactionID);
+        this.transactionId = requireNonNull(transactionId);
     }
 
-    public String getTransactionID() {
-        return transactionID;
+    public TransactionIdentifier getTransactionId() {
+        return transactionId;
     }
 
     @Override
-    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+    public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException {
         super.readExternal(in);
-        transactionID = in.readUTF();
+        transactionId = TransactionIdentifier.readFrom(in);
     }
 
     @Override
-    public void writeExternal(ObjectOutput out) throws IOException {
+    public void writeExternal(final ObjectOutput out) throws IOException {
         super.writeExternal(out);
-        out.writeUTF(transactionID);
+        transactionId.writeTo(out);
     }
 
     @Override
     public String toString() {
-        return getClass().getSimpleName() + " [transactionID=" + transactionID + ", version=" + getVersion()
-                + "]";
+        return getClass().getSimpleName() + " [transactionId=" + transactionId + ", version=" + getVersion() + "]";
     }
 }