make delete and clone buttons project specific
[jSite2.git] / src / net / pterodactylus / jsite / core / CoreImpl.java
index d0e78b9..dbc5997 100644 (file)
@@ -120,6 +120,30 @@ 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 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
@@ -414,10 +438,19 @@ public class CoreImpl implements Core, NodeListener, RequestListener {
        /**
         * {@inheritDoc}
         */
-       public Project createProject() throws IOException, JSiteException {
-               return projectManager.createProject();
+       public void createProject() throws IOException, JSiteException {
+               Project newProject = projectManager.createProject();
+               fireProjectAdded(newProject);
        }
 
+       /**
+        * {@inheritDoc}
+        */
+       public void removeProject(Project project) {
+               projectManager.removeProject(project);
+               fireProjectRemoved(project);
+       }
+       
        //
        // PRIVATE METHODS
        //