]> SALOME platform Git repositories - tools/siman.git/blob - Workspace/Siman/src/org/splat/simer/DisplayKnowledgeAction.java
Salome HOME
Menus are improved
[tools/siman.git] / Workspace / Siman / src / org / splat / simer / DisplayKnowledgeAction.java
1 package org.splat.simer;
2
3 import java.util.List;
4
5 import org.splat.dal.bo.som.KnowledgeElement;
6 import org.splat.service.KnowledgeElementService;
7 import org.splat.som.Step;
8
9 public class DisplayKnowledgeAction extends DisplayBaseAction {
10
11         /**
12          * Serial version ID.
13          */
14         private static final long serialVersionUID = 8473504456981431762L;
15
16         /**
17          * Current knowledge element details.
18          */
19         protected OpenKnowledge myknelm = null;
20
21         /**
22          * Injected knowledge element service.
23          */
24         private KnowledgeElementService _knowledgeElementService;
25         
26         /**
27          * Value of the menu property. 
28          * It can be: none, create, open, study, knowledge, sysadmin, help.
29          */
30         private String _menuProperty;
31
32         // ==============================================================================================================================
33         // Action methods
34         // ==============================================================================================================================
35
36         public String doOpen() {
37                 myknelm = getOpenKnowledge();
38                 if (myindex != null)
39                         try { // Opening a knowledge from the search result
40                                 int index = Integer.valueOf(myindex);
41                                 if (myknelm != null && myknelm.getIndex() == index) { // - The selected knowledge is currently open
42                                         selection = myknelm.getSelection(); // Current selection
43                                 } else { // - The selected knowledge is new
44                                         KnowledgeElement kelm = getKnowledgeElementService()
45                                                         .selectKnowledgeElement(index);
46                                         myknelm = open(kelm);
47                                         selection = myknelm.getSelection(); // Default selection
48                                 }
49                         } catch (Exception error) {
50                                 logger.error("Reason:", error);
51                                 return ERROR;
52                         }
53                 else if (selection != null) { // Re-opening (refreshing) the currently open knowledge
54                         KnowledgeElement kelm = getKnowledgeElementService()
55                                         .selectKnowledgeElement(myknelm.getIndex());
56                         myknelm = open(kelm); // Closes the previously open knowledge
57                         myknelm.setSelection(selection);
58                 }
59                 getSession().put("menu.knowledge", myknelm.getMenu());
60                 
61                 setMenuProperty("knowledge");
62                 initializationScreenContext(_menuProperty);
63
64                 return SUCCESS;
65         }
66
67         public String doSelectStep() {
68                 myknelm = getOpenKnowledge();
69
70                 if (selection == null) { // Switch back to the current study
71                         selection = myknelm.getSelection();
72                 } else { // Selection of a step of current study
73                         myknelm.setSelection(selection);
74                 }
75                 
76                 setMenuProperty("knowledge");
77                 initializationScreenContext(_menuProperty);
78                 
79                 return SUCCESS;
80         }
81
82         public String doSelectDocument() {
83                 Execute todo = Execute.valueOf(action);
84                 myknelm = getOpenKnowledge();
85                 if (todo == Execute.develop)
86                         myknelm.developDocument(myindex);
87                 else if (todo == Execute.reduce)
88                         myknelm.reduceHistory(myindex);
89                 else if (todo == Execute.reduceall)
90                         myknelm.reduceDocument(myindex);
91                 
92                 setMenuProperty("knowledge");
93                 initializationScreenContext(_menuProperty);
94                 
95                 return SUCCESS;
96         }
97
98         public String doSelectKnowledge() {
99                 Execute todo = Execute.valueOf(action);
100                 myknelm = getOpenKnowledge();
101                 if (todo == Execute.develop)
102                         myknelm.developKnowledge(myindex);
103                 else if (todo == Execute.reduce)
104                         myknelm.reduceKnowledge(myindex);
105                 
106                 setMenuProperty("knowledge");
107                 initializationScreenContext(_menuProperty);
108                 
109                 return SUCCESS;
110         }
111
112         public String doClose() {
113                 closeKnowledge();
114                 
115                 setMenuProperty("none");
116                 initializationScreenContext(_menuProperty);
117                 
118                 return SUCCESS;
119         }
120
121         // ==============================================================================================================================
122         // Getters
123         // ==============================================================================================================================
124
125         public List<DocumentFacade> getDocuments() {
126                 return myknelm.getDisplayedDocuments();
127         }
128
129         public List<OpenObject.KnowledgeIterator> getKnowledges() {
130                 return myknelm.getDisplayedKnowledges();
131         }
132
133         public List<SimulationContextFacade> getSimulationContexts() {
134                 return myknelm.getDisplayedSimulationContexts();
135         }
136
137         public Step getSelectedStep() {
138                 return myknelm.getSelectedStep();
139         }
140
141         public String getWriteAccess() {
142                 return "false";
143         }
144
145         /**
146          * Get the knowledgeElementService.
147          * 
148          * @return the knowledgeElementService
149          */
150         public KnowledgeElementService getKnowledgeElementService() {
151                 return _knowledgeElementService;
152         }
153
154         /**
155          * Set the knowledgeElementService.
156          * 
157          * @param knowledgeElementService
158          *            the knowledgeElementService to set
159          */
160         public void setKnowledgeElementService(
161                         KnowledgeElementService knowledgeElementService) {
162                 _knowledgeElementService = knowledgeElementService;
163         }
164         
165         /**
166          * Get the menuProperty.
167          * @return the menuProperty
168          */
169         public String getMenuProperty() {
170                 return _menuProperty;
171         }
172
173         /**
174          * Set the menuProperty.
175          * @param menuProperty the menuProperty to set
176          */
177         public void setMenuProperty(String menuProperty) {
178                 this._menuProperty = menuProperty;
179         }
180 }