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 * 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.
49 private String _editDisabledProperty = "false";
51 // ==============================================================================================================================
53 // ==============================================================================================================================
55 public String doOpen() {
56 myknelm = getOpenKnowledge();
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);
66 selection = myknelm.getSelection(); // Default selection
68 } catch (Exception error) {
69 logger.error("Reason:", error);
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);
78 getSession().put("menu.knowledge", myknelm.getMenu());
80 setMenuProperty("knowledge");
81 setTitleProperty("knowledge");
82 setToolProperty("none");
83 initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty);
88 public String doSelectStep() {
89 myknelm = getOpenKnowledge();
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);
97 setMenuProperty("knowledge");
98 setTitleProperty("knowledge");
99 setToolProperty("none");
100 initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty);
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);
115 setMenuProperty("knowledge");
116 setTitleProperty("knowledge");
117 setToolProperty("none");
118 initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty);
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);
131 setMenuProperty("knowledge");
132 setTitleProperty("knowledge");
133 setToolProperty("none");
134 initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty);
139 public String doClose() {
142 setMenuProperty("none");
143 initializationScreenContext(_menuProperty);
148 // ==============================================================================================================================
150 // ==============================================================================================================================
152 public List<DocumentFacade> getDocuments() {
153 return myknelm.getDisplayedDocuments();
156 public List<OpenObject.KnowledgeIterator> getKnowledges() {
157 return myknelm.getDisplayedKnowledges();
160 public List<SimulationContextFacade> getSimulationContexts() {
161 return myknelm.getDisplayedSimulationContexts();
164 public Step getSelectedStep() {
165 return myknelm.getSelectedStep();
168 public String getWriteAccess() {
173 * Get the knowledgeElementService.
175 * @return the knowledgeElementService
177 public KnowledgeElementService getKnowledgeElementService() {
178 return _knowledgeElementService;
182 * Set the knowledgeElementService.
184 * @param knowledgeElementService
185 * the knowledgeElementService to set
187 public void setKnowledgeElementService(
188 KnowledgeElementService knowledgeElementService) {
189 _knowledgeElementService = knowledgeElementService;
193 * Get the menuProperty.
194 * @return the menuProperty
196 public String getMenuProperty() {
197 return _menuProperty;
201 * Set the menuProperty.
202 * @param menuProperty the menuProperty to set
204 public void setMenuProperty(String menuProperty) {
205 this._menuProperty = menuProperty;
209 * Get the _titleProperty.
210 * @return the _titleProperty
212 public String getTitleProperty() {
213 return _titleProperty;
217 * Set the _titleProperty.
218 * @param _titleProperty the titleProperty to set
220 public void setTitleProperty(String titleProperty) {
221 _titleProperty = titleProperty;
225 * Get the _editDisabledProperty.
226 * @return the _editDisabledProperty
228 public final String getEditDisabledProperty() {
229 return _editDisabledProperty;
233 * Set the _editDisabledProperty.
234 * @param _editDisabledProperty the _editDisabledProperty to set
236 public final void setEditDisabledProperty(String _editDisabledProperty) {
237 this._editDisabledProperty = _editDisabledProperty;
241 * Get the toolProperty.
242 * @return the toolProperty
244 public String getToolProperty() {
245 return _toolProperty;
249 * Set the toolProperty.
250 * @param toolProperty the toolProperty to set
252 public void setToolProperty(final String toolProperty) {
253 _toolProperty = toolProperty;