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;
32 // ==============================================================================================================================
34 // ==============================================================================================================================
36 public String doOpen() {
37 myknelm = getOpenKnowledge();
39 try { // Opening a knowledge from the search result
40 int index = Integer.valueOf(myindex);
41 if (myknelm != null && myknelm.getIndex() == index) { // - The selected knowledge is currently open
42 selection = myknelm.getSelection(); // Current selection
43 } else { // - The selected knowledge is new
44 KnowledgeElement kelm = getKnowledgeElementService()
45 .selectKnowledgeElement(index);
47 selection = myknelm.getSelection(); // Default selection
49 } catch (Exception error) {
50 logger.error("Reason:", error);
53 else if (selection != null) { // Re-opening (refreshing) the currently open knowledge
54 KnowledgeElement kelm = getKnowledgeElementService()
55 .selectKnowledgeElement(myknelm.getIndex());
56 myknelm = open(kelm); // Closes the previously open knowledge
57 myknelm.setSelection(selection);
59 getSession().put("menu.knowledge", myknelm.getMenu());
61 setMenuProperty("knowledge");
62 initializationScreenContext(_menuProperty);
67 public String doSelectStep() {
68 myknelm = getOpenKnowledge();
70 if (selection == null) { // Switch back to the current study
71 selection = myknelm.getSelection();
72 } else { // Selection of a step of current study
73 myknelm.setSelection(selection);
76 setMenuProperty("knowledge");
77 initializationScreenContext(_menuProperty);
82 public String doSelectDocument() {
83 Execute todo = Execute.valueOf(action);
84 myknelm = getOpenKnowledge();
85 if (todo == Execute.develop)
86 myknelm.developDocument(myindex);
87 else if (todo == Execute.reduce)
88 myknelm.reduceHistory(myindex);
89 else if (todo == Execute.reduceall)
90 myknelm.reduceDocument(myindex);
92 setMenuProperty("knowledge");
93 initializationScreenContext(_menuProperty);
98 public String doSelectKnowledge() {
99 Execute todo = Execute.valueOf(action);
100 myknelm = getOpenKnowledge();
101 if (todo == Execute.develop)
102 myknelm.developKnowledge(myindex);
103 else if (todo == Execute.reduce)
104 myknelm.reduceKnowledge(myindex);
106 setMenuProperty("knowledge");
107 initializationScreenContext(_menuProperty);
112 public String doClose() {
115 setMenuProperty("none");
116 initializationScreenContext(_menuProperty);
121 // ==============================================================================================================================
123 // ==============================================================================================================================
125 public List<DocumentFacade> getDocuments() {
126 return myknelm.getDisplayedDocuments();
129 public List<OpenObject.KnowledgeIterator> getKnowledges() {
130 return myknelm.getDisplayedKnowledges();
133 public List<SimulationContextFacade> getSimulationContexts() {
134 return myknelm.getDisplayedSimulationContexts();
137 public Step getSelectedStep() {
138 return myknelm.getSelectedStep();
141 public String getWriteAccess() {
146 * Get the knowledgeElementService.
148 * @return the knowledgeElementService
150 public KnowledgeElementService getKnowledgeElementService() {
151 return _knowledgeElementService;
155 * Set the knowledgeElementService.
157 * @param knowledgeElementService
158 * the knowledgeElementService to set
160 public void setKnowledgeElementService(
161 KnowledgeElementService knowledgeElementService) {
162 _knowledgeElementService = knowledgeElementService;
166 * Get the menuProperty.
167 * @return the menuProperty
169 public String getMenuProperty() {
170 return _menuProperty;
174 * Set the menuProperty.
175 * @param menuProperty the menuProperty to set
177 public void setMenuProperty(String menuProperty) {
178 this._menuProperty = menuProperty;