X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Floader%2FChainWatcher.java;h=69faf8be880ab72286d52854e276f65a61b41037;hb=c849f7f04df084252db87a2389f50f55d4b9a775;hp=52b3fa49d166ecf3b567fca990ffeffbb9b8ffb8;hpb=6ec36ef950c23c135bf0e112d932c5b7068189b8;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/rhynodge/loader/ChainWatcher.java b/src/main/java/net/pterodactylus/rhynodge/loader/ChainWatcher.java index 52b3fa4..69faf8b 100644 --- a/src/main/java/net/pterodactylus/rhynodge/loader/ChainWatcher.java +++ b/src/main/java/net/pterodactylus/rhynodge/loader/ChainWatcher.java @@ -27,6 +27,9 @@ import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.TimeUnit; +import javax.inject.Inject; +import javax.inject.Singleton; + import net.pterodactylus.rhynodge.Reaction; import net.pterodactylus.rhynodge.engine.Engine; import net.pterodactylus.rhynodge.loader.Chain.Parameter; @@ -48,6 +51,7 @@ import com.google.common.util.concurrent.Uninterruptibles; * * @author David ‘Bombe’ Roden */ +@Singleton public class ChainWatcher extends AbstractExecutionThreadService { /** The logger. */ @@ -73,9 +77,10 @@ public class ChainWatcher extends AbstractExecutionThreadService { * @param directory * The directory to watch */ - public ChainWatcher(Engine engine, String directory) { + @Inject + public ChainWatcher(Engine engine, ChainDirectory directory) { this.engine = engine; - this.directory = directory; + this.directory = directory.getDirectory(); } // @@ -125,19 +130,23 @@ public class ChainWatcher extends AbstractExecutionThreadService { /* dump chain */ logger.debug(String.format(" Enabled: %s", chain.enabled())); - logger.debug(String.format(" Query: %s", chain.query().name())); - for (Parameter parameter : chain.query().parameters()) { - logger.debug(String.format(" Parameter: %s=%s", parameter.name(), parameter.value())); - } - for (Part filter : chain.filters()) { - logger.debug(String.format(" Filter: %s", filter.name())); - for (Parameter parameter : filter.parameters()) { + if (chain.watcher() != null) { + logger.debug(String.format("Reaction: %s", chain.watcher().name())); + } else { + logger.debug(String.format(" Query: %s", chain.query().name())); + for (Parameter parameter : chain.query().parameters()) { + logger.debug(String.format(" Parameter: %s=%s", parameter.name(), parameter.value())); + } + for (Part filter : chain.filters()) { + logger.debug(String.format(" Filter: %s", filter.name())); + for (Parameter parameter : filter.parameters()) { + logger.debug(String.format(" Parameter: %s=%s", parameter.name(), parameter.value())); + } + } + logger.debug(String.format(" Trigger: %s", chain.trigger().name())); + for (Parameter parameter : chain.trigger().parameters()) { logger.debug(String.format(" Parameter: %s=%s", parameter.name(), parameter.value())); } - } - logger.debug(String.format(" Trigger: %s", chain.trigger().name())); - for (Parameter parameter : chain.trigger().parameters()) { - logger.debug(String.format(" Parameter: %s=%s", parameter.name(), parameter.value())); } logger.debug(String.format(" Action: %s", chain.action().name())); for (Parameter parameter : chain.action().parameters()) { @@ -231,4 +240,22 @@ public class ChainWatcher extends AbstractExecutionThreadService { return (filename.lastIndexOf(".") > -1) ? filename.substring(0, filename.lastIndexOf(".")) : filename; } + public static class ChainDirectory { + + private final String directory; + + private ChainDirectory(String directory) { + this.directory = directory; + } + + public String getDirectory() { + return directory; + } + + public static ChainDirectory of(String directory) { + return new ChainDirectory(directory); + } + + } + }