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 * 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.
43 private String _editDisabledProperty = "false";
45 // ==============================================================================================================================
47 // ==============================================================================================================================
49 public String doOpen() {
50 myknelm = getOpenKnowledge();
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);
60 selection = myknelm.getSelection(); // Default selection
62 } catch (Exception error) {
63 logger.error("Reason:", error);
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);
72 getSession().put("menu.knowledge", myknelm.getMenu());
74 setMenuProperty("knowledge");
75 setTitleProperty("knowledge");
76 initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty);
81 public String doSelectStep() {
82 myknelm = getOpenKnowledge();
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);
90 setMenuProperty("knowledge");
91 setTitleProperty("knowledge");
92 initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty);
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);
107 setMenuProperty("knowledge");
108 setTitleProperty("knowledge");
109 initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty);
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);
122 setMenuProperty("knowledge");
123 setTitleProperty("knowledge");
124 initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty);
129 public String doClose() {
132 setMenuProperty("none");
133 initializationScreenContext(_menuProperty);
138 // ==============================================================================================================================
140 // ==============================================================================================================================
142 public List<DocumentFacade> getDocuments() {
143 return myknelm.getDisplayedDocuments();
146 public List<OpenObject.KnowledgeIterator> getKnowledges() {
147 return myknelm.getDisplayedKnowledges();
150 public List<SimulationContextFacade> getSimulationContexts() {
151 return myknelm.getDisplayedSimulationContexts();
154 public Step getSelectedStep() {
155 return myknelm.getSelectedStep();
158 public String getWriteAccess() {
163 * Get the knowledgeElementService.
165 * @return the knowledgeElementService
167 public KnowledgeElementService getKnowledgeElementService() {
168 return _knowledgeElementService;
172 * Set the knowledgeElementService.
174 * @param knowledgeElementService
175 * the knowledgeElementService to set
177 public void setKnowledgeElementService(
178 KnowledgeElementService knowledgeElementService) {
179 _knowledgeElementService = knowledgeElementService;
183 * Get the menuProperty.
184 * @return the menuProperty
186 public String getMenuProperty() {
187 return _menuProperty;
191 * Set the menuProperty.
192 * @param menuProperty the menuProperty to set
194 public void setMenuProperty(String menuProperty) {
195 this._menuProperty = menuProperty;
199 * Get the _titleProperty.
200 * @return the _titleProperty
202 public String getTitleProperty() {
203 return _titleProperty;
207 * Set the _titleProperty.
208 * @param _titleProperty the titleProperty to set
210 public void setTitleProperty(String titleProperty) {
211 _titleProperty = titleProperty;
215 * Get the _editDisabledProperty.
216 * @return the _editDisabledProperty
218 public final String getEditDisabledProperty() {
219 return _editDisabledProperty;
223 * Set the _editDisabledProperty.
224 * @param _editDisabledProperty the _editDisabledProperty to set
226 public final void setEditDisabledProperty(String _editDisabledProperty) {
227 this._editDisabledProperty = _editDisabledProperty;