Salome HOME
Validation cycle modification in the study configuration screen is fixed.
[tools/siman.git] / Workspace / Siman-Common / src / org / splat / service / StudyServiceImpl.java
index a917ac652b89cfb450184dbeb30a5b78e3d3e942..d120b69444d1675dd5fd47b31d17216fb495dfd8 100644 (file)
@@ -40,6 +40,7 @@ import org.splat.dal.bo.som.Study.Properties;
 import org.splat.dal.dao.som.IDBuilderDAO;
 import org.splat.dal.dao.som.ScenarioDAO;
 import org.splat.dal.dao.som.StudyDAO;
+import org.splat.dal.dao.som.ValidationCycleDAO;
 import org.splat.kernel.InvalidPropertyException;
 import org.splat.kernel.MissedPropertyException;
 import org.splat.kernel.MultiplyDefinedException;
@@ -99,6 +100,11 @@ public class StudyServiceImpl implements StudyService {
         */
        private ScenarioDAO _scenarioDAO;
 
+       /**
+        * Injected validation cycle DAO.
+        */
+       private ValidationCycleDAO _validationCycleDAO;
+
        /**
         * Injected IDBuilder DAO.
         */
@@ -308,6 +314,7 @@ public class StudyServiceImpl implements StudyService {
         * @see org.splat.service.StudyService#setValidationCycle(org.splat.dal.bo.som.Study, org.splat.dal.bo.som.DocumentType,
         *      org.splat.dal.bo.som.ValidationCycle.Properties)
         */
+       @Transactional
        public void setValidationCycle(Study aStudy, DocumentType type,
                        ValidationCycle.Properties vprop) {
                HashMap<String, ValidationCycle> validactor = aStudy
@@ -324,8 +331,12 @@ public class StudyServiceImpl implements StudyService {
                        try {
                                cycle = new ValidationCycle(aStudy, vprop.setDocumentType(type));
 
+                               getValidationCycleDAO().create(cycle); //RKV
+                               
                                ValidationCycleRelation link = cycle.getContext();
-                               aStudy.addRelation(link);
+//RKV:                         aStudy.addRelation(link);
+                               aStudy.getAllRelations().add(link); //RKV
+                               
                                validactor.put(cname, link.getTo()); // Replaces the cycle if exists as default,
                        } catch (Exception error) {
                                logger.error("Unable to re-index Knowledge Elements, reason:",
@@ -727,4 +738,20 @@ public class StudyServiceImpl implements StudyService {
        public void setScenarioDAO(ScenarioDAO scenarioDAO) {
                _scenarioDAO = scenarioDAO;
        }
+
+       /**
+        * Get the validationCycleDAO.
+        * @return the validationCycleDAO
+        */
+       public ValidationCycleDAO getValidationCycleDAO() {
+               return _validationCycleDAO;
+       }
+
+       /**
+        * Set the validationCycleDAO.
+        * @param validationCycleDAO the validationCycleDAO to set
+        */
+       public void setValidationCycleDAO(ValidationCycleDAO validationCycleDAO) {
+               _validationCycleDAO = validationCycleDAO;
+       }
 }