Salome HOME
Siman codebase is refactored. Spring beans are introduced in the context.
[tools/siman.git] / Workspace / Siman / src / org / splat / simer / StudyMenu.java
index 54901062585e5cc054895a42b6d409e956e14a08..ff571ab78825ea1898a70900fc914a5c3f61ffc8 100644 (file)
@@ -3,10 +3,12 @@ package org.splat.simer;
 import java.util.Iterator;
 import java.util.Vector;
 
-import org.splat.som.ProjectElement;
-import org.splat.som.Scenario;
+import org.splat.dal.bo.som.ProjectElement;
+import org.splat.dal.bo.som.Scenario;
+import org.splat.service.ProjectElementService;
+import org.splat.service.ScenarioService;
 import org.splat.som.Step;
-import org.splat.som.Study;
+import org.splat.dal.bo.som.Study;
 import org.splat.wapp.MenuItem;
 import org.splat.wapp.SlidMenu;
 
@@ -16,6 +18,8 @@ public class StudyMenu extends SlidMenu {
     private  Study    study;
     private  Scenario scopen;     // Currently "open" scenario
     private  Step     stopen;     // Currently selected step
+       private ScenarioService _scenarioService;
+       private ProjectElementService _projectElementService;
     
 //  ==============================================================================================================================
 //  Constructor
@@ -58,13 +62,13 @@ public class StudyMenu extends SlidMenu {
 //    Study with several scenarii, non of them open
 //      Collection of steps to be displayed
         Vector<Step> steps   = new Vector<Step>();
-        Step[]       newstep = scenes[0].getSteps();   // All scenarii have the same steps
+        Step[]       newstep = getProjectElementService().getSteps(scenes[0]);   // All scenarii have the same steps
           
         int base = newstep[0].getNumber();
         int last = newstep[newstep.length-1].getNumber();
-       for (int i=0; i<scenes.length; i++) steps.add(scenes[i].getFirstStep());
+       for (int i=0; i<scenes.length; i++) steps.add(getProjectElementService().getFirstStep(scenes[i]));
 
-        newstep = study.getSteps();
+        newstep = getProjectElementService().getSteps(study);
         stopen  = newstep[0];                          // Default selected step
         for (int i=newstep.length-1; i>-1; i--) {
           if(newstep[i].getNumber() >= base) continue;
@@ -90,7 +94,7 @@ public class StudyMenu extends SlidMenu {
                int      index = group.getIndex();
                String   value = index + "." + number;
                if      (group.isCheckedout()) icon = "icon.checkedout.png";
-               else if (group.isEmpty())      icon = "icon.empty.png";
+               else if (getScenarioService().isEmpty(group))      icon = "icon.empty.png";
 //          else if (group.isFinished())   icon = "icon.checked.png";
             else                           icon = "icon.done.png";
             addGroup(value, group.getTitle(),  icon, "step-study?selection=" + value);                 
@@ -103,20 +107,20 @@ public class StudyMenu extends SlidMenu {
        this.clear();
 //      Collection of steps to be displayed
         Vector<Step> steps   = new Vector<Step>();
-        Step[]       newstep = scenew.getSteps();
+        Step[]       newstep = getProjectElementService().getSteps(scenew);
         
         int base = newstep[0].getNumber();
         int last = newstep[newstep.length-1].getNumber();
         for (int i=0; i<newstep.length; i++) {
                steps.add(newstep[i]);
         }
-        for (int i=askid-1; i>-1; i--) steps.add(0, scenes[i].getFirstStep());
-        newstep = study.getSteps();
+        for (int i=askid-1; i>-1; i--) steps.add(0, getProjectElementService().getFirstStep(scenes[i]));
+        newstep = getProjectElementService().getSteps(study);
         for (int i=newstep.length-1; i>-1; i--) {
           if(newstep[i].getNumber() >= base) continue;
           steps.add(0, newstep[i]);
         }
-        for (int i=askid+1; i<scenes.length; i++) steps.add(scenes[i].getFirstStep());
+        for (int i=askid+1; i<scenes.length; i++) steps.add(getProjectElementService().getFirstStep(scenes[i]));
         for (int i=0; i<newstep.length; i++) {
           if(newstep[i].getNumber() <= last) continue;
           steps.add(newstep[i]);
@@ -140,7 +144,7 @@ public class StudyMenu extends SlidMenu {
                String   value = index + "." + number;
                if (index != scenew.getIndex()) {
               if      (group.isCheckedout()) icon = "icon.checkedout.png";
-              else if (group.isEmpty())      icon = "icon.empty.png";
+              else if (getScenarioService().isEmpty(group))      icon = "icon.empty.png";
 //            else if (group.isFinished())   icon = "icon.checked.png";
               else                           icon = "icon.done.png";
               addGroup(value, group.getTitle(),  icon, "step-study?selection=" + value);                       
@@ -156,7 +160,7 @@ public class StudyMenu extends SlidMenu {
        scopen = scenew;
       }
       else {
-        Step[] step     = scopen.getSteps();
+        Step[] step     = getProjectElementService().getSteps(scopen);
         int    selected = Integer.valueOf(parse[1]);
         for (int i=0; i<step.length; i++) {
           if (step[i].getNumber() != selected) continue;
@@ -199,4 +203,42 @@ public class StudyMenu extends SlidMenu {
       else                          icon = "icon.done.png";
       item.icon(icon);
     }
+       /**
+        * Get the scenarioService.
+        * 
+        * @return the scenarioService
+        */
+       public ScenarioService getScenarioService() {
+               return _scenarioService;
+       }
+
+       /**
+        * Set the scenarioService.
+        * 
+        * @param scenarioService
+        *            the scenarioService to set
+        */
+       public void setScenarioService(ScenarioService scenarioService) {
+               _scenarioService = scenarioService;
+       }
+
+       /**
+        * Get the projectElementService.
+        * 
+        * @return the projectElementService
+        */
+       public ProjectElementService getProjectElementService() {
+               return _projectElementService;
+       }
+
+       /**
+        * Set the projectElementService.
+        * 
+        * @param projectElementService
+        *            the projectElementService to set
+        */
+       public void setProjectElementService(
+                       ProjectElementService projectElementService) {
+               _projectElementService = projectElementService;
+       }
 }
\ No newline at end of file