X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneModificationDetector.java;h=92fa3dc60a8c4432a5db69f2651553c58c805081;hb=76c5d4ced461ae174384a60a78b49e11ee1e443e;hp=290fcbeefaedce946659db626634aa108cf1ff0a;hpb=f229fe41f708d2b275c20ceb9aba5993761218a3;p=Sone.git
diff --git a/src/main/java/net/pterodactylus/sone/core/SoneModificationDetector.java b/src/main/java/net/pterodactylus/sone/core/SoneModificationDetector.java
index 290fcbe..92fa3dc 100644
--- a/src/main/java/net/pterodactylus/sone/core/SoneModificationDetector.java
+++ b/src/main/java/net/pterodactylus/sone/core/SoneModificationDetector.java
@@ -10,6 +10,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import net.pterodactylus.sone.data.Sone;
import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.Objects;
import com.google.common.base.Optional;
import com.google.common.base.Ticker;
@@ -17,8 +18,6 @@ import com.google.common.base.Ticker;
* Class that detects {@link Sone} modifications (as per their {@link
* Sone#getFingerprint() fingerprints} and determines when a modified Sone may
* be inserted.
- *
- * @author David âBombeâ Roden
*/
class SoneModificationDetector {
@@ -26,8 +25,8 @@ class SoneModificationDetector {
private final LockableFingerprintProvider lockableFingerprintProvider;
private final AtomicInteger insertionDelay;
private Optional lastModificationTime;
- private String originalFingerprint;
- private String lastFingerprint;
+ private String lastInsertFingerprint;
+ private String lastCheckFingerprint;
SoneModificationDetector(LockableFingerprintProvider lockableFingerprintProvider, AtomicInteger insertionDelay) {
this(systemTicker(), lockableFingerprintProvider, insertionDelay);
@@ -38,36 +37,36 @@ class SoneModificationDetector {
this.ticker = ticker;
this.lockableFingerprintProvider = lockableFingerprintProvider;
this.insertionDelay = insertionDelay;
- lastFingerprint = originalFingerprint;
+ lastCheckFingerprint = lastInsertFingerprint;
}
public boolean isEligibleForInsert() {
if (lockableFingerprintProvider.isLocked()) {
lastModificationTime = absent();
- lastFingerprint = "";
+ lastCheckFingerprint = "";
return false;
}
String fingerprint = lockableFingerprintProvider.getFingerprint();
- if (originalFingerprint.equals(fingerprint)) {
+ if (fingerprint.equals(lastInsertFingerprint)) {
lastModificationTime = absent();
- lastFingerprint = fingerprint;
+ lastCheckFingerprint = fingerprint;
return false;
}
- if (!lastFingerprint.equals(fingerprint)) {
+ if (!Objects.equal(lastCheckFingerprint, fingerprint)) {
lastModificationTime = of(ticker.read());
- lastFingerprint = fingerprint;
+ lastCheckFingerprint = fingerprint;
return false;
}
return insertionDelayHasPassed();
}
- public String getOriginalFingerprint() {
- return originalFingerprint;
+ public String getLastInsertFingerprint() {
+ return lastInsertFingerprint;
}
public void setFingerprint(String fingerprint) {
- originalFingerprint = fingerprint;
- lastFingerprint = originalFingerprint;
+ lastInsertFingerprint = fingerprint;
+ lastCheckFingerprint = lastInsertFingerprint;
lastModificationTime = absent();
}
@@ -76,14 +75,12 @@ class SoneModificationDetector {
}
public boolean isModified() {
- return !lockableFingerprintProvider.getFingerprint().equals(originalFingerprint);
+ return !Objects.equal(lockableFingerprintProvider.getFingerprint(), lastInsertFingerprint);
}
/**
* Provider for a fingerprint and the information if a {@link Sone} is locked. This
* prevents us from having to lug a Sone object around.
- *
- * @author David âBombeâ Roden
*/
static interface LockableFingerprintProvider {