1 package org.splat.simer;
5 import org.hibernate.Session;
6 import org.hibernate.Transaction;
7 import org.splat.dal.dao.som.Database;
8 import org.splat.dal.bo.som.KnowledgeElement;
9 import org.splat.service.KnowledgeElementService;
10 import org.splat.som.Step;
13 public class DisplayKnowledgeAction extends DisplayBaseAction {
15 protected OpenKnowledge myknelm = null; // Knowledge Element details
17 private KnowledgeElementService _knowledgeElementService;
19 private static final long serialVersionUID = 8473504456981431762L;
21 // ==============================================================================================================================
23 // ==============================================================================================================================
25 public String doOpen () {
26 // -----------------------
27 Session connex = Database.getCurSession();
28 Transaction transax = connex.beginTransaction();
30 myknelm = getOpenKnowledge();
31 if (myindex != null) try { // Opening a knowledge from the search result
32 int index = Integer.valueOf(myindex);
33 if (myknelm != null && myknelm.getIndex() == index) { // - The selected knowledge is currently open
34 selection = myknelm.getSelection(); // Current selection
35 } else { // - The selected knowledge is new
36 KnowledgeElement kelm = getKnowledgeElementService().selectKnowledgeElement(index);
38 selection = myknelm.getSelection(); // Default selection
41 catch (Exception error) {
42 logger.error("Reason:", error);
45 else if (selection != null) { // Re-opening (refreshing) the currently open knowledge
46 KnowledgeElement kelm = getKnowledgeElementService().selectKnowledgeElement(myknelm.getIndex());
47 myknelm = open(kelm); // Closes the previously open knowledge
48 myknelm.setSelection(selection);
50 getSession().put("menu.knowledge", myknelm.getMenu());
56 public String doSelectStep () {
57 // -----------------------------
58 Session connex = Database.getCurSession();
59 Transaction transax = connex.beginTransaction();
61 myknelm = getOpenKnowledge();
63 if (selection == null) { // Switch back to the current study
64 selection = myknelm.getSelection();
65 } else { // Selection of a step of current study
66 myknelm.setSelection(selection);
72 public String doSelectDocument () {
73 // ---------------------------------
74 Execute todo = Execute.valueOf(action);
75 myknelm = getOpenKnowledge();
76 if (todo == Execute.develop) myknelm.developDocument(myindex);
77 else if (todo == Execute.reduce) myknelm.reduceHistory(myindex);
78 else if (todo == Execute.reduceall) myknelm.reduceDocument(myindex);
82 public String doSelectKnowledge () {
83 // ----------------------------------
84 Execute todo = Execute.valueOf(action);
85 myknelm = getOpenKnowledge();
86 if (todo == Execute.develop) myknelm.developKnowledge(myindex);
87 else if (todo == Execute.reduce) myknelm.reduceKnowledge(myindex);
91 public String doClose () {
92 // ------------------------
96 // ==============================================================================================================================
98 // ==============================================================================================================================
100 public List<DocumentFacade> getDocuments () {
101 // --------------------------------------------
102 return myknelm.getDisplayedDocuments();
104 public List<OpenObject.KnowledgeIterator> getKnowledges () {
105 // ----------------------------------------------------------
106 return myknelm.getDisplayedKnowledges();
108 public List<SimulationContextFacade> getSimulationContexts () {
109 // -------------------------------------------------------------
110 return myknelm.getDisplayedSimulationContexts();
112 public Step getSelectedStep () {
113 // ------------------------------
114 return myknelm.getSelectedStep();
116 public String getWriteAccess () {
117 // -------------------------------
122 * Get the knowledgeElementService.
123 * @return the knowledgeElementService
125 public KnowledgeElementService getKnowledgeElementService() {
126 return _knowledgeElementService;
130 * Set the knowledgeElementService.
131 * @param knowledgeElementService the knowledgeElementService to set
133 public void setKnowledgeElementService(
134 KnowledgeElementService knowledgeElementService) {
135 _knowledgeElementService = knowledgeElementService;