String performance and maintenability
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / messages / BatchedModifications.java
index 86f96f57d0f3cb0c284a1a902bd820baaac9e82d..3773beee57a3f7c7d88455371dc9e3ee8bf8751f 100644 (file)
@@ -11,6 +11,7 @@ import com.google.common.base.Preconditions;
 import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
+import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
 import org.opendaylight.controller.cluster.datastore.modification.MutableCompositeModification;
 
 /**
@@ -18,21 +19,20 @@ import org.opendaylight.controller.cluster.datastore.modification.MutableComposi
  *
  * @author Thomas Pantelis
  */
-public class BatchedModifications extends MutableCompositeModification implements SerializableMessage {
+public class BatchedModifications extends MutableCompositeModification {
     private static final long serialVersionUID = 1L;
 
     private boolean ready;
+    private boolean doCommitOnReady;
     private int totalMessagesSent;
-    private String transactionID;
-    private String transactionChainID;
+    private TransactionIdentifier transactionId;
 
     public BatchedModifications() {
     }
 
-    public BatchedModifications(String transactionID, short version, String transactionChainID) {
+    public BatchedModifications(TransactionIdentifier transactionId, short version) {
         super(version);
-        this.transactionID = Preconditions.checkNotNull(transactionID, "transactionID can't be null");
-        this.transactionChainID = transactionChainID != null ? transactionChainID : "";
+        this.transactionId = Preconditions.checkNotNull(transactionId, "transactionID can't be null");
     }
 
     public boolean isReady() {
@@ -43,6 +43,14 @@ public class BatchedModifications extends MutableCompositeModification implement
         this.ready = ready;
     }
 
+    public boolean isDoCommitOnReady() {
+        return doCommitOnReady;
+    }
+
+    public void setDoCommitOnReady(boolean doCommitOnReady) {
+        this.doCommitOnReady = doCommitOnReady;
+    }
+
     public int getTotalMessagesSent() {
         return totalMessagesSent;
     }
@@ -51,44 +59,34 @@ public class BatchedModifications extends MutableCompositeModification implement
         this.totalMessagesSent = totalMessagesSent;
     }
 
-    public String getTransactionID() {
-        return transactionID;
+    public TransactionIdentifier getTransactionId() {
+        return transactionId;
     }
 
-    public String getTransactionChainID() {
-        return transactionChainID;
-    }
 
     @Override
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
         super.readExternal(in);
-        transactionID = in.readUTF();
-        transactionChainID = in.readUTF();
+        transactionId = TransactionIdentifier.readFrom(in);
         ready = in.readBoolean();
         totalMessagesSent = in.readInt();
+        doCommitOnReady = in.readBoolean();
     }
 
     @Override
     public void writeExternal(ObjectOutput out) throws IOException {
         super.writeExternal(out);
-        out.writeUTF(transactionID);
-        out.writeUTF(transactionChainID);
+        transactionId.writeTo(out);
         out.writeBoolean(ready);
         out.writeInt(totalMessagesSent);
-    }
-
-    @Override
-    public Object toSerializable() {
-        return this;
+        out.writeBoolean(doCommitOnReady);
     }
 
     @Override
     public String toString() {
-        StringBuilder builder = new StringBuilder();
-        builder.append("BatchedModifications [transactionID=").append(transactionID).append(", transactionChainID=")
-                .append(transactionChainID).append(", ready=").append(ready).append(", totalMessagesSent=")
-                .append(totalMessagesSent).append(", modifications size=").append(getModifications().size())
-                .append("]");
-        return builder.toString();
+        return "BatchedModifications [transactionId=" + transactionId
+                + ", ready=" + ready
+                + ", totalMessagesSent=" + totalMessagesSent
+                + ", modifications size=" + getModifications().size() + "]";
     }
 }