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