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 {
}
/**
+ * 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
}
}
- /**
- * 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) {
- for (CoreListener coreListener: coreListeners) {
- coreListener.requestAdded(node, request);
- }
- }
-
- /**
- * Notifies all listeners that a request progressed.
- *
- * @param node
- * The node that runs the request
- * @param request
- * The request
- * @param totalBlocks
- * The total number of blocks
- * @param requiredBlocks
- * The number of required blocks
- * @param successfulBlocks
- * The number of successful blocks
- * @param failedBlocks
- * The number of failed blocks
- * @param fatallyFailedBlocks
- * The number of fatally failed blocks
- * @param finalizedTotal
- * <code>true</code> if the total number of blocks in final,
- * <code>false</code> otherwise
- */
- private void fireRequestProgressed(Node node, Request request, int totalBlocks, int requiredBlocks, int successfulBlocks, int failedBlocks, int fatallyFailedBlocks, boolean finalizedTotal) {
- for (CoreListener coreListener: coreListeners) {
- coreListener.requestProgressed(request, totalBlocks, requiredBlocks, successfulBlocks, failedBlocks, fatallyFailedBlocks, finalizedTotal);
- }
- }
-
//
// ACCESSORS
//
return nodeManager.hasNode(node);
}
+ /**
+ * {@inheritDoc}
+ */
+ public List<Project> getProjects() {
+ return projectManager.getProjects();
+ }
+
//
// ACTIONS
//
nodeManager.disconnect(node);
}
+ /**
+ * {@inheritDoc}
+ */
+ 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
//
/**
* {@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#requestProgressed(net.pterodactylus.jsite.core.Node,
- * net.pterodactylus.jsite.core.Request, int, int, int, int, int,
- * boolean)
+ * @see net.pterodactylus.jsite.core.RequestListener#requestFinished(net.pterodactylus.jsite.core.Request)
*/
- 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);
+ public void requestFinished(Request request) {
+ /* TODO - find project and process request */
}
+
}