X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fcore%2FCoreImpl.java;h=9073655a007ce5468aef8f0ff22c372a862816c4;hb=e90166826c175ae4d17f030f865c0ade214ead1a;hp=eae7b3a083237a9c6d30befe95bcfa72d43a1446;hpb=78dd8a015cbfdedca1a962d03d16b89ee8187b8f;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/core/CoreImpl.java b/src/net/pterodactylus/jsite/core/CoreImpl.java index eae7b3a..9073655 100644 --- a/src/net/pterodactylus/jsite/core/CoreImpl.java +++ b/src/net/pterodactylus/jsite/core/CoreImpl.java @@ -24,11 +24,13 @@ 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 { @@ -118,6 +120,41 @@ public class CoreImpl implements Core, NodeListener, RequestListener { } /** + * Notifies all listeners that a project was added. + * + * @param project + * The project that was added + */ + private void fireProjectAdded(Project project) { + for (CoreListener coreListener: coreListeners) { + coreListener.projectAdded(project); + } + } + + /** + * Notifies all listeners that a project was cloned. + * @param clonedProject The project that was cloned + * @param projectClone The clone of the project + */ + private void fireProjectCloned(Project clonedProject, Project projectClone) { + for (CoreListener coreListener: coreListeners) { + coreListener.projectCloned(clonedProject, projectClone); + } + } + + /** + * Notifies all listeners that a project was removed. + * + * @param project + * The project that was removed + */ + private void fireProjectRemoved(Project project) { + for (CoreListener coreListener: coreListeners) { + coreListener.projectRemoved(project); + } + } + + /** * Notifies all listeners that the nodes were successfully loaded. * * @param directory @@ -265,42 +302,6 @@ public class CoreImpl implements Core, NodeListener, RequestListener { } } - /** - * Notifies all listeners that a request was added to a node. - * - * @param request - * The request that was added - */ - 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.requestRemoved(request); - } - } - // // ACCESSORS // @@ -367,6 +368,13 @@ public class CoreImpl implements Core, NodeListener, RequestListener { return nodeManager.hasNode(node); } + /** + * {@inheritDoc} + */ + public List getProjects() { + return projectManager.getProjects(); + } + // // ACTIONS // @@ -441,18 +449,27 @@ public class CoreImpl implements Core, NodeListener, RequestListener { /** * {@inheritDoc} */ - public Project addProject(String projectName) throws IOException { - Project project = new Project(); - project.setName(projectName); - String[] keyPair = nodeManager.generateKeyPair(); - if (keyPair == null) { - return null; - } - project.setPrivateKey(keyPair[0]); - project.setPublicKey(keyPair[1]); - return project; + public void createProject() throws IOException, JSiteException { + Project newProject = projectManager.createProject(); + fireProjectAdded(newProject); } + /** + * {@inheritDoc} + */ + public void cloneProject(Project project) { + Project projectClone = projectManager.cloneProject(project); + fireProjectCloned(project, projectClone); + } + + /** + * {@inheritDoc} + */ + public void removeProject(Project project) { + projectManager.removeProject(project); + fireProjectRemoved(project); + } + // // PRIVATE METHODS // @@ -520,21 +537,36 @@ public class CoreImpl implements Core, NodeListener, RequestListener { * {@inheritDoc} */ public void requestAdded(Request request) { - fireRequestAdded(request); + /* TODO - find project and process request */ } /** * @see net.pterodactylus.jsite.core.RequestListener#requestProgressed(Request) */ public void requestProgressed(Request request) { - fireRequestProgressed(request); + /* TODO - find project and process request */ } /** * @see net.pterodactylus.jsite.core.RequestListener#requestRemoved(net.pterodactylus.jsite.core.Request) */ public void requestRemoved(Request request) { - fireRequestRemoved(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 */ } }