Salome HOME
Fixed: adding a knowledge element (but there is still a double addition), opening...
[tools/siman.git] / Workspace / Siman-Common / src / org / splat / service / StudyServiceImpl.java
index ab57263c27ca9cf22ba4cbb41c1dbe988262412e..d0b9a56c0f5a9369f9cfeb5f7470544522f4c39d 100644 (file)
@@ -51,7 +51,7 @@ import org.splat.som.Revision;
  */
 public class StudyServiceImpl implements StudyService {
 
-       public final static Logger logger = org.splat.service.StudyServiceImpl.logger;
+       public final static Logger logger = Logger.getLogger(org.splat.service.StudyServiceImpl.class);
 
        private IndexService _indexService;
 
@@ -63,6 +63,28 @@ public class StudyServiceImpl implements StudyService {
 
        private ProjectElementService _projectElementService;
 
+       public Study selectStudy(int index) {
+               // -------------------------------------------
+               StringBuffer query = new StringBuffer("from Study where rid='").append(
+                               index).append("'");
+               Study result = (Study) Database.getSession().createQuery(
+                               query.toString()).uniqueResult();
+
+               result.loadWorkflow();
+               return result;
+       }
+
+       public Study selectStudy(String refid) {
+               // ----------------------------------------------
+               StringBuffer query = new StringBuffer("from Study where sid='").append(
+                               refid).append("'");
+               Study result = (Study) Database.getSession().createQuery(
+                               query.toString()).uniqueResult();
+
+               result.loadWorkflow();
+               return result;
+       }
+
        public Study createStudy(Study.Properties sprop)
                        throws MissedPropertyException, InvalidPropertyException,
                        MultiplyDefinedException, RuntimeException {
@@ -100,17 +122,6 @@ public class StudyServiceImpl implements StudyService {
                return added;
        }
 
-       /**
-        * @return
-        */
-       public StepService getStepService() {
-               return _stepService;
-       }
-
-       public void setStepService(StepService stepService) {
-               _stepService = stepService;
-       }
-
        public SimulationContext addProjectContext(Study aStudy,
                        SimulationContext context) {
                // ----------------------------------------------------------------------
@@ -292,7 +303,7 @@ public class StudyServiceImpl implements StudyService {
 
        public int generateLocalIndex(Study aStudy) {
                aStudy.setLastLocalIndex(aStudy.getLastLocalIndex() + 1);
-               Database.getSession().update(this);
+               Database.getSession().update(aStudy);
                return aStudy.getLastLocalIndex();
        }
 
@@ -320,7 +331,7 @@ public class StudyServiceImpl implements StudyService {
                        aStudy.getScenariiList().add(
                                        aStudy.getScenariiList().indexOf(previous) + 1, scenario);
                }
-               session.update(this); // No need to update the Lucene index
+               session.update(aStudy); // No need to update the Lucene index
                session.save(scenario); // Must be done after updating this study because of the back reference to the study
                if (sprop.getBaseStep() != null) {
                        // No need to update the Knowledge Element index as Knowledge Elements are not copied
@@ -473,4 +484,20 @@ public class StudyServiceImpl implements StudyService {
                        ProjectElementService projectElementService) {
                _projectElementService = projectElementService;
        }
+
+       /**
+        * Get the stepService.
+        * @return the stepService
+        */
+       public StepService getStepService() {
+               return _stepService;
+       }
+
+       /**
+        * Set the stepService.
+        * @param stepService the stepService to set
+        */
+       public void setStepService(StepService stepService) {
+               _stepService = stepService;
+       }
 }