implement project cloning
[jSite2.git] / src / net / pterodactylus / jsite / core / CoreImpl.java
index dbc5997..9073655 100644 (file)
@@ -130,6 +130,17 @@ public class CoreImpl implements Core, NodeListener, RequestListener {
                        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.
@@ -446,6 +457,14 @@ public class CoreImpl implements Core, NodeListener, RequestListener {
        /**
         * {@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);