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%2FBatchedModifications.java;h=a4b9d4c8becbefea8aeff012bd9805fbb287a4cb;hp=670641f6ac1ee392e2c57a249f82afc54f65f90a;hb=7232cedfe7b702305b51da43d7302b7cc1014d7e;hpb=2a735bfd69e79cfcf0cbd08d4596e48e3cc1069c diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/BatchedModifications.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/BatchedModifications.java index 670641f6ac..a4b9d4c8be 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/BatchedModifications.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/BatchedModifications.java @@ -7,6 +7,10 @@ */ package org.opendaylight.controller.cluster.datastore.messages; +import com.google.common.base.Preconditions; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; import org.opendaylight.controller.cluster.datastore.modification.MutableCompositeModification; /** @@ -14,18 +18,83 @@ 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; + public BatchedModifications() { } - public BatchedModifications(short version) { + public BatchedModifications(String transactionID, short version, String transactionChainID) { super(version); + this.transactionID = Preconditions.checkNotNull(transactionID, "transactionID can't be null"); + this.transactionChainID = transactionChainID != null ? transactionChainID : ""; + } + + public boolean isReady() { + return ready; + } + + public void setReady(boolean ready) { + this.ready = ready; + } + + public boolean isDoCommitOnReady() { + return doCommitOnReady; + } + + public void setDoCommitOnReady(boolean doCommitOnReady) { + this.doCommitOnReady = doCommitOnReady; + } + + public int getTotalMessagesSent() { + return totalMessagesSent; + } + + public void setTotalMessagesSent(int totalMessagesSent) { + this.totalMessagesSent = totalMessagesSent; + } + + public String 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(); + 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); + out.writeBoolean(ready); + out.writeInt(totalMessagesSent); + out.writeBoolean(doCommitOnReady); } @Override - public Object toSerializable() { - return this; + 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(); } }