Only disconnect known nodes.
[jSite2.git] / src / net / pterodactylus / jsite / core / NodeManager.java
index 6842459..e8fd278 100644 (file)
@@ -324,6 +324,8 @@ public class NodeManager implements Iterable<Node>, PropertyChangeListener {
                try {
                        FcpClient fcpClient = new FcpClient(clientName, node.getHostname(), node.getPort());
                        fcpClient.connect();
+                       nodeClients.put(node, fcpClient);
+                       nodeListenerSupport.fireNodeConnected(node);
                } catch (UnknownHostException uhe1) {
                        nodeListenerSupport.fireNodeConnectionFailed(node, uhe1);
                } catch (IOException ioe1) {
@@ -341,6 +343,10 @@ public class NodeManager implements Iterable<Node>, PropertyChangeListener {
         */
        public void disconnect(Node node) {
                logger.log(Level.FINEST, "disconnect(node=" + node + ")");
+               if (!nodes.contains(node)) {
+                       logger.log(Level.WARNING, "Was told to disconnect from a node (" + node + ") I don’t know about!");
+                       return;
+               }
        }
 
        /**