X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fcore%2FInsertManager.java;h=00c05e3fba8a1e4297c14171a09b640d996bb885;hb=2ab79371be9e363e182cb2dec74986d18ef46c47;hp=9d47da5b489dafdb56ea30f215539e7af31976e7;hpb=c25f6b045eb48da039b7fb2784158b027e9b2fb3;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/core/InsertManager.java b/src/net/pterodactylus/jsite/core/InsertManager.java index 9d47da5..00c05e3 100644 --- a/src/net/pterodactylus/jsite/core/InsertManager.java +++ b/src/net/pterodactylus/jsite/core/InsertManager.java @@ -1,16 +1,16 @@ /* * jSite2 - InsertManager.java - Copyright © 2008 David Roden - * + * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) any later * version. - * + * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. - * + * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place - Suite 330, Boston, MA 02111-1307, USA. @@ -18,9 +18,7 @@ package net.pterodactylus.jsite.core; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; @@ -29,7 +27,7 @@ import net.pterodactylus.util.logging.Logging; /** * Manages all currently running and past inserts. - * + * * @author David ‘Bombe’ Roden <bombe@freenetproject.org> */ public class InsertManager { @@ -37,8 +35,8 @@ public class InsertManager { /** Logger. */ private static final Logger logger = Logging.getLogger(InsertManager.class.getName()); - /** The insert listeners. */ - private final List insertListeners = new ArrayList(); + /** The insert listener support. */ + private final InsertListenerSupport insertListenerSupport = new InsertListenerSupport(); /** Mapping from insert IDs to inserts. */ private final Map inserts = new HashMap(); @@ -49,119 +47,24 @@ public class InsertManager { /** * Adds an insert listener to the list of insert listeners. - * + * * @param insertListener * The insert listener to add */ public void addInsertListener(InsertListener insertListener) { logger.log(Level.FINEST, "addInsertListener(insertListener=" + insertListener + ")"); - synchronized (insertListeners) { - insertListeners.add(insertListener); - } + insertListenerSupport.addListener(insertListener); } /** * Removes an insert listener from the list of insert listeners. - * + * * @param insertListener * The insert listener to remove */ public void removeInsertListener(InsertListener insertListener) { logger.log(Level.FINEST, "removeInsertListener(insertListener=" + insertListener + ")"); - synchronized (insertListeners) { - insertListeners.remove(insertListener); - } - } - - /** - * Notifies all listeners that an insert was added. - * - * @param insert - * The insert that was added - */ - private void fireInsertAdded(Insert insert) { - synchronized (insertListeners) { - for (InsertListener insertListener : insertListeners) { - insertListener.insertAdded(insert); - } - } - } - - /** - * Notifies all listeners that an insert was removed. - * - * @param insert - * The insert that was removes - */ - @SuppressWarnings("unused") - private void fireInsertRemoved(Insert insert) { - synchronized (insertListeners) { - for (InsertListener insertListener : insertListeners) { - insertListener.insertRemoved(insert); - } - } - } - - /** - * Notifies all listeners that an insert was started. - * - * @param insert - * The insert that was started - */ - @SuppressWarnings("unused") - private void fireInsertStarted(Insert insert) { - synchronized (insertListeners) { - for (InsertListener insertListener : insertListeners) { - insertListener.insertStarted(insert); - } - } - } - - /** - * Notifies all listeners that an insert made some progress - * - * @param insert - * The insert that made some progress - */ - @SuppressWarnings("unused") - private void fireInsertProgressed(Insert insert) { - synchronized (insertListeners) { - for (InsertListener insertListener : insertListeners) { - insertListener.insertProgressed(insert); - } - } - } - - /** - * Notifies all listeners that an insert generated a URI. - * - * @param insert - * The insert that generated a URI - * @param uri - * The generated URI - */ - @SuppressWarnings("unused") - private void fireInsertGeneratedURI(Insert insert, String uri) { - synchronized (insertListeners) { - for (InsertListener insertListener : insertListeners) { - insertListener.insertGeneratedURI(insert, uri); - } - } - } - - /** - * Notifies all listeners that an insert has finished. - * - * @param insert - * The insert that has finished - */ - @SuppressWarnings("unused") - private void fireInsertFinished(Insert insert) { - synchronized (insertListeners) { - for (InsertListener insertListener : insertListeners) { - insertListener.insertFinished(insert); - } - } + insertListenerSupport.removeListener(insertListener); } // @@ -172,7 +75,7 @@ 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 @@ -181,17 +84,11 @@ public class InsertManager { */ 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); + Insert newInsert = new Insert(project, node, insertId); inserts.put(insertId, newInsert); - fireInsertAdded(newInsert); + saveConfiguration(); + insertListenerSupport.fireInsertAdded(newInsert); /* TODO - start insert */ } @@ -214,4 +111,11 @@ public class InsertManager { logger.log(Level.FINEST, "loadConfiguration()"); } + /** + * Saves the configuration. + */ + private void saveConfiguration() { + logger.log(Level.FINEST, "saveConfiguration()"); + } + }