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;
26 // ==============================================================================================================================
28 // ==============================================================================================================================
30 public String doOpen() {
31 myknelm = getOpenKnowledge();
33 try { // Opening a knowledge from the search result
34 int index = Integer.valueOf(myindex);
35 if (myknelm != null && myknelm.getIndex() == index) { // - The selected knowledge is currently open
36 selection = myknelm.getSelection(); // Current selection
37 } else { // - The selected knowledge is new
38 KnowledgeElement kelm = getKnowledgeElementService()
39 .selectKnowledgeElement(index);
41 selection = myknelm.getSelection(); // Default selection
43 } catch (Exception error) {
44 logger.error("Reason:", error);
47 else if (selection != null) { // Re-opening (refreshing) the currently open knowledge
48 KnowledgeElement kelm = getKnowledgeElementService()
49 .selectKnowledgeElement(myknelm.getIndex());
50 myknelm = open(kelm); // Closes the previously open knowledge
51 myknelm.setSelection(selection);
53 getSession().put("menu.knowledge", myknelm.getMenu());
58 public String doSelectStep() {
59 myknelm = getOpenKnowledge();
61 if (selection == null) { // Switch back to the current study
62 selection = myknelm.getSelection();
63 } else { // Selection of a step of current study
64 myknelm.setSelection(selection);
69 public String doSelectDocument() {
70 Execute todo = Execute.valueOf(action);
71 myknelm = getOpenKnowledge();
72 if (todo == Execute.develop)
73 myknelm.developDocument(myindex);
74 else if (todo == Execute.reduce)
75 myknelm.reduceHistory(myindex);
76 else if (todo == Execute.reduceall)
77 myknelm.reduceDocument(myindex);
81 public String doSelectKnowledge() {
82 Execute todo = Execute.valueOf(action);
83 myknelm = getOpenKnowledge();
84 if (todo == Execute.develop)
85 myknelm.developKnowledge(myindex);
86 else if (todo == Execute.reduce)
87 myknelm.reduceKnowledge(myindex);
91 public String doClose() {
96 // ==============================================================================================================================
98 // ==============================================================================================================================
100 public List<DocumentFacade> getDocuments() {
101 return myknelm.getDisplayedDocuments();
104 public List<OpenObject.KnowledgeIterator> getKnowledges() {
105 return myknelm.getDisplayedKnowledges();
108 public List<SimulationContextFacade> getSimulationContexts() {
109 return myknelm.getDisplayedSimulationContexts();
112 public Step getSelectedStep() {
113 return myknelm.getSelectedStep();
116 public String getWriteAccess() {
121 * Get the knowledgeElementService.
123 * @return the knowledgeElementService
125 public KnowledgeElementService getKnowledgeElementService() {
126 return _knowledgeElementService;
130 * Set the knowledgeElementService.
132 * @param knowledgeElementService
133 * the knowledgeElementService to set
135 public void setKnowledgeElementService(
136 KnowledgeElementService knowledgeElementService) {
137 _knowledgeElementService = knowledgeElementService;