X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fcore%2FCoreImpl.java;h=d2fa1accbc521f462c73bbc08da91178256c2ec6;hb=40aee755466b1d99bc6204112e923ed13201d89a;hp=f3ac5c0ad31ef89c9d11c1d99720d0381624adbe;hpb=ebd531bc775036dd66a7e20abebbcb480af35491;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/core/CoreImpl.java b/src/net/pterodactylus/jsite/core/CoreImpl.java index f3ac5c0..d2fa1ac 100644 --- a/src/net/pterodactylus/jsite/core/CoreImpl.java +++ b/src/net/pterodactylus/jsite/core/CoreImpl.java @@ -20,6 +20,7 @@ package net.pterodactylus.jsite.core; import java.io.IOException; +import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; @@ -236,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 @@ -253,14 +268,36 @@ public class CoreImpl implements Core, NodeListener, RequestListener { /** * Notifies all listeners that a request was added to a node. * - * @param node - * The node the request was added to * @param request * The request that was added */ - private void fireRequestAdded(Node node, Request request) { + private void fireRequestAdded(Request request) { + for (CoreListener coreListener: coreListeners) { + coreListener.requestAdded(request); + } + } + + /** + * Notifies all listeners that a request progressed. + * + * @param request + * The request + */ + private void fireRequestProgressed(Request request) { + for (CoreListener coreListener: coreListeners) { + coreListener.requestProgressed(request); + } + } + + /** + * Notifies all listeners that a request was removed. + * + * @param request + * The request that was removed + */ + private void fireRequestRemoved(Request request) { for (CoreListener coreListener: coreListeners) { - coreListener.requestAdded(node, request); + coreListener.requestRemoved(request); } } @@ -375,9 +412,8 @@ public class CoreImpl implements Core, NodeListener, RequestListener { /** * {@inheritDoc} */ - public void addNode(Node node) { - nodeManager.addNode(node); - fireNodeAdded(node); + public boolean addNode(Node node) throws UnknownHostException { + return nodeManager.addNode(node); } /** @@ -385,7 +421,6 @@ public class CoreImpl implements Core, NodeListener, RequestListener { */ public void removeNode(Node node) { nodeManager.removeNode(node); - fireNodeRemoved(node); } /** @@ -393,7 +428,6 @@ public class CoreImpl implements Core, NodeListener, RequestListener { */ public void connectToNode(Node node) { fireNodeConnecting(node); - nodeManager.addNode(node); nodeManager.connect(node); } @@ -452,6 +486,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); } @@ -463,8 +504,22 @@ public class CoreImpl implements Core, NodeListener, RequestListener { /** * {@inheritDoc} */ - public void requestAdded(Node node, Request request) { - fireRequestAdded(node, request); + public void requestAdded(Request request) { + fireRequestAdded(request); + } + + /** + * @see net.pterodactylus.jsite.core.RequestListener#requestProgressed(Request) + */ + public void requestProgressed(Request request) { + fireRequestProgressed(request); + } + + /** + * @see net.pterodactylus.jsite.core.RequestListener#requestRemoved(net.pterodactylus.jsite.core.Request) + */ + public void requestRemoved(Request request) { + fireRequestRemoved(request); } }