Move event sending into the command handler.
[xudocci.git] / src / main / java / net / pterodactylus / irc / Connection.java
index d12cc77..5345294 100644 (file)
@@ -369,9 +369,16 @@ public class Connection extends AbstractExecutionThreadService implements Servic
                                        new MessageHandler(eventBus, this, prefixHandler),
                                        new CtcpHandler(eventBus, this),
                                        new ChannelNickHandler(eventBus, this, prefixHandler),
-                                       new SimpleCommandHandler()
-                                                       .addCommand("431", (parameters) -> eventBus.post(
-                                                                       new NoNicknameGivenReceived(this))),
+                                       new SimpleCommandHandler(eventBus)
+                                                       .addCommand("431",
+                                                                       (s, p) -> new NoNicknameGivenReceived(
+                                                                                       this))
+                                                       .addCommand("NICK",
+                                                                       (s, p) -> new NicknameChanged(this,
+                                                                                       s.get(), p.get(0)))
+                                                       .addCommand("JOIN",
+                                                                       (s, p) -> new ChannelJoined(this,
+                                                                                       p.get(0), s.get())),
                                        new MotdHandler(eventBus, this),
                                        new ChannelNotJoinedHandler(eventBus, this),
                                        new ConnectionEstablishHandler(eventBus, this),
@@ -401,13 +408,7 @@ public class Connection extends AbstractExecutionThreadService implements Servic
                                                eventBus.post(new NicknameInUseReceived(this, reply));
                                        }
 
-                               /* client stuff. */
-                               } else if (command.equalsIgnoreCase("NICK")) {
-                                       eventBus.post(new NicknameChanged(this, reply.source().get(), parameters.get(0)));
-
                                /* channel stuff. */
-                               } else if (command.equalsIgnoreCase("JOIN")) {
-                                       eventBus.post(new ChannelJoined(this, parameters.get(0), reply.source().get()));
                                } else if (command.equals("331")) {
                                        /* no topic is set. */
                                } else if (command.equals("332")) {