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;
/**
*
* @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 String transactionID;
- private String transactionChainID;
+ private boolean doCommitOnReady;
+ private int totalMessagesSent;
+ 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() {
this.ready = ready;
}
- public String getTransactionID() {
- return transactionID;
+ public boolean isDoCommitOnReady() {
+ return doCommitOnReady;
}
- public String getTransactionChainID() {
- return transactionChainID;
+ public void setDoCommitOnReady(boolean doCommitOnReady) {
+ this.doCommitOnReady = doCommitOnReady;
}
+ public int getTotalMessagesSent() {
+ return totalMessagesSent;
+ }
+
+ public void setTotalMessagesSent(int totalMessagesSent) {
+ this.totalMessagesSent = totalMessagesSent;
+ }
+
+ public TransactionIdentifier getTransactionId() {
+ return transactionId;
+ }
+
+
@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);
- }
-
- @Override
- public Object toSerializable() {
- return this;
+ out.writeInt(totalMessagesSent);
+ out.writeBoolean(doCommitOnReady);
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
- builder.append("BatchedModifications [transactionID=").append(transactionID).append(", ready=").append(ready)
- .append(", modifications size=").append(getModifications().size()).append("]");
+ builder.append("BatchedModifications [transactionId=").append(transactionId).append(", ready=").append(ready)
+ .append(", totalMessagesSent=").append(totalMessagesSent).append(", modifications size=")
+ .append(getModifications().size()).append("]");
return builder.toString();
}
}