]> jfr.im git - irc/rizon/moo.git/commitdiff
Send separate emails for server splits and relinks. Fixes #14
authorOrillion <redacted>
Sun, 10 Jan 2016 13:58:16 +0000 (14:58 +0100)
committerOrillion <redacted>
Fri, 4 Mar 2016 21:14:06 +0000 (22:14 +0100)
servermonitor/src/main/java/net/rizon/moo/plugin/servermonitor/TextDelay.java
servermonitor/src/main/java/net/rizon/moo/plugin/servermonitor/servermonitor.java

index a94d54ad8f020efd5e0eec1ffd5317fb8bf8a393..0ebc59fdfe59a0d5c5d3a77068149c35a0cfcf20 100644 (file)
@@ -7,6 +7,13 @@ import net.rizon.moo.plugin.servermonitor.conf.ServerMonitorConfiguration;
 
 class TextDelay implements Runnable
 {
+       enum LinkType
+       {
+               SPLIT,
+               RELINK,
+               UNKNOWN
+       }
+
        public static final int delay = 5;
        
        @Inject
@@ -30,10 +37,23 @@ class TextDelay implements Runnable
                }
 
                for (String email : conf.split_emails)
-                       mail.send(email, "Split", buf);
-
-               servermonitor.texts = null;
+               {
+                       switch (this.type)
+                       {
+                               case SPLIT:
+                                       mail.send(email, "Split", buf);
+                                       servermonitor.splitTexts = null;
+                                       break;
+                               case RELINK:
+                                       mail.send(email, "Relink", buf);
+                                       servermonitor.linkTexts = null;
+                                       break;
+                               default:
+                                       break;
+                       }
+               }
        }
 
        protected LinkedList<String> messages = new LinkedList<String>();
-}
\ No newline at end of file
+       protected LinkType type = LinkType.UNKNOWN;
+}
index 4c717099f0e1ac86064182faf0899e74a4b9e230..63355517ce9f70b2f910ae24d4aa4b77a9b784f1 100644 (file)
@@ -1,6 +1,5 @@
 package net.rizon.moo.plugin.servermonitor;
 
-import net.rizon.moo.plugin.servermonitor.server.CommandServer;
 import com.google.common.eventbus.Subscribe;
 import com.google.inject.multibindings.Multibinder;
 import io.netty.util.concurrent.ScheduledFuture;
@@ -11,7 +10,6 @@ import java.util.concurrent.TimeUnit;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import javax.inject.Inject;
-
 import net.rizon.moo.Command;
 import net.rizon.moo.Moo;
 import net.rizon.moo.Plugin;
@@ -27,6 +25,7 @@ import net.rizon.moo.irc.Protocol;
 import net.rizon.moo.irc.Server;
 import net.rizon.moo.irc.ServerManager;
 import net.rizon.moo.plugin.servermonitor.conf.ServerMonitorConfiguration;
+import net.rizon.moo.plugin.servermonitor.server.CommandServer;
 import org.slf4j.Logger;
 
 class Requester implements Runnable
@@ -70,8 +69,9 @@ public class servermonitor extends Plugin implements EventListener
        private ScheduledFuture requester;
        
        private ServerMonitorConfiguration conf;
-       
-       protected TextDelay texts;
+
+       protected TextDelay splitTexts;
+       protected TextDelay linkTexts;
 
        public servermonitor() throws Exception
        {
@@ -107,13 +107,14 @@ public class servermonitor extends Plugin implements EventListener
                }
                if (!pypsd)
                {
-                       if (texts == null)
+                       if (linkTexts == null)
                        {
-                               texts = new TextDelay();
-                               Moo.injector.injectMembers(texts);
-                               Moo.schedule(texts, TextDelay.delay, TimeUnit.SECONDS);
+                               linkTexts = new TextDelay();
+                               linkTexts.type = TextDelay.LinkType.RELINK;
+                               Moo.injector.injectMembers(linkTexts);
+                               Moo.schedule(linkTexts, TextDelay.delay, TimeUnit.SECONDS);
                        }
-                       texts.messages.add(serv.getName() + " introduced by " + to.getName());
+                       linkTexts.messages.add(serv.getName() + " introduced by " + to.getName());
                }
        }
 
@@ -156,13 +157,14 @@ public class servermonitor extends Plugin implements EventListener
 
                if (!pypsd)
                {
-                       if (texts == null)
+                       if (splitTexts == null)
                        {
-                               texts = new TextDelay();
-                               Moo.injector.injectMembers(texts);
-                               Moo.schedule(texts, TextDelay.delay, TimeUnit.SECONDS);
+                               splitTexts = new TextDelay();
+                               splitTexts.type = TextDelay.LinkType.SPLIT;
+                               Moo.injector.injectMembers(splitTexts);
+                               Moo.schedule(splitTexts, TextDelay.delay, TimeUnit.SECONDS);
                        }
-                       texts.messages.add(serv.getName() + " split from " + from.getName());
+                       splitTexts.messages.add(serv.getName() + " split from " + from.getName());
                }
 
                if (conf.reconnect && !serv.isServices())