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