Use new high-level client to connect.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 22 May 2009 04:48:05 +0000 (06:48 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 22 May 2009 04:48:05 +0000 (06:48 +0200)
src/net/pterodactylus/jsite/core/NodeManager.java

index ac47628..6842459 100644 (file)
@@ -27,6 +27,7 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -39,6 +40,8 @@ import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import net.pterodactylus.fcp.highlevel.FcpClient;
+import net.pterodactylus.fcp.highlevel.FcpException;
 import net.pterodactylus.jsite.util.IdGenerator;
 import net.pterodactylus.util.io.Closer;
 import net.pterodactylus.util.logging.Logging;
@@ -72,6 +75,9 @@ public class NodeManager implements Iterable<Node>, PropertyChangeListener {
        /** Map from node ID to node. */
        private final Map<String, Node> idNodes = Collections.synchronizedMap(new HashMap<String, Node>());
 
+       /** Map from node to client. */
+       private final Map<Node, FcpClient> nodeClients = Collections.synchronizedMap(new HashMap<Node, FcpClient>());
+
        /** Collection of currently connected nodes. */
        private final Set<Node> connectedNodes = Collections.synchronizedSet(new HashSet<Node>());
 
@@ -315,6 +321,16 @@ public class NodeManager implements Iterable<Node>, PropertyChangeListener {
                        logger.log(Level.WARNING, "Was told to connect to node (" + node + ") I don’t know about!");
                        return;
                }
+               try {
+                       FcpClient fcpClient = new FcpClient(clientName, node.getHostname(), node.getPort());
+                       fcpClient.connect();
+               } catch (UnknownHostException uhe1) {
+                       nodeListenerSupport.fireNodeConnectionFailed(node, uhe1);
+               } catch (IOException ioe1) {
+                       nodeListenerSupport.fireNodeConnectionFailed(node, ioe1);
+               } catch (FcpException fe1) {
+                       nodeListenerSupport.fireNodeConnectionFailed(node, fe1);
+               }
        }
 
        /**