]> SALOME platform Git repositories - tools/siman.git/blobdiff - Workspace/Siman/src/org/splat/simer/OpenKnowledge.java
Salome HOME
Modifications to respect PMD rules.
[tools/siman.git] / Workspace / Siman / src / org / splat / simer / OpenKnowledge.java
index 86dfc0c1a5adb3a2873df250bb95dc01c6d48c4b..cca5b9f9531aafe810ebe3b79272af2c6e748866 100644 (file)
@@ -5,27 +5,39 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.ResourceBundle;
-import java.util.Vector;
 
 import org.splat.dal.bo.som.KnowledgeElement;
 import org.splat.dal.bo.som.ProgressState;
-import org.splat.dal.bo.som.Scenario;
 import org.splat.dal.bo.som.SimulationContext;
-import org.splat.service.ProjectElementService;
-import org.splat.service.technical.ProjectSettingsService;
+import org.splat.service.dto.KnowledgeElementDTO;
 import org.splat.som.Step;
 import org.splat.wapp.SimpleMenu;
 
-public class OpenKnowledge extends OpenObject {
+/**
+ * Open knowledge details for presentation.
+ */
+public class OpenKnowledge extends AbstractOpenObject {
 
-       private KnowledgeElement myknelm;
-       private String credate;
-       private ProjectElementService _projectElementService;
-       private ProjectSettingsService _projectSettingsService;
+       /**
+        * The open knowledge element DTO.
+        */
+       private transient KnowledgeElementDTO _myknelm = new KnowledgeElementDTO();
+       /**
+        * Creation date.
+        */
+       private transient String _credate;
 
+       /**
+        * Knowledge element left menu.
+        */
        public class Menu extends SimpleMenu {
-               // ------------------------------------
-               public Menu(List<Step> context) {
+               /**
+                * Build menu from the list of study steps.
+                * 
+                * @param context
+                *            the list of steps
+                */
+               public Menu(final List<Step> context) {
                        super("steps", "study");
                        int i = 0;
                        int j = 0;
@@ -33,12 +45,14 @@ public class OpenKnowledge extends OpenObject {
                                Step step = k.next();
                                int number = step.getNumber();
                                String icon;
-                               if (step.mayContain(KnowledgeElement.class))
+                               if (step.mayContain(KnowledgeElement.class)) {
                                        j = i + 1; // Steps are numbered from 1 to N
-                               if (!step.isStarted())
-                                       icon = "icon.empty.png";
-                               else
+                               }
+                               if (step.isStarted()) {
                                        icon = "icon.done.png";
+                               } else {
+                                       icon = "icon.empty.png";
+                               }
                                addItem(String.valueOf(number), "folder.step." + number, icon,
                                                "step-knowledge?selection=" + number);
                        }
@@ -50,42 +64,53 @@ public class OpenKnowledge extends OpenObject {
        // Constructor
        // ==============================================================================================================================
 
-       public OpenKnowledge open (KnowledgeElement knelm) {
-               // ---------------------------------------------
+       /**
+        * Set the given knowledge as currently open.
+        * 
+        * @param knelm
+        *            the knowledge element DTO
+        * @return the open knowledge presentation
+        */
+       public OpenKnowledge open(final KnowledgeElementDTO knelm) {
                ResourceBundle label = ResourceBundle.getBundle("labels",
-                               ApplicationSettings.getCurrentLocale());
+                               getApplicationSettings().getCurrentLocale());
                ResourceBundle custom = ResourceBundle.getBundle("som",
-                               ApplicationSettings.getCurrentLocale());
-               SimpleDateFormat convert = new SimpleDateFormat(
-                               custom.getString("date.format"));
+                               getApplicationSettings().getCurrentLocale());
+               SimpleDateFormat convert = new SimpleDateFormat(custom
+                               .getString("date.format"));
                StringBuffer value = new StringBuffer(knelm.getValue());
-               Scenario scene = knelm.getOwnerScenario();
+               String sceneTitle = knelm.getScenarioTitle();
+               String studyTitle = knelm.getStudyTitle();
 
-               myknelm = knelm;
+               _myknelm = knelm;
 
                // Preparation of the display
-               credate = convert.format(myknelm.getDate());
-               involving = getAllSteps(knelm.getOwnerScenario());
-               context = new ArrayList<SimulationContextFacade>();
-               menu = new Menu(getInvolvedSteps());
-               selection = menu.getSelection(); // The default selection is set in the menu definition
-               int index = Integer.valueOf(selection);
-               for (Iterator<Step> i = involving.iterator(); i.hasNext();) {
+               _credate = convert.format(_myknelm.getDate());
+               // involving = getAllSteps(knelm.getOwnerScenario());
+               _involving = knelm.getInvolving();
+               _context = new ArrayList<SimulationContextFacade>();
+               _menu = new Menu(getInvolvedSteps());
+               _selection = _menu.getSelection(); // The default selection is set in the menu definition
+               int index = Integer.valueOf(_selection);
+               for (Iterator<Step> i = _involving.iterator(); i.hasNext();) {
                        Step next = i.next();
-                       if (next.getNumber() == index)
-                               ustep = next;
+                       if (next.getNumber() == index) {
+                               _ustep = next;
+                       }
                        for (Iterator<SimulationContext> j = next
                                        .getAllSimulationContexts().iterator(); j.hasNext();) {
-                               context.add(new SimulationContextFacade(j.next(), getProjectSettings().getAllSteps()));
+                               _context.add(new SimulationContextFacade(j.next(),
+                                               getProjectSettings().getAllSteps()));
                        }
                }
-               value.append("<p>").append("<b>")
-                               .append(label.getString("label.source")).append(":</b>")
-                               .append("<br>").append(label.getString("label.study"))
-                               .append("&nbsp\"").append(scene.getOwnerStudy().getTitle())
-                               .append("\",").append("<br>").append(scene.getTitle())
-                               .append(".").append("</p>");
-               description = value.toString();
+               value.append("<p>").append("<b>").append(
+                               label.getString("label.source")).append(":</b>").append("<br>")
+                               .append(label.getString("label.study")).append("&nbsp\"")
+                               .append(studyTitle/* scene.getOwnerStudy().getTitle() */)
+                               .append("\",").append("<br>")
+                               .append(sceneTitle/* scene.getTitle() */).append(".").append(
+                                               "</p>");
+               _description = value.toString();
                setupContents(); // Initializes documents and knowledge at ustep
                return this;
        }
@@ -95,127 +120,54 @@ public class OpenKnowledge extends OpenObject {
        // ==============================================================================================================================
 
        public String getAuthorName() {
-               // -----------------------------
-               return myknelm.getAuthor().toString();
+               return _myknelm.getAuthor().toString();
        }
 
        public String getDate() {
-               // ------------------------
-               return credate;
+               return _credate;
        }
 
-       public Integer getIndex() {
-               // -------------------------
-               return myknelm.getIndex();
+       public Long getIndex() {
+               return _myknelm.getIndex();
        }
 
+       @Override
        public Menu getMenu() {
-               // ----------------------
-               return (Menu) menu;
+               return (Menu) _menu;
        }
 
        public ProgressState getProgressState() {
-               // ---------------------------------------
-               return myknelm.getProgressState();
+               return _myknelm.getProgressState();
        }
 
        public String getReference() {
-               // ----------------------------
-               return myknelm.getReference();
+               return _myknelm.getReference();
        }
 
-       public KnowledgeElement getKnowledgeObject() {
-               // ---------------------------------------------
-               return myknelm;
+       public KnowledgeElementDTO getKnowledgeObject() {
+               return _myknelm;
        }
 
        public String getTitle() {
-               // ------------------------
-               return myknelm.getTitle();
+               return _myknelm.getTitle();
        }
 
        public String getType() {
-               // ------------------------
                return ResourceBundle.getBundle("som",
-                               ApplicationSettings.getCurrentLocale()).getString(
-                               "type.knowledge." + myknelm.getType().getName());
+                               getApplicationSettings().getCurrentLocale()).getString(
+                               "type.knowledge." + _myknelm.getType().getName());
        }
 
-       public void setSelection(String step) {
-               // --------------------------------------
-               selection = step;
-               int index = Integer.valueOf(selection);
-               for (Iterator<Step> i = involving.iterator(); i.hasNext();) {
-                       ustep = i.next();
-                       if (ustep.getNumber() == index)
+       public void setSelection(final String step) {
+               _selection = step;
+               int index = Integer.valueOf(_selection);
+               for (Iterator<Step> i = _involving.iterator(); i.hasNext();) {
+                       _ustep = i.next();
+                       if (_ustep.getNumber() == index) {
                                break;
+                       }
                }
-               menu.selects(selection);
+               _menu.selects(_selection);
                setupContents(); // The contents may have changed even if the selection is the same
        }
-
-       // ==============================================================================================================================
-       // Private services
-       // ==============================================================================================================================
-
-       private List<Step> getAllSteps(Scenario scenar) {
-               // ------------------------------------------------
-               Vector<Step> result = new Vector<Step>();
-               Step[] step = getProjectElementService().getSteps(scenar);
-
-               int base = step[0].getNumber();
-               int last = step[step.length - 1].getNumber();
-               for (int i = 0; i < step.length; i++) {
-                       result.add(step[i]);
-               }
-               step = getProjectElementService().getSteps(scenar.getOwnerStudy());
-               for (int i = step.length - 1; i > -1; i--) {
-                       if (step[i].getNumber() >= base)
-                               continue;
-                       result.add(0, step[i]);
-               }
-               for (int i = 0; i < step.length; i++) {
-                       if (step[i].getNumber() <= last)
-                               continue;
-                       result.add(step[i]);
-               }
-               return result;
-       }
-
-       /**
-        * 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;
-       }
-
-       /**
-        * Get project settings.
-        * @return Project settings service
-        */
-       private ProjectSettingsService getProjectSettings() {
-               return _projectSettingsService;
-       }
-
-       /**
-        * Set project settings service.
-        * @param projectSettingsService project settings service
-        */
-       public void setProjectSettings(
-                       ProjectSettingsService projectSettingsService) {
-               _projectSettingsService = projectSettingsService;
-       }
 }
\ No newline at end of file