Salome HOME
More business logic has been moved from BO to services. ServiceLocator is created...
[tools/siman.git] / Workspace / Siman-Common / src / org / splat / dal / bo / som / Scenario.java
index f4458be27273f8ded91f0b01a4f9200d54edb2a7..362e169074d8cec615a1f1f7454d83e9ea7839aa 100644 (file)
@@ -5,7 +5,6 @@ package org.splat.dal.bo.som;
  * @copyright OPEN CASCADE 2012
  */
 
-import java.io.IOException;
 import java.util.Calendar;
 import java.util.Collections;
 import java.util.Date;
@@ -16,17 +15,12 @@ import java.util.Set;
 import java.util.HashSet;
 import java.util.Vector;
 
-import org.hibernate.HibernateException;
-import org.hibernate.Session;
-import org.hibernate.Transaction;
 import org.splat.dal.bo.kernel.Persistent;
 import org.splat.dal.bo.kernel.User;
 import org.splat.dal.dao.som.Database;
 import org.splat.kernel.InvalidPropertyException;
 import org.splat.kernel.MissedPropertyException;
 import org.splat.kernel.MultiplyDefinedException;
-import org.splat.service.StepService;
-import org.splat.service.technical.IndexService;
 import org.splat.som.Step;
 
 
@@ -36,19 +30,34 @@ public class Scenario extends ProjectElement {
     private Study                 owner;
        private int                   sid;               // Identifier unique in the scope of owner study
        private User                  cuser;             // User having checked-out the scenario, if done
+    /**
+     * The persistent set of scenario knowledge elements.
+     */
     private Set<KnowledgeElement> kelms;
 
 //  Transient fields
-    private HashMap<Long, List<KnowledgeElement>> known;
-    private List<KnowledgeElement>                   knowl;  // Copy of kelms excluding the internal Knowledge Element (ucase below)
-       private KnowledgeElement                         ucase;  // Internal Knowledge Element for accessing to all used simulation contexts
+    /**
+     * The transient map of knowledge elements grouped by types.
+     */
+    transient private HashMap<Long, List<KnowledgeElement>> known;
+    /**
+     * The scenario transient list of knowledge elements.
+     */
+    transient private List<KnowledgeElement>                   knowl;  // Copy of kelms excluding the internal Knowledge Element (ucase below)
+       /**
+        * The scenario transient "use case" knowledge element.
+        */
+       transient private KnowledgeElement                         ucase;  // Internal Knowledge Element for accessing to all used simulation contexts
 
 
 //  ==============================================================================================================================
 //  Construction
 //  ==============================================================================================================================
 
-//  Fields initialization class
+
+    /**
+     *   Fields initialization class.
+     */
     public static class Properties extends Persistent.Properties {
 //  ------------------------------------------------------------
       private Study    owner    = null;
@@ -151,7 +160,7 @@ public class Scenario extends ProjectElement {
       kelms   = new HashSet<KnowledgeElement>();
 
       manager = sprop.manager;
-      if (!owner.isStaffedBy(manager)) throw new InvalidPropertyException("manager");
+//RKV: The business logic is moved to business services:      if (!owner.isStaffedBy(manager)) throw new InvalidPropertyException("manager");
 
       credate = sprop.date;        // Inherited attribute
       if (credate == null) {
@@ -258,26 +267,29 @@ public class Scenario extends ProjectElement {
 //  Private services
 //  ==============================================================================================================================
        /**
-        * @return
+        * Get the persistent set of knowledge elements.
+        * @return the persistent set of scenario knowledge elements
         */
        public Set<KnowledgeElement> getKnowledgeElements() {
                return kelms;
        }
-       /**
-        * @param kelm
+       /** 
+        * Get the transient list of knowledge elements.
+        * @return the transient list of knowledge elements
         */
-       public void setUcase(KnowledgeElement kelm) {
-               ucase = kelm;
+       public List<KnowledgeElement> getKnowledgeElementsList() {
+               return knowl;
        }
        /**
-        * @return
+        * Set the scenario transient "use case" knowledge element.
+        * @param kelm the scenario transient "use case" knowledge element
         */
-       public List<KnowledgeElement> getKnowledgeElementsList() {
-               return knowl;
+       public void setUcase(KnowledgeElement kelm) {
+               ucase = kelm;
        }
        /**
-        * Get the ucase.
-        * @return the ucase
+        * Get the scenario transient "use case" knowledge element.
+        * @return the scenario transient "use case" knowledge element
         */
        public KnowledgeElement getUcase() {
                return ucase;