X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2FReplicatedLogImplEntry.java;h=c8ee634e796c06d7e7e215455bb49a21b8b6bc1f;hb=aafb8cb044e992dd784d1f4f66508599cc4cd588;hp=1ff69e7f4a0ccf198c11333f013bd1d46b7c910a;hpb=c9943f5bc72d4cde9356d3bd4cf73d36f4b2f754;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImplEntry.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImplEntry.java index 1ff69e7f4a..c8ee634e79 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImplEntry.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImplEntry.java @@ -14,13 +14,17 @@ import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payloa /** * A {@link ReplicatedLogEntry} implementation. + * + * @deprecated Use {@link org.opendaylight.controller.cluster.raft.persisted.SimpleReplicatedLogEntry} instead. */ -public final class ReplicatedLogImplEntry implements ReplicatedLogEntry, Serializable { +@Deprecated +public class ReplicatedLogImplEntry implements ReplicatedLogEntry, Serializable { private static final long serialVersionUID = -9085798014576489130L; private final long index; private final long term; private final Payload payload; + private transient boolean persistencePending = false; /** * Constructs an instance. @@ -55,6 +59,65 @@ public final class ReplicatedLogImplEntry implements ReplicatedLogEntry, Seriali return getData().size(); } + private Object readResolve() { + return org.opendaylight.controller.cluster.raft.persisted.SimpleReplicatedLogEntry.createMigrated( + index, term, payload); + } + + @Override + public boolean isPersistencePending() { + return persistencePending; + } + + @Override + public void setPersistencePending(boolean pending) { + persistencePending = pending; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + payload.hashCode(); + result = prime * result + (int) (index ^ index >>> 32); + result = prime * result + (int) (term ^ term >>> 32); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + + if (obj == null) { + return false; + } + + if (getClass() != obj.getClass()) { + return false; + } + + ReplicatedLogImplEntry other = (ReplicatedLogImplEntry) obj; + if (payload == null) { + if (other.payload != null) { + return false; + } + } else if (!payload.equals(other.payload)) { + return false; + } + + if (index != other.index) { + return false; + } + + if (term != other.term) { + return false; + } + + return true; + } + @Override public String toString() { return "Entry{index=" + index + ", term=" + term + '}';