]> SALOME platform Git repositories - tools/siman.git/blob - Workspace/Siman/src/org/splat/simer/DisplayKnowledgeAction.java
Salome HOME
Left menu is 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          * Value of the title bar property. 
34          * It can be: study, knowledge.
35          */
36         private String _titleProperty;
37         
38         /**
39          * Value of the tool bar property. 
40          * It can be: none, standard, study, back.
41          */
42         private String _toolProperty;
43         
44         /**
45          * Value of the left menu property. 
46          * It can be: open, study, knowledge, scenario.
47          */
48         private String _leftMenuProperty;
49         
50         /**
51          * Property that indicates whether the current open study is editable or not.
52          * On the screen it looks like pen on the status icon, pop-up menu also can be called.
53          * It is necessary for correct building the title bar.
54          */
55         private String _editDisabledProperty = "false";
56
57         // ==============================================================================================================================
58         // Action methods
59         // ==============================================================================================================================
60
61         public String doOpen() {
62                 myknelm = getOpenKnowledge();
63                 if (myindex != null)
64                         try { // Opening a knowledge from the search result
65                                 int index = Integer.valueOf(myindex);
66                                 if (myknelm != null && myknelm.getIndex() == index) { // - The selected knowledge is currently open
67                                         selection = myknelm.getSelection(); // Current selection
68                                 } else { // - The selected knowledge is new
69                                         KnowledgeElement kelm = getKnowledgeElementService()
70                                                         .selectKnowledgeElement(index);
71                                         myknelm = open(kelm);
72                                         selection = myknelm.getSelection(); // Default selection
73                                 }
74                         } catch (Exception error) {
75                                 logger.error("Reason:", error);
76                                 return ERROR;
77                         }
78                 else if (selection != null) { // Re-opening (refreshing) the currently open knowledge
79                         KnowledgeElement kelm = getKnowledgeElementService()
80                                         .selectKnowledgeElement(myknelm.getIndex());
81                         myknelm = open(kelm); // Closes the previously open knowledge
82                         myknelm.setSelection(selection);
83                 }
84                 getSession().put("menu.knowledge", myknelm.getMenu());
85                 
86                 setMenuProperty("knowledge");
87                 setTitleProperty("knowledge");
88                 setToolProperty("none");
89                 setLeftMenuProperty("knowledge");
90                 initializationFullScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty, _leftMenuProperty);
91
92                 return SUCCESS;
93         }
94
95         public String doSelectStep() {
96                 myknelm = getOpenKnowledge();
97
98                 if (selection == null) { // Switch back to the current study
99                         selection = myknelm.getSelection();
100                 } else { // Selection of a step of current study
101                         myknelm.setSelection(selection);
102                 }
103                 
104                 setMenuProperty("knowledge");
105                 setTitleProperty("knowledge");
106                 setToolProperty("none");
107                 setLeftMenuProperty("knowledge");
108                 initializationFullScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty, _leftMenuProperty);
109                 
110                 return SUCCESS;
111         }
112
113         public String doSelectDocument() {
114                 Execute todo = Execute.valueOf(action);
115                 myknelm = getOpenKnowledge();
116                 if (todo == Execute.develop)
117                         myknelm.developDocument(myindex);
118                 else if (todo == Execute.reduce)
119                         myknelm.reduceHistory(myindex);
120                 else if (todo == Execute.reduceall)
121                         myknelm.reduceDocument(myindex);
122                 
123                 setMenuProperty("knowledge");
124                 setTitleProperty("knowledge");
125                 setToolProperty("none");
126                 setLeftMenuProperty("knowledge");
127                 initializationFullScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty, _leftMenuProperty);
128                 
129                 return SUCCESS;
130         }
131
132         public String doSelectKnowledge() {
133                 Execute todo = Execute.valueOf(action);
134                 myknelm = getOpenKnowledge();
135                 if (todo == Execute.develop)
136                         myknelm.developKnowledge(myindex);
137                 else if (todo == Execute.reduce)
138                         myknelm.reduceKnowledge(myindex);
139                 
140                 setMenuProperty("knowledge");
141                 setTitleProperty("knowledge");
142                 setToolProperty("none");
143                 setLeftMenuProperty("knowledge");
144                 initializationFullScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty, _leftMenuProperty);
145                 
146                 return SUCCESS;
147         }
148
149         public String doClose() {
150                 closeKnowledge();
151                 
152                 setMenuProperty("none");
153                 initializationScreenContext(_menuProperty);
154                 
155                 return SUCCESS;
156         }
157
158         // ==============================================================================================================================
159         // Getters
160         // ==============================================================================================================================
161
162         public List<DocumentFacade> getDocuments() {
163                 return myknelm.getDisplayedDocuments();
164         }
165
166         public List<OpenObject.KnowledgeIterator> getKnowledges() {
167                 return myknelm.getDisplayedKnowledges();
168         }
169
170         public List<SimulationContextFacade> getSimulationContexts() {
171                 return myknelm.getDisplayedSimulationContexts();
172         }
173
174         public Step getSelectedStep() {
175                 return myknelm.getSelectedStep();
176         }
177
178         public String getWriteAccess() {
179                 return "false";
180         }
181
182         /**
183          * Get the knowledgeElementService.
184          * 
185          * @return the knowledgeElementService
186          */
187         public KnowledgeElementService getKnowledgeElementService() {
188                 return _knowledgeElementService;
189         }
190
191         /**
192          * Set the knowledgeElementService.
193          * 
194          * @param knowledgeElementService
195          *            the knowledgeElementService to set
196          */
197         public void setKnowledgeElementService(
198                         KnowledgeElementService knowledgeElementService) {
199                 _knowledgeElementService = knowledgeElementService;
200         }
201         
202         /**
203          * Get the menuProperty.
204          * @return the menuProperty
205          */
206         public String getMenuProperty() {
207                 return _menuProperty;
208         }
209
210         /**
211          * Set the menuProperty.
212          * @param menuProperty the menuProperty to set
213          */
214         public void setMenuProperty(String menuProperty) {
215                 this._menuProperty = menuProperty;
216         }
217         
218         /**
219          * Get the _titleProperty.
220          * @return the _titleProperty
221          */
222         public String getTitleProperty() {
223                 return _titleProperty;
224         }
225
226         /**
227          * Set the _titleProperty.
228          * @param _titleProperty the titleProperty to set
229          */
230         public void setTitleProperty(String titleProperty) {
231                 _titleProperty = titleProperty;
232         }
233
234         /**
235          * Get the _editDisabledProperty.
236          * @return the _editDisabledProperty
237          */
238         public final String getEditDisabledProperty() {
239                 return _editDisabledProperty;
240         }
241
242         /**
243          * Set the _editDisabledProperty.
244          * @param _editDisabledProperty the _editDisabledProperty to set
245          */
246         public final void setEditDisabledProperty(String _editDisabledProperty) {
247                 this._editDisabledProperty = _editDisabledProperty;
248         }
249
250         /**
251          * Get the toolProperty.
252          * @return the toolProperty
253          */
254         public String getToolProperty() {
255                 return _toolProperty;
256         }
257
258         /**
259          * Set the toolProperty.
260          * @param toolProperty the toolProperty to set
261          */
262         public void setToolProperty(final String toolProperty) {
263                 _toolProperty = toolProperty;
264         }
265         
266         /**
267          * Get the leftMenuProperty.
268          * @return the leftMenuProperty
269          */
270         public String getLeftMenuProperty() {
271                 return _leftMenuProperty;
272         }
273
274         /**
275          * Set the leftMenuProperty.
276          * @param leftMenuProperty the leftMenuProperty to set
277          */
278         public void setLeftMenuProperty(final String leftMenuProperty) {
279                 _leftMenuProperty = leftMenuProperty;
280         }
281 }