X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneInserter.java;h=46a3fe781ac6de9bdfdb9950b9308a52177fa4ee;hp=60eebecd1690a70c04778cee79cf9ec896a8afa4;hb=88731847148b7fbea5d578abe968d42daf3d1b58;hpb=421ef2ecdffc1d688cecb4221b2fe080ef14b596 diff --git a/src/main/java/net/pterodactylus/sone/core/SoneInserter.java b/src/main/java/net/pterodactylus/sone/core/SoneInserter.java index 60eebec..46a3fe7 100644 --- a/src/main/java/net/pterodactylus/sone/core/SoneInserter.java +++ b/src/main/java/net/pterodactylus/sone/core/SoneInserter.java @@ -32,6 +32,8 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.logging.Level; import java.util.logging.Logger; +import net.pterodactylus.sone.core.Options.Option; +import net.pterodactylus.sone.core.Options.OptionWatcher; import net.pterodactylus.sone.core.event.SoneInsertAbortedEvent; import net.pterodactylus.sone.core.event.SoneInsertedEvent; import net.pterodactylus.sone.core.event.SoneInsertingEvent; @@ -54,6 +56,7 @@ import net.pterodactylus.util.template.TemplateException; import net.pterodactylus.util.template.TemplateParser; import net.pterodactylus.util.template.XmlFilter; +import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.FluentIterable; import com.google.common.collect.Ordering; import com.google.common.eventbus.EventBus; @@ -138,6 +141,11 @@ public class SoneInserter extends AbstractService { return this; } + @VisibleForTesting + static AtomicInteger getInsertionDelay() { + return insertionDelay; + } + /** * Changes the insertion delay, i.e. the time the Sone inserter waits after it * has noticed a Sone modification before it starts the insert. @@ -241,6 +249,15 @@ public class SoneInserter extends AbstractService { } } + static class SetInsertionDelay implements OptionWatcher { + + @Override + public void optionChanged(Option option, Integer oldValue, Integer newValue) { + setInsertionDelay(newValue); + } + + } + /** * Container for information that are required to insert a Sone. This * container merely exists to copy all relevant data without holding a lock