1 package org.splat.simer;
5 import org.splat.dal.bo.som.KnowledgeElement;
6 import org.splat.service.KnowledgeElementService;
7 import org.splat.som.Step;
9 public class DisplayKnowledgeAction extends DisplayBaseAction {
14 private static final long serialVersionUID = 8473504456981431762L;
17 * Current knowledge element details.
19 protected OpenKnowledge myknelm = null;
22 * Injected knowledge element service.
24 private KnowledgeElementService _knowledgeElementService;
27 * Value of the menu property.
28 * It can be: none, create, open, study, knowledge, sysadmin, help.
30 private String _menuProperty;
33 * Value of the title bar property.
34 * It can be: study, knowledge.
36 private String _titleProperty;
39 * Value of the tool bar property.
40 * It can be: none, standard, study, back.
42 private String _toolProperty;
45 * Value of the left menu property.
46 * It can be: open, study, knowledge, scenario.
48 private String _leftMenuProperty;
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.
55 private String _editDisabledProperty = "false";
57 // ==============================================================================================================================
59 // ==============================================================================================================================
61 public String doOpen() {
62 myknelm = getOpenKnowledge();
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);
72 selection = myknelm.getSelection(); // Default selection
74 } catch (Exception error) {
75 logger.error("Reason:", error);
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);
84 getSession().put("menu.knowledge", myknelm.getMenu());
86 setMenuProperty("knowledge");
87 setTitleProperty("knowledge");
88 setToolProperty("none");
89 setLeftMenuProperty("knowledge");
90 initializationFullScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty, _leftMenuProperty);
95 public String doSelectStep() {
96 myknelm = getOpenKnowledge();
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);
104 setMenuProperty("knowledge");
105 setTitleProperty("knowledge");
106 setToolProperty("none");
107 setLeftMenuProperty("knowledge");
108 initializationFullScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty, _leftMenuProperty);
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);
123 setMenuProperty("knowledge");
124 setTitleProperty("knowledge");
125 setToolProperty("none");
126 setLeftMenuProperty("knowledge");
127 initializationFullScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty, _leftMenuProperty);
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);
140 setMenuProperty("knowledge");
141 setTitleProperty("knowledge");
142 setToolProperty("none");
143 setLeftMenuProperty("knowledge");
144 initializationFullScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty, _leftMenuProperty);
149 public String doClose() {
152 setMenuProperty("none");
153 initializationScreenContext(_menuProperty);
158 // ==============================================================================================================================
160 // ==============================================================================================================================
162 public List<DocumentFacade> getDocuments() {
163 return myknelm.getDisplayedDocuments();
166 public List<OpenObject.KnowledgeIterator> getKnowledges() {
167 return myknelm.getDisplayedKnowledges();
170 public List<SimulationContextFacade> getSimulationContexts() {
171 return myknelm.getDisplayedSimulationContexts();
174 public Step getSelectedStep() {
175 return myknelm.getSelectedStep();
178 public String getWriteAccess() {
183 * Get the knowledgeElementService.
185 * @return the knowledgeElementService
187 public KnowledgeElementService getKnowledgeElementService() {
188 return _knowledgeElementService;
192 * Set the knowledgeElementService.
194 * @param knowledgeElementService
195 * the knowledgeElementService to set
197 public void setKnowledgeElementService(
198 KnowledgeElementService knowledgeElementService) {
199 _knowledgeElementService = knowledgeElementService;
203 * Get the menuProperty.
204 * @return the menuProperty
206 public String getMenuProperty() {
207 return _menuProperty;
211 * Set the menuProperty.
212 * @param menuProperty the menuProperty to set
214 public void setMenuProperty(String menuProperty) {
215 this._menuProperty = menuProperty;
219 * Get the _titleProperty.
220 * @return the _titleProperty
222 public String getTitleProperty() {
223 return _titleProperty;
227 * Set the _titleProperty.
228 * @param _titleProperty the titleProperty to set
230 public void setTitleProperty(String titleProperty) {
231 _titleProperty = titleProperty;
235 * Get the _editDisabledProperty.
236 * @return the _editDisabledProperty
238 public final String getEditDisabledProperty() {
239 return _editDisabledProperty;
243 * Set the _editDisabledProperty.
244 * @param _editDisabledProperty the _editDisabledProperty to set
246 public final void setEditDisabledProperty(String _editDisabledProperty) {
247 this._editDisabledProperty = _editDisabledProperty;
251 * Get the toolProperty.
252 * @return the toolProperty
254 public String getToolProperty() {
255 return _toolProperty;
259 * Set the toolProperty.
260 * @param toolProperty the toolProperty to set
262 public void setToolProperty(final String toolProperty) {
263 _toolProperty = toolProperty;
267 * Get the leftMenuProperty.
268 * @return the leftMenuProperty
270 public String getLeftMenuProperty() {
271 return _leftMenuProperty;
275 * Set the leftMenuProperty.
276 * @param leftMenuProperty the leftMenuProperty to set
278 public void setLeftMenuProperty(final String leftMenuProperty) {
279 _leftMenuProperty = leftMenuProperty;