make connections work
[jSite2.git] / src / net / pterodactylus / jsite / core / CoreImpl.java
index 682199e..07c6345 100644 (file)
@@ -237,6 +237,20 @@ public class CoreImpl implements Core, NodeListener, RequestListener {
        }
 
        /**
+        * Notifies all listeners that a connection to a node has failed.
+        * 
+        * @param node
+        *            The node that could not be connected
+        * @param cause
+        *            The cause of the failure
+        */
+       private void fireNodeConnectionFailed(Node node, Throwable cause) {
+               for (CoreListener coreListener: coreListeners) {
+                       coreListener.nodeConnectionFailed(node, cause);
+               }
+       }
+
+       /**
         * Notifies all listeners that the given node was disconnected.
         * 
         * @param node
@@ -403,9 +417,8 @@ public class CoreImpl implements Core, NodeListener, RequestListener {
        /**
         * {@inheritDoc}
         */
-       public void addNode(Node node) throws UnknownHostException {
-               nodeManager.addNode(node);
-               fireNodeAdded(node);
+       public boolean addNode(Node node) throws UnknownHostException {
+               return nodeManager.addNode(node);
        }
 
        /**
@@ -413,7 +426,6 @@ public class CoreImpl implements Core, NodeListener, RequestListener {
         */
        public void removeNode(Node node) {
                nodeManager.removeNode(node);
-               fireNodeRemoved(node);
        }
 
        /**
@@ -479,6 +491,13 @@ public class CoreImpl implements Core, NodeListener, RequestListener {
        /**
         * {@inheritDoc}
         */
+       public void nodeConnectionFailed(Node node, Throwable cause) {
+               fireNodeConnectionFailed(node, cause);
+       }
+
+       /**
+        * {@inheritDoc}
+        */
        public void nodeDisconnected(Node node, Throwable throwable) {
                fireNodeDisconnected(node, throwable);
        }
@@ -500,6 +519,6 @@ public class CoreImpl implements Core, NodeListener, RequestListener {
         *      boolean)
         */
        public void requestProgressed(Node node, Request request, int totalBlocks, int requiredBlocks, int successfulBlocks, int failedBlocks, int fatallyFailedBlocks, boolean finalizedTotal) {
-       fireRequestProgressed(node, request, totalBlocks, requiredBlocks, successfulBlocks, failedBlocks, fatallyFailedBlocks, finalizedTotal);
-    }
+               fireRequestProgressed(node, request, totalBlocks, requiredBlocks, successfulBlocks, failedBlocks, fatallyFailedBlocks, finalizedTotal);
+       }
 }