1 package org.splat.simer;
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;
10 public class DisplayKnowledgeAction extends DisplayBaseAction {
15 private static final long serialVersionUID = 8473504456981431762L;
18 * Current knowledge element details.
20 protected OpenKnowledge myknelm = null;
23 * Injected knowledge element service.
25 private KnowledgeElementService _knowledgeElementService;
28 * Value of the menu property.
29 * It can be: none, create, open, study, knowledge, sysadmin, help.
31 private String _menuProperty;
34 * Value of the title bar property.
35 * It can be: study, knowledge.
37 private String _titleProperty;
40 * Value of the tool bar property.
41 * It can be: none, standard, study, back.
43 private String _toolProperty;
46 * Value of the left menu property.
47 * It can be: open, study, knowledge, scenario.
49 private String _leftMenuProperty;
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.
56 private String _editDisabledProperty = "false";
58 // ==============================================================================================================================
60 // ==============================================================================================================================
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);
73 selection = myknelm.getSelection(); // Default selection
75 } catch (Exception error) {
76 LOG.error("Reason:", error);
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);
85 getSession().put("menu.knowledge", myknelm.getMenu());
87 setMenuProperty("knowledge");
88 setTitleProperty("knowledge");
89 setToolProperty("none");
90 setLeftMenuProperty("knowledge");
91 initializationFullScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty, _leftMenuProperty);
96 public String doSelectStep() {
97 myknelm = getOpenKnowledge();
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);
105 setMenuProperty("knowledge");
106 setTitleProperty("knowledge");
107 setToolProperty("none");
108 setLeftMenuProperty("knowledge");
109 initializationFullScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty, _leftMenuProperty);
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);
124 setMenuProperty("knowledge");
125 setTitleProperty("knowledge");
126 setToolProperty("none");
127 setLeftMenuProperty("knowledge");
128 initializationFullScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty, _leftMenuProperty);
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);
141 setMenuProperty("knowledge");
142 setTitleProperty("knowledge");
143 setToolProperty("none");
144 setLeftMenuProperty("knowledge");
145 initializationFullScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty, _leftMenuProperty);
150 public String doClose() {
153 setMenuProperty("none");
154 initializationScreenContext(_menuProperty);
159 // ==============================================================================================================================
161 // ==============================================================================================================================
163 public List<DocumentFacade> getDocuments() {
164 return myknelm.getDisplayedDocuments();
167 public List<OpenObject.KnowledgeIterator> getKnowledges() {
168 return myknelm.getDisplayedKnowledges();
171 public List<SimulationContextFacade> getSimulationContexts() {
172 return myknelm.getDisplayedSimulationContexts();
175 public Step getSelectedStep() {
176 return myknelm.getSelectedStep();
179 public String getWriteAccess() {
184 * Get the knowledgeElementService.
186 * @return the knowledgeElementService
188 public KnowledgeElementService getKnowledgeElementService() {
189 return _knowledgeElementService;
193 * Set the knowledgeElementService.
195 * @param knowledgeElementService
196 * the knowledgeElementService to set
198 public void setKnowledgeElementService(
199 KnowledgeElementService knowledgeElementService) {
200 _knowledgeElementService = knowledgeElementService;
204 * Get the menuProperty.
205 * @return the menuProperty
207 public String getMenuProperty() {
208 return _menuProperty;
212 * Set the menuProperty.
213 * @param menuProperty the menuProperty to set
215 public void setMenuProperty(String menuProperty) {
216 this._menuProperty = menuProperty;
220 * Get the _titleProperty.
221 * @return the _titleProperty
223 public String getTitleProperty() {
224 return _titleProperty;
228 * Set the _titleProperty.
229 * @param _titleProperty the titleProperty to set
231 public void setTitleProperty(String titleProperty) {
232 _titleProperty = titleProperty;
236 * Get the _editDisabledProperty.
237 * @return the _editDisabledProperty
239 public final String getEditDisabledProperty() {
240 return _editDisabledProperty;
244 * Set the _editDisabledProperty.
245 * @param _editDisabledProperty the _editDisabledProperty to set
247 public final void setEditDisabledProperty(String _editDisabledProperty) {
248 this._editDisabledProperty = _editDisabledProperty;
252 * Get the toolProperty.
253 * @return the toolProperty
255 public String getToolProperty() {
256 return _toolProperty;
260 * Set the toolProperty.
261 * @param toolProperty the toolProperty to set
263 public void setToolProperty(final String toolProperty) {
264 _toolProperty = toolProperty;
268 * Get the leftMenuProperty.
269 * @return the leftMenuProperty
271 public String getLeftMenuProperty() {
272 return _leftMenuProperty;
276 * Set the leftMenuProperty.
277 * @param leftMenuProperty the leftMenuProperty to set
279 public void setLeftMenuProperty(final String leftMenuProperty) {
280 _leftMenuProperty = leftMenuProperty;