Use static import.
[xudocci.git] / src / main / java / net / pterodactylus / xdcc / core / Core.java
index b157851..d875a5b 100644 (file)
@@ -17,6 +17,7 @@
 
 package net.pterodactylus.xdcc.core;
 
+import static net.pterodactylus.irc.util.MessageCleaner.getDefaultInstance;
 import static net.pterodactylus.xdcc.data.Channel.TO_NETWORK;
 import static net.pterodactylus.xdcc.data.Download.FILTER_RUNNING;
 
@@ -53,7 +54,6 @@ import net.pterodactylus.irc.event.NicknameChanged;
 import net.pterodactylus.irc.event.PrivateMessageReceived;
 import net.pterodactylus.irc.event.PrivateNoticeReceived;
 import net.pterodactylus.irc.event.ReplyReceived;
-import net.pterodactylus.irc.util.MessageCleaner;
 import net.pterodactylus.irc.util.RandomNickname;
 import net.pterodactylus.xdcc.core.event.BotAdded;
 import net.pterodactylus.xdcc.core.event.CoreStarted;
@@ -70,6 +70,7 @@ import net.pterodactylus.xdcc.data.Network;
 import net.pterodactylus.xdcc.data.Pack;
 import net.pterodactylus.xdcc.data.Server;
 
+import com.google.common.base.Function;
 import com.google.common.base.Optional;
 import com.google.common.base.Predicate;
 import com.google.common.collect.FluentIterable;
@@ -168,6 +169,20 @@ public class Core extends AbstractExecutionThreadService {
        }
 
        /**
+        * Returns all connected networks.
+        *
+        * @return All connected networks
+        */
+       public Collection<Network> connectedNetworks() {
+               return Lists.newArrayList(Optional.presentInstances(FluentIterable.from(networkConnections.values()).transform(new Function<Connection, Optional<Network>>() {
+                       @Override
+                       public Optional<Network> apply(Connection connection) {
+                               return getNetwork(connection);
+                       }
+               })));
+       }
+
+       /**
         * Returns all configured channels. Due to various circumstances, configured
         * channels might not actually be joined.
         *
@@ -489,6 +504,7 @@ public class Core extends AbstractExecutionThreadService {
         * @param connectionFailed
         *              The connection failed event
         */
+       @Subscribe
        public void connectionFailed(ConnectionFailed connectionFailed) {
                removeConnection(connectionFailed.connection());
        }
@@ -607,7 +623,7 @@ public class Core extends AbstractExecutionThreadService {
         */
        @Subscribe
        public void channelMessageReceived(ChannelMessageReceived channelMessageReceived) {
-               String message = MessageCleaner.getDefaultInstance().clean(channelMessageReceived.message());
+               String message = getDefaultInstance().clean(channelMessageReceived.message());
                if (!message.startsWith("#")) {
                        /* most probably not a pack announcement. */
                        return;