import java.util.List;
-import org.hibernate.Session;
-import org.hibernate.Transaction;
-import org.splat.dal.dao.som.Database;
import org.splat.dal.bo.som.KnowledgeElement;
+import org.splat.service.KnowledgeElementService;
import org.splat.som.Step;
-
public class DisplayKnowledgeAction extends DisplayBaseAction {
- protected OpenKnowledge myknelm = null; // Knowledge Element details
-
+ /**
+ * Serial version ID.
+ */
private static final long serialVersionUID = 8473504456981431762L;
-// ==============================================================================================================================
-// Action methods
-// ==============================================================================================================================
-
- public String doOpen () {
-// -----------------------
- Session connex = Database.getSession();
- Transaction transax = connex.beginTransaction();
-
- myknelm = getOpenKnowledge();
- if (myindex != null) try { // Opening a knowledge from the search result
- int index = Integer.valueOf(myindex);
- if (myknelm != null && myknelm.getIndex() == index) { // - The selected knowledge is currently open
- selection = myknelm.getSelection(); // Current selection
- } else { // - The selected knowledge is new
- KnowledgeElement kelm = Database.selectKnowledgeElement(index);
- myknelm = open(kelm);
- selection = myknelm.getSelection(); // Default selection
- }
- }
- catch (Exception error) {
- logger.error("Reason:", error);
- return ERROR;
- }
- else if (selection != null) { // Re-opening (refreshing) the currently open knowledge
- KnowledgeElement kelm = Database.selectKnowledgeElement(myknelm.getIndex());
- myknelm = open(kelm); // Closes the previously open knowledge
- myknelm.setSelection(selection);
- }
- getSession().put("menu.knowledge", myknelm.getMenu());
-
- transax.commit();
- return SUCCESS;
- }
-
- public String doSelectStep () {
-// -----------------------------
- Session connex = Database.getSession();
- Transaction transax = connex.beginTransaction();
-
- myknelm = getOpenKnowledge();
-
- if (selection == null) { // Switch back to the current study
- selection = myknelm.getSelection();
- } else { // Selection of a step of current study
- myknelm.setSelection(selection);
- }
- transax.commit();
- return SUCCESS;
- }
-
- public String doSelectDocument () {
-// ---------------------------------
- Execute todo = Execute.valueOf(action);
- myknelm = getOpenKnowledge();
- if (todo == Execute.develop) myknelm.developDocument(myindex);
- else if (todo == Execute.reduce) myknelm.reduceHistory(myindex);
- else if (todo == Execute.reduceall) myknelm.reduceDocument(myindex);
- return SUCCESS;
- }
-
- public String doSelectKnowledge () {
-// ----------------------------------
- Execute todo = Execute.valueOf(action);
- myknelm = getOpenKnowledge();
- if (todo == Execute.develop) myknelm.developKnowledge(myindex);
- else if (todo == Execute.reduce) myknelm.reduceKnowledge(myindex);
- return SUCCESS;
- }
-
- public String doClose () {
-// ------------------------
- closeKnowledge();
- return SUCCESS;
- }
-// ==============================================================================================================================
-// Getters
-// ==============================================================================================================================
-
- public List<DocumentFacade> getDocuments () {
-// --------------------------------------------
- return myknelm.getDisplayedDocuments();
- }
- public List<OpenObject.KnowledgeIterator> getKnowledges () {
-// ----------------------------------------------------------
- return myknelm.getDisplayedKnowledges();
- }
- public List<SimulationContextFacade> getSimulationContexts () {
-// -------------------------------------------------------------
- return myknelm.getDisplayedSimulationContexts();
- }
- public Step getSelectedStep () {
-// ------------------------------
- return myknelm.getSelectedStep();
- }
- public String getWriteAccess () {
-// -------------------------------
- return "false";
- }
+ /**
+ * Current knowledge element details.
+ */
+ protected OpenKnowledge myknelm = null;
+
+ /**
+ * Injected knowledge element service.
+ */
+ private KnowledgeElementService _knowledgeElementService;
+
+ /**
+ * Value of the menu property.
+ * It can be: none, create, open, study, knowledge, sysadmin, help.
+ */
+ private String _menuProperty;
+
+ /**
+ * Value of the title bar property.
+ * It can be: study, knowledge.
+ */
+ private String _titleProperty;
+
+ /**
+ * Value of the tool bar property.
+ * It can be: none, standard, study, back.
+ */
+ private String _toolProperty;
+
+ /**
+ * Property that indicates whether the current open study is editable or not.
+ * On the screen it looks like pen on the status icon, pop-up menu also can be called.
+ * It is necessary for correct building the title bar.
+ */
+ private String _editDisabledProperty = "false";
+
+ // ==============================================================================================================================
+ // Action methods
+ // ==============================================================================================================================
+
+ public String doOpen() {
+ myknelm = getOpenKnowledge();
+ if (myindex != null)
+ try { // Opening a knowledge from the search result
+ int index = Integer.valueOf(myindex);
+ if (myknelm != null && myknelm.getIndex() == index) { // - The selected knowledge is currently open
+ selection = myknelm.getSelection(); // Current selection
+ } else { // - The selected knowledge is new
+ KnowledgeElement kelm = getKnowledgeElementService()
+ .selectKnowledgeElement(index);
+ myknelm = open(kelm);
+ selection = myknelm.getSelection(); // Default selection
+ }
+ } catch (Exception error) {
+ logger.error("Reason:", error);
+ return ERROR;
+ }
+ else if (selection != null) { // Re-opening (refreshing) the currently open knowledge
+ KnowledgeElement kelm = getKnowledgeElementService()
+ .selectKnowledgeElement(myknelm.getIndex());
+ myknelm = open(kelm); // Closes the previously open knowledge
+ myknelm.setSelection(selection);
+ }
+ getSession().put("menu.knowledge", myknelm.getMenu());
+
+ setMenuProperty("knowledge");
+ setTitleProperty("knowledge");
+ setToolProperty("none");
+ initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty);
+
+ return SUCCESS;
+ }
+
+ public String doSelectStep() {
+ myknelm = getOpenKnowledge();
+
+ if (selection == null) { // Switch back to the current study
+ selection = myknelm.getSelection();
+ } else { // Selection of a step of current study
+ myknelm.setSelection(selection);
+ }
+
+ setMenuProperty("knowledge");
+ setTitleProperty("knowledge");
+ setToolProperty("none");
+ initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty);
+
+ return SUCCESS;
+ }
+
+ public String doSelectDocument() {
+ Execute todo = Execute.valueOf(action);
+ myknelm = getOpenKnowledge();
+ if (todo == Execute.develop)
+ myknelm.developDocument(myindex);
+ else if (todo == Execute.reduce)
+ myknelm.reduceHistory(myindex);
+ else if (todo == Execute.reduceall)
+ myknelm.reduceDocument(myindex);
+
+ setMenuProperty("knowledge");
+ setTitleProperty("knowledge");
+ setToolProperty("none");
+ initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty);
+
+ return SUCCESS;
+ }
+
+ public String doSelectKnowledge() {
+ Execute todo = Execute.valueOf(action);
+ myknelm = getOpenKnowledge();
+ if (todo == Execute.develop)
+ myknelm.developKnowledge(myindex);
+ else if (todo == Execute.reduce)
+ myknelm.reduceKnowledge(myindex);
+
+ setMenuProperty("knowledge");
+ setTitleProperty("knowledge");
+ setToolProperty("none");
+ initializationScreenContext(_menuProperty, _titleProperty, _editDisabledProperty, _toolProperty);
+
+ return SUCCESS;
+ }
+
+ public String doClose() {
+ closeKnowledge();
+
+ setMenuProperty("none");
+ initializationScreenContext(_menuProperty);
+
+ return SUCCESS;
+ }
+
+ // ==============================================================================================================================
+ // Getters
+ // ==============================================================================================================================
+
+ public List<DocumentFacade> getDocuments() {
+ return myknelm.getDisplayedDocuments();
+ }
+
+ public List<OpenObject.KnowledgeIterator> getKnowledges() {
+ return myknelm.getDisplayedKnowledges();
+ }
+
+ public List<SimulationContextFacade> getSimulationContexts() {
+ return myknelm.getDisplayedSimulationContexts();
+ }
+
+ public Step getSelectedStep() {
+ return myknelm.getSelectedStep();
+ }
+
+ public String getWriteAccess() {
+ return "false";
+ }
+
+ /**
+ * Get the knowledgeElementService.
+ *
+ * @return the knowledgeElementService
+ */
+ public KnowledgeElementService getKnowledgeElementService() {
+ return _knowledgeElementService;
+ }
+
+ /**
+ * Set the knowledgeElementService.
+ *
+ * @param knowledgeElementService
+ * the knowledgeElementService to set
+ */
+ public void setKnowledgeElementService(
+ KnowledgeElementService knowledgeElementService) {
+ _knowledgeElementService = knowledgeElementService;
+ }
+
+ /**
+ * Get the menuProperty.
+ * @return the menuProperty
+ */
+ public String getMenuProperty() {
+ return _menuProperty;
+ }
+
+ /**
+ * Set the menuProperty.
+ * @param menuProperty the menuProperty to set
+ */
+ public void setMenuProperty(String menuProperty) {
+ this._menuProperty = menuProperty;
+ }
+
+ /**
+ * Get the _titleProperty.
+ * @return the _titleProperty
+ */
+ public String getTitleProperty() {
+ return _titleProperty;
+ }
+
+ /**
+ * Set the _titleProperty.
+ * @param _titleProperty the titleProperty to set
+ */
+ public void setTitleProperty(String titleProperty) {
+ _titleProperty = titleProperty;
+ }
+
+ /**
+ * Get the _editDisabledProperty.
+ * @return the _editDisabledProperty
+ */
+ public final String getEditDisabledProperty() {
+ return _editDisabledProperty;
+ }
+
+ /**
+ * Set the _editDisabledProperty.
+ * @param _editDisabledProperty the _editDisabledProperty to set
+ */
+ public final void setEditDisabledProperty(String _editDisabledProperty) {
+ this._editDisabledProperty = _editDisabledProperty;
+ }
+
+ /**
+ * Get the toolProperty.
+ * @return the toolProperty
+ */
+ public String getToolProperty() {
+ return _toolProperty;
+ }
+
+ /**
+ * Set the toolProperty.
+ * @param toolProperty the toolProperty to set
+ */
+ public void setToolProperty(final String toolProperty) {
+ _toolProperty = toolProperty;
+ }
}
\ No newline at end of file