X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fcore%2FInsertManager.java;h=00c05e3fba8a1e4297c14171a09b640d996bb885;hb=2ab79371be9e363e182cb2dec74986d18ef46c47;hp=bdd02a10618b87d98600ac0730dc4bfbeac32a2a;hpb=c63257e8cc0ba1a5aca9364b22171abe7279d479;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/core/InsertManager.java b/src/net/pterodactylus/jsite/core/InsertManager.java index bdd02a1..00c05e3 100644 --- a/src/net/pterodactylus/jsite/core/InsertManager.java +++ b/src/net/pterodactylus/jsite/core/InsertManager.java @@ -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; @@ -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(); @@ -55,9 +53,7 @@ public class InsertManager { */ public void addInsertListener(InsertListener insertListener) { logger.log(Level.FINEST, "addInsertListener(insertListener=" + insertListener + ")"); - synchronized (insertListeners) { - insertListeners.add(insertListener); - } + insertListenerSupport.addListener(insertListener); } /** @@ -68,100 +64,7 @@ public class InsertManager { */ 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); } // @@ -181,18 +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); saveConfiguration(); - fireInsertAdded(newInsert); + insertListenerSupport.fireInsertAdded(newInsert); /* TODO - start insert */ }