Salome HOME
The draft of the "Copy from existing study" action is added. The YACS step is introdu...
[tools/siman.git] / Workspace / Siman-Common / src / org / splat / service / ProjectElementServiceImpl.java
index fda1d9d75db5d34258e965ec86253e621b7a5bd8..d01bdd6d7b42e89825aae00a12847a4440e0aefc 100644 (file)
@@ -9,8 +9,10 @@
 
 package org.splat.service;
 
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 import org.splat.dal.bo.som.ProjectElement;
 import org.splat.dal.bo.som.Publication;
@@ -70,15 +72,30 @@ public class ProjectElementServiceImpl implements ProjectElementService {
                return elem.getFolders(); // No protection against this object corruption as it would not corrupt the database
        }
 
+       /**
+        * {@inheritDoc}
+        * 
+        * @see org.splat.service.ProjectElementService#getStepsMap(org.splat.dal.bo.som.ProjectElement)
+        */
+       public Map<Integer, Step> getStepsMap(final ProjectElement elem) {
+               Step[] steps = getSteps(elem);
+               Map<Integer, Step> res = new HashMap<Integer, Step>();
+               for (Step step : steps) {
+                       res.put(step.getNumber(), step);
+               }
+               return res;
+       }
+
        /**
         * Refreshes the internal data potentially out-of-date. This function needs to be called when Publication objects are added to this
         * Project Element before being saved. The reason is, as saving a persistent object changes its hashcode, hashed data need to be rebuilt
         * after saving for making functions based on this hashcode such as remove(), working.
-        * @param elem the project element to refresh
+        * 
+        * @param elem
+        *            the project element to refresh
         */
        @Transactional
        public void refresh(final ProjectElement elem) {
-               // -------------------------
                Publication[] curdoc = elem.getDocums().toArray(
                                new Publication[elem.getDocums().size()]);
 
@@ -106,12 +123,14 @@ public class ProjectElementServiceImpl implements ProjectElementService {
         * @param stepsConfigService
         *            steps config service
         */
-       public void setStepsConfigService(final StepsConfigService stepsConfigService) {
+       public void setStepsConfigService(
+                       final StepsConfigService stepsConfigService) {
                _stepsConfigService = stepsConfigService;
        }
 
        /**
         * Get the projectElementDAO.
+        * 
         * @return the projectElementDAO
         */
        public ProjectElementDAO getProjectElementDAO() {
@@ -120,7 +139,9 @@ public class ProjectElementServiceImpl implements ProjectElementService {
 
        /**
         * Set the projectElementDAO.
-        * @param projectElementDAO the projectElementDAO to set
+        * 
+        * @param projectElementDAO
+        *            the projectElementDAO to set
         */
        public void setProjectElementDAO(final ProjectElementDAO projectElementDAO) {
                _projectElementDAO = projectElementDAO;