Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Override equals and hashCode for LockModel #12

Merged
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

import java.io.IOException;
import java.time.Instant;
import java.util.Objects;

import static java.util.Objects.requireNonNull;

Expand Down Expand Up @@ -194,4 +195,24 @@ public long getPrimaryTerm() {
public boolean isExpired() {
return lockTime.getEpochSecond() + lockDurationSeconds < Instant.now().getEpochSecond();
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
LockModel lockModel = (LockModel) o;
return lockDurationSeconds == lockModel.lockDurationSeconds &&
released == lockModel.released &&
seqNo == lockModel.seqNo &&
primaryTerm == lockModel.primaryTerm &&
lockId.equals(lockModel.lockId) &&
jobIndexName.equals(lockModel.jobIndexName) &&
jobId.equals(lockModel.jobId) &&
lockTime.equals(lockModel.lockTime);
}

@Override
public int hashCode() {
return Objects.hash(lockId, jobIndexName, jobId, lockTime, lockDurationSeconds, released, seqNo, primaryTerm);
}
}