Salome HOME
Some PMD rules are satisfied.
[tools/siman.git] / Workspace / Siman / src / org / splat / simer / DisplayKnowledgeAction.java
1 package org.splat.simer;
2
3 import java.util.List;
4
5 import org.splat.service.KnowledgeElementService;
6 import org.splat.service.dto.KnowledgeElementDTO;
7 import org.splat.som.Step;
8 import org.splat.wapp.Constants;
9
10 public class DisplayKnowledgeAction extends AbstractDisplayAction {
11
12         /**
13          * Serial version ID.
14          */
15         private static final long serialVersionUID = 8473504456981431762L;
16
17         /**
18          * Current knowledge element details.
19          */
20         protected transient OpenKnowledge _myknelm = null;
21
22         /**
23          * Injected knowledge element service.
24          */
25         private KnowledgeElementService _knowledgeElementService;
26
27         // ==============================================================================================================================
28         // Action methods
29         // ==============================================================================================================================
30
31         public String doOpen() {
32                 _myknelm = getOpenKnowledge();
33                 if (_myindex == null) {
34                         if (_selection != null) { // Re-opening (refreshing) the currently open knowledge
35                                 KnowledgeElementDTO kelm = getKnowledgeElementService()
36                                                 .getKnowledgeElement(_myknelm.getIndex());
37                                 _myknelm = open(kelm); // Closes the previously open knowledge
38                                 _myknelm.setSelection(_selection);
39                         }
40                 } else {
41                         try { // Opening a knowledge from the search result
42                                 int index = Integer.valueOf(_myindex);
43                                 if (_myknelm != null && _myknelm.getIndex() == index) { // - The selected knowledge is currently open
44                                         _selection = _myknelm.getSelection(); // Current selection
45                                 } else { // - The selected knowledge is new
46                                         KnowledgeElementDTO kelm = getKnowledgeElementService()
47                                                         .getKnowledgeElement(index);
48                                         _myknelm = open(kelm);
49                                         _selection = _myknelm.getSelection(); // Default selection
50                                 }
51                         } catch (Exception error) {
52                                 LOG.error("Reason:", error);
53                                 return ERROR;
54                         }
55                 }
56                 getSession().put("menu.knowledge", _myknelm.getMenu());
57
58                 initializationFullScreenContext(Constants.KNOWLEDGE_MENU,
59                                 Constants.KNOWLEDGE_MENU, Constants.FALSE, Constants.NONE,
60                                 Constants.KNOWLEDGE_MENU);
61
62                 return SUCCESS;
63         }
64
65         public String doSelectStep() {
66                 _myknelm = getOpenKnowledge();
67
68                 if (_selection == null) { // Switch back to the current study
69                         _selection = _myknelm.getSelection();
70                 } else { // Selection of a step of current study
71                         _myknelm.setSelection(_selection);
72                 }
73
74                 initializationFullScreenContext(Constants.KNOWLEDGE_MENU,
75                                 Constants.KNOWLEDGE_MENU, Constants.FALSE, Constants.NONE,
76                                 Constants.KNOWLEDGE_MENU);
77
78                 return SUCCESS;
79         }
80
81         public String doSelectDocument() {
82                 Execute todo = Execute.valueOf(_action);
83                 _myknelm = getOpenKnowledge();
84                 if (todo == Execute.develop) {
85                         _myknelm.developDocument(_myindex);
86                 } else if (todo == Execute.reduce) {
87                         _myknelm.reduceHistory(_myindex);
88                 } else if (todo == Execute.reduceall) {
89                         _myknelm.reduceDocument(_myindex);
90                 }
91
92                 initializationFullScreenContext(Constants.KNOWLEDGE_MENU,
93                                 Constants.KNOWLEDGE_MENU, Constants.FALSE, Constants.NONE,
94                                 Constants.KNOWLEDGE_MENU);
95
96                 return SUCCESS;
97         }
98
99         public String doSelectKnowledge() {
100                 Execute todo = Execute.valueOf(_action);
101                 _myknelm = getOpenKnowledge();
102                 if (todo == Execute.develop) {
103                         _myknelm.developKnowledge(_myindex);
104                 } else if (todo == Execute.reduce) {
105                         _myknelm.reduceKnowledge(_myindex);
106                 }
107
108                 initializationFullScreenContext(Constants.KNOWLEDGE_MENU,
109                                 Constants.KNOWLEDGE_MENU, Constants.FALSE, Constants.NONE,
110                                 Constants.KNOWLEDGE_MENU);
111
112                 return SUCCESS;
113         }
114
115         public String doClose() {
116                 closeKnowledge();
117
118                 initializationScreenContext(Constants.NONE);
119
120                 return SUCCESS;
121         }
122
123         // ==============================================================================================================================
124         // Getters
125         // ==============================================================================================================================
126
127         public List<DocumentFacade> getDocuments() {
128                 return _myknelm.getDisplayedDocuments();
129         }
130
131         public List<AbstractOpenObject.KnowledgeIterator> getKnowledges() {
132                 return _myknelm.getDisplayedKnowledges();
133         }
134
135         public List<SimulationContextFacade> getSimulationContexts() {
136                 return _myknelm.getDisplayedSimulationContexts();
137         }
138
139         public Step getSelectedStep() {
140                 return _myknelm.getSelectedStep();
141         }
142
143         @Override
144         public String getWriteAccess() {
145                 return "false";
146         }
147
148         /**
149          * Get the knowledgeElementService.
150          * 
151          * @return the knowledgeElementService
152          */
153         public KnowledgeElementService getKnowledgeElementService() {
154                 return _knowledgeElementService;
155         }
156
157         /**
158          * Set the knowledgeElementService.
159          * 
160          * @param knowledgeElementService
161          *            the knowledgeElementService to set
162          */
163         public void setKnowledgeElementService(
164                         final KnowledgeElementService knowledgeElementService) {
165                 _knowledgeElementService = knowledgeElementService;
166         }
167 }