Salome HOME
Tool bar is improved.
[tools/siman.git] / Workspace / Siman / src / org / splat / simer / DisplayKnowledgeAction.java
index 988d6d5cc35f79f577edd971c12431c54f07304d..61c252279661e987cbb59198c941ae0a9fc2bfde 100644 (file)
@@ -2,116 +2,254 @@ package org.splat.simer;
 
 import java.util.List;
 
-import org.hibernate.Session;
-import org.hibernate.Transaction;
-import org.splat.dal.dao.som.Database;
 import org.splat.dal.bo.som.KnowledgeElement;
+import org.splat.service.KnowledgeElementService;
 import org.splat.som.Step;
 
-
 public class DisplayKnowledgeAction extends DisplayBaseAction {
 
-       protected  OpenKnowledge  myknelm   = null;    // Knowledge Element details
-    
+       /**
+        * Serial version ID.
+        */
        private static final long serialVersionUID = 8473504456981431762L;
 
-//  ==============================================================================================================================
-//  Action methods
-//  ==============================================================================================================================
-
-    public String doOpen () {
-//  -----------------------
-      Session      connex  = Database.getSession();
-      Transaction  transax = connex.beginTransaction();
-
-      myknelm = getOpenKnowledge();
-      if (myindex != null) try {                                // Opening a knowledge from the search result
-       int index = Integer.valueOf(myindex);
-       if (myknelm != null && myknelm.getIndex() == index) {   // - The selected knowledge is currently open
-          selection = myknelm.getSelection();        // Current selection
-       } else {                                                // - The selected knowledge is new
-         KnowledgeElement kelm = Database.selectKnowledgeElement(index);
-          myknelm   = open(kelm);
-          selection = myknelm.getSelection();        // Default selection
-       }
-      }
-      catch (Exception error) {
-       logger.error("Reason:", error);
-        return ERROR;
-      }
-      else if (selection != null) {                             // Re-opening (refreshing) the currently open knowledge
-           KnowledgeElement kelm = Database.selectKnowledgeElement(myknelm.getIndex());
-           myknelm  =  open(kelm);                      // Closes the previously open knowledge
-           myknelm.setSelection(selection);
-      }      
-      getSession().put("menu.knowledge", myknelm.getMenu());
-
-      transax.commit();
-      return SUCCESS;
-    }
-
-    public String doSelectStep () {
-//  -----------------------------
-      Session      connex  = Database.getSession();
-      Transaction  transax = connex.beginTransaction();
-
-      myknelm = getOpenKnowledge();
-
-      if (selection == null) {     // Switch back to the current study
-        selection = myknelm.getSelection();
-      } else {                        // Selection of a step of current study
-        myknelm.setSelection(selection);
-      }
-      transax.commit();
-      return SUCCESS;
-    }
-    
-    public String doSelectDocument () {
-//  ---------------------------------
-      Execute todo = Execute.valueOf(action);
-      myknelm = getOpenKnowledge();
-      if      (todo == Execute.develop)   myknelm.developDocument(myindex);
-      else if (todo == Execute.reduce)    myknelm.reduceHistory(myindex);
-      else if (todo == Execute.reduceall) myknelm.reduceDocument(myindex);
-      return SUCCESS;
-    }
-
-    public String doSelectKnowledge () {
-//  ----------------------------------
-      Execute  todo = Execute.valueOf(action);
-      myknelm = getOpenKnowledge();
-      if      (todo == Execute.develop)   myknelm.developKnowledge(myindex);
-      else if (todo == Execute.reduce)    myknelm.reduceKnowledge(myindex);
-      return SUCCESS;
-    }
-
-    public String doClose () {
-//  ------------------------
-      closeKnowledge();
-      return SUCCESS;
-    }
-//  ==============================================================================================================================
-//  Getters
-//  ==============================================================================================================================
-
-    public List<DocumentFacade> getDocuments () {
-//  --------------------------------------------
-      return myknelm.getDisplayedDocuments();
-    }
-    public List<OpenObject.KnowledgeIterator> getKnowledges () {
-//  ----------------------------------------------------------
-      return myknelm.getDisplayedKnowledges();
-    }
-    public List<SimulationContextFacade> getSimulationContexts () {
-//  -------------------------------------------------------------
-      return myknelm.getDisplayedSimulationContexts();
-    }
-    public Step getSelectedStep () {
-//  ------------------------------
-      return myknelm.getSelectedStep();
-    }
-    public String getWriteAccess () {
-//  -------------------------------
-      return "false";
-    }
+       /**
+        * Current knowledge element details.
+        */
+       protected OpenKnowledge myknelm = null;
+
+       /**
+        * Injected knowledge element service.
+        */
+       private KnowledgeElementService _knowledgeElementService;
+       
+       /**
+        * Value of the menu property. 
+        * It can be: none, create, open, study, knowledge, sysadmin, help.
+        */
+       private String _menuProperty;
+       
+       /**
+        * Value of the title bar property. 
+        * It can be: study, knowledge.
+        */
+       private String _titleProperty;
+       
+       /**
+        * Value of the tool bar property. 
+        * It can be: none, standard, study, back.
+        */
+       private String _toolProperty;
+       
+       /**
+        * Property that indicates whether the current open study is editable or not.
+        * On the screen it looks like pen on the status icon, pop-up menu also can be called.
+        * It is necessary for correct building the title bar.
+        */
+       private String _editDisabledProperty = "false";
+
+       // ==============================================================================================================================
+       // Action methods
+       // ==============================================================================================================================
+
+       public String doOpen() {
+               myknelm = getOpenKnowledge();
+               if (myindex != null)
+                       try { // Opening a knowledge from the search result
+                               int index = Integer.valueOf(myindex);
+                               if (myknelm != null && myknelm.getIndex() == index) { // - The selected knowledge is currently open
+                                       selection = myknelm.getSelection(); // Current selection
+                               } else { // - The selected knowledge is new
+                                       KnowledgeElement kelm = getKnowledgeElementService()
+                                                       .selectKnowledgeElement(index);
+                                       myknelm = open(kelm);
+                                       selection = myknelm.getSelection(); // Default selection
+                               }
+                       } catch (Exception error) {
+                               logger.error("Reason:", error);
+                               return ERROR;
+                       }
+               else if (selection != null) { // Re-opening (refreshing) the currently open knowledge
+                       KnowledgeElement kelm = getKnowledgeElementService()
+                                       .selectKnowledgeElement(myknelm.getIndex());
+                       myknelm = open(kelm); // Closes the previously open knowledge
+                       myknelm.setSelection(selection);
+               }
+               getSession().put("menu.knowledge", myknelm.getMenu());
+               
+               setMenuProperty("knowledge");
+               setTitleProperty("knowledge");
+               setToolProperty("none");
+        initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty);
+
+               return SUCCESS;
+       }
+
+       public String doSelectStep() {
+               myknelm = getOpenKnowledge();
+
+               if (selection == null) { // Switch back to the current study
+                       selection = myknelm.getSelection();
+               } else { // Selection of a step of current study
+                       myknelm.setSelection(selection);
+               }
+               
+               setMenuProperty("knowledge");
+               setTitleProperty("knowledge");
+               setToolProperty("none");
+        initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty);
+               
+               return SUCCESS;
+       }
+
+       public String doSelectDocument() {
+               Execute todo = Execute.valueOf(action);
+               myknelm = getOpenKnowledge();
+               if (todo == Execute.develop)
+                       myknelm.developDocument(myindex);
+               else if (todo == Execute.reduce)
+                       myknelm.reduceHistory(myindex);
+               else if (todo == Execute.reduceall)
+                       myknelm.reduceDocument(myindex);
+               
+               setMenuProperty("knowledge");
+               setTitleProperty("knowledge");
+               setToolProperty("none");
+        initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty);
+               
+               return SUCCESS;
+       }
+
+       public String doSelectKnowledge() {
+               Execute todo = Execute.valueOf(action);
+               myknelm = getOpenKnowledge();
+               if (todo == Execute.develop)
+                       myknelm.developKnowledge(myindex);
+               else if (todo == Execute.reduce)
+                       myknelm.reduceKnowledge(myindex);
+               
+               setMenuProperty("knowledge");
+               setTitleProperty("knowledge");
+               setToolProperty("none");
+        initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty);
+               
+               return SUCCESS;
+       }
+
+       public String doClose() {
+               closeKnowledge();
+               
+               setMenuProperty("none");
+               initializationScreenContext(_menuProperty);
+               
+               return SUCCESS;
+       }
+
+       // ==============================================================================================================================
+       // Getters
+       // ==============================================================================================================================
+
+       public List<DocumentFacade> getDocuments() {
+               return myknelm.getDisplayedDocuments();
+       }
+
+       public List<OpenObject.KnowledgeIterator> getKnowledges() {
+               return myknelm.getDisplayedKnowledges();
+       }
+
+       public List<SimulationContextFacade> getSimulationContexts() {
+               return myknelm.getDisplayedSimulationContexts();
+       }
+
+       public Step getSelectedStep() {
+               return myknelm.getSelectedStep();
+       }
+
+       public String getWriteAccess() {
+               return "false";
+       }
+
+       /**
+        * Get the knowledgeElementService.
+        * 
+        * @return the knowledgeElementService
+        */
+       public KnowledgeElementService getKnowledgeElementService() {
+               return _knowledgeElementService;
+       }
+
+       /**
+        * Set the knowledgeElementService.
+        * 
+        * @param knowledgeElementService
+        *            the knowledgeElementService to set
+        */
+       public void setKnowledgeElementService(
+                       KnowledgeElementService knowledgeElementService) {
+               _knowledgeElementService = knowledgeElementService;
+       }
+       
+       /**
+        * Get the menuProperty.
+        * @return the menuProperty
+        */
+       public String getMenuProperty() {
+               return _menuProperty;
+       }
+
+       /**
+        * Set the menuProperty.
+        * @param menuProperty the menuProperty to set
+        */
+       public void setMenuProperty(String menuProperty) {
+               this._menuProperty = menuProperty;
+       }
+       
+       /**
+        * Get the _titleProperty.
+        * @return the _titleProperty
+        */
+       public String getTitleProperty() {
+               return _titleProperty;
+       }
+
+       /**
+        * Set the _titleProperty.
+        * @param _titleProperty the titleProperty to set
+        */
+       public void setTitleProperty(String titleProperty) {
+               _titleProperty = titleProperty;
+       }
+
+       /**
+        * Get the _editDisabledProperty.
+        * @return the _editDisabledProperty
+        */
+       public final String getEditDisabledProperty() {
+               return _editDisabledProperty;
+       }
+
+       /**
+        * Set the _editDisabledProperty.
+        * @param _editDisabledProperty the _editDisabledProperty to set
+        */
+       public final void setEditDisabledProperty(String _editDisabledProperty) {
+               this._editDisabledProperty = _editDisabledProperty;
+       }
+
+       /**
+        * Get the toolProperty.
+        * @return the toolProperty
+        */
+       public String getToolProperty() {
+               return _toolProperty;
+       }
+
+       /**
+        * Set the toolProperty.
+        * @param toolProperty the toolProperty to set
+        */
+       public void setToolProperty(final String toolProperty) {
+               _toolProperty = toolProperty;
+       }
 }
\ No newline at end of file