add insertProject()
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sun, 15 Jun 2008 23:23:42 +0000 (01:23 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sun, 15 Jun 2008 23:23:42 +0000 (01:23 +0200)
src/net/pterodactylus/jsite/core/InsertManager.java

index be8cc5e..1a55798 100644 (file)
  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
  * Place - Suite 330, Boston, MA 02111-1307, USA.
  */
+
 package net.pterodactylus.jsite.core;
 
 import java.util.ArrayList;
-import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -38,6 +40,9 @@ public class InsertManager {
        /** The insert listeners. */
        private final List<InsertListener> insertListeners = new ArrayList<InsertListener>();
 
+       /** Mapping from insert IDs to inserts. */
+       private final Map<String, Insert> inserts = new HashMap<String, Insert>();
+
        //
        // EVENT MANAGEMENT
        //
@@ -157,6 +162,33 @@ public class InsertManager {
        //
 
        /**
+        * Starts to insert the given project. The insert will be made to the node
+        * stored in the project, and if no node is specified in the project, the
+        * given node will be used.
+        * 
+        * @param project
+        *            The project to insert
+        * @param node
+        *            The node to insert the project to if the project does not
+        *            specify a node
+        */
+       public void insertProject(Project project, Node node) {
+               logger.log(Level.FINEST, "insertProject(project=" + project + ",node=" + node + ")");
+               Node insertNode = project.getNode();
+               if (insertNode == null) {
+                       insertNode = node;
+                       if (insertNode == null) {
+                               throw new NullPointerException("node must not be null");
+                       }
+               }
+               String insertId = "insert-" + project.getId();
+               Insert newInsert = new Insert(project, insertNode, insertId);
+               inserts.put(insertId, newInsert);
+               fireInsertAdded(newInsert);
+               /* TODO - start insert */
+       }
+
+       /**
         * Starts the insert manager.
         */
        public void start() {