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