X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneInserter.java;h=7001be173ac3116c442d05d4eb22db73a800e82b;hb=2bccc50e24eec9fc0f20df72fd67c6887c1254dd;hp=a511d14d27a48880585e47f9e182ecbd1c8eddb3;hpb=c96777831ddacd8399f945a741145b814eef498b;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/SoneInserter.java b/src/main/java/net/pterodactylus/sone/core/SoneInserter.java index a511d14..7001be1 100644 --- a/src/main/java/net/pterodactylus/sone/core/SoneInserter.java +++ b/src/main/java/net/pterodactylus/sone/core/SoneInserter.java @@ -94,12 +94,11 @@ public class SoneInserter extends AbstractService { /** The Freenet interface. */ private final FreenetInterface freenetInterface; + private final SoneModificationDetector soneModificationDetector; + /** The Sone to insert. */ private volatile Sone sone; - /** The fingerprint of the last insert. */ - private volatile String lastInsertFingerprint; - /** * Creates a new Sone inserter. * @@ -118,6 +117,7 @@ public class SoneInserter extends AbstractService { this.eventBus = eventBus; this.freenetInterface = freenetInterface; this.sone = sone; + this.soneModificationDetector = new SoneModificationDetector(core, sone, insertionDelay); } // @@ -154,7 +154,7 @@ public class SoneInserter extends AbstractService { * @return The fingerprint of the last insert */ public String getLastInsertFingerprint() { - return lastInsertFingerprint; + return soneModificationDetector.getOriginalFingerprint(); } /** @@ -164,7 +164,7 @@ public class SoneInserter extends AbstractService { * The fingerprint of the last insert */ public void setLastInsertFingerprint(String lastInsertFingerprint) { - this.lastInsertFingerprint = lastInsertFingerprint; + soneModificationDetector.setFingerprint(lastInsertFingerprint); } /** @@ -175,7 +175,7 @@ public class SoneInserter extends AbstractService { * otherwise */ public boolean isModified() { - return !lastInsertFingerprint.equals(sone.getFingerprint()); + return soneModificationDetector.isModified(); } // @@ -187,7 +187,6 @@ public class SoneInserter extends AbstractService { */ @Override protected void serviceRun() { - SoneModificationDetector soneModificationDetector = new SoneModificationDetector(core, sone, insertionDelay); while (!shouldStop()) { try { /* check every second. */ @@ -231,7 +230,6 @@ public class SoneInserter extends AbstractService { if (insertInformation.getFingerprint().equals(sone.getFingerprint())) { logger.log(Level.FINE, String.format("Sone “%s” was not modified further, resetting counter…", sone)); soneModificationDetector.setFingerprint(insertInformation.getFingerprint()); - lastInsertFingerprint = insertInformation.getFingerprint(); core.touchConfiguration(); } }