X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fcore%2FCoreImpl.java;h=d0e78b96d7c1d08769653db46045dfb3e985f3a7;hb=dcab7505473d0a4f779b4199eba4e201c4923df6;hp=9c68d441dd0f96cbdce0fff6c6db0313d5bccd87;hpb=7ccb1fcb746198ee1417bb2f92c846132bf6bc96;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/core/CoreImpl.java b/src/net/pterodactylus/jsite/core/CoreImpl.java index 9c68d44..d0e78b9 100644 --- a/src/net/pterodactylus/jsite/core/CoreImpl.java +++ b/src/net/pterodactylus/jsite/core/CoreImpl.java @@ -20,14 +20,17 @@ package net.pterodactylus.jsite.core; import java.io.IOException; +import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; +import net.pterodactylus.jsite.project.Project; +import net.pterodactylus.jsite.project.ProjectManager; + /** * The core of jSite. * * @author David ‘Bombe’ Roden <bombe@freenetproject.org> - * @version $Id$ */ public class CoreImpl implements Core, NodeListener, RequestListener { @@ -187,6 +190,30 @@ public class CoreImpl implements Core, NodeListener, RequestListener { } /** + * Notifies all listeners that a node was added to the core. + * + * @param node + * The node that was added + */ + private void fireNodeAdded(Node node) { + for (CoreListener coreListener: coreListeners) { + coreListener.nodeAdded(node); + } + } + + /** + * Notifies all listeners that a node was removed from the core. + * + * @param node + * The node that was removed + */ + private void fireNodeRemoved(Node node) { + for (CoreListener coreListener: coreListeners) { + coreListener.nodeRemoved(node); + } + } + + /** * Notifies all listeners that a connection to the given node is now being * established. * @@ -212,31 +239,31 @@ public class CoreImpl implements Core, NodeListener, RequestListener { } /** - * Notifies all listeners that the given node was disconnected. + * Notifies all listeners that a connection to a node has failed. * * @param node - * The node that is now disconnected - * @param throwable - * The exception that caused the disconnect, or null - * if there was no exception + * The node that could not be connected + * @param cause + * The cause of the failure */ - private void fireNodeDisconnected(Node node, Throwable throwable) { + private void fireNodeConnectionFailed(Node node, Throwable cause) { for (CoreListener coreListener: coreListeners) { - coreListener.nodeDisconnected(node, throwable); + coreListener.nodeConnectionFailed(node, cause); } } /** - * Notifies all listeners that a request was added to a node. + * Notifies all listeners that the given node was disconnected. * * @param node - * The node the request was added to - * @param request - * The request that was added + * The node that is now disconnected + * @param throwable + * The exception that caused the disconnect, or null + * if there was no exception */ - private void fireRequestAdded(Node node, Request request) { + private void fireNodeDisconnected(Node node, Throwable throwable) { for (CoreListener coreListener: coreListeners) { - coreListener.requestAdded(node, request); + coreListener.nodeDisconnected(node, throwable); } } @@ -306,6 +333,13 @@ public class CoreImpl implements Core, NodeListener, RequestListener { return nodeManager.hasNode(node); } + /** + * {@inheritDoc} + */ + public List getProjects() { + return projectManager.getProjects(); + } + // // ACTIONS // @@ -351,9 +385,22 @@ public class CoreImpl implements Core, NodeListener, RequestListener { /** * {@inheritDoc} */ + public boolean addNode(Node node) throws UnknownHostException { + return nodeManager.addNode(node); + } + + /** + * {@inheritDoc} + */ + public void removeNode(Node node) { + nodeManager.removeNode(node); + } + + /** + * {@inheritDoc} + */ public void connectToNode(Node node) { fireNodeConnecting(node); - nodeManager.addNode(node); nodeManager.connect(node); } @@ -364,6 +411,13 @@ public class CoreImpl implements Core, NodeListener, RequestListener { nodeManager.disconnect(node); } + /** + * {@inheritDoc} + */ + public Project createProject() throws IOException, JSiteException { + return projectManager.createProject(); + } + // // PRIVATE METHODS // @@ -391,6 +445,20 @@ public class CoreImpl implements Core, NodeListener, RequestListener { /** * {@inheritDoc} */ + public void nodeAdded(Node node) { + fireNodeAdded(node); + } + + /** + * {@inheritDoc} + */ + public void nodeRemoved(Node node) { + fireNodeRemoved(node); + } + + /** + * {@inheritDoc} + */ public void nodeConnected(Node node) { fireNodeConnected(node); } @@ -398,6 +466,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); } @@ -409,8 +484,37 @@ public class CoreImpl implements Core, NodeListener, RequestListener { /** * {@inheritDoc} */ - public void requestAdded(Node node, Request request) { - fireRequestAdded(node, request); + public void requestAdded(Request request) { + /* TODO - find project and process request */ + } + + /** + * @see net.pterodactylus.jsite.core.RequestListener#requestProgressed(Request) + */ + public void requestProgressed(Request request) { + /* TODO - find project and process request */ + } + + /** + * @see net.pterodactylus.jsite.core.RequestListener#requestRemoved(net.pterodactylus.jsite.core.Request) + */ + public void requestRemoved(Request request) { + /* TODO - find project and process request */ + } + + /** + * @see net.pterodactylus.jsite.core.RequestListener#requestGeneratedURI(net.pterodactylus.jsite.core.Request, + * java.lang.String) + */ + public void requestGeneratedURI(Request request, String uri) { + /* TODO - find project and process request */ + } + + /** + * @see net.pterodactylus.jsite.core.RequestListener#requestFinished(net.pterodactylus.jsite.core.Request) + */ + public void requestFinished(Request request) { + /* TODO - find project and process request */ } }