4A Server -  2.0
 All Classes Namespaces Files Functions Variables Enumerator
ServerSettings.java
Go to the documentation of this file.
1 /*
2  * Project: Server for annotations sharing
3  * Author: Ing. Jaroslav Dytrych idytrych@fit.vutbr.cz
4  * File: ServerSettings.java
5  * Description: Backbean for page with list of server settings
6  */
7 
8 /**
9  * @file ServerSettings.java
10  *
11  * @brief Backbean for page with list of server settings
12  */
13 
14 package cz.vutbr.fit.knot.annotations.web;
15 
21 import java.io.Serializable;
22 import java.util.Iterator;
23 import java.util.List;
24 import java.util.concurrent.TimeUnit;
25 import java.util.logging.Level;
26 import java.util.logging.Logger;
27 import javax.faces.bean.ManagedBean;
28 import javax.faces.bean.SessionScoped;
29 import javax.faces.component.html.HtmlDataTable;
30 
31 /**
32  * Backbean for page with list of server settings
33  *
34  * @brief Backbean for page with list of server settings
35  * @author Martin Petr (xpetrm05)
36  */
37 @ManagedBean
38 @SessionScoped
39 public class ServerSettings implements Serializable{
40  /**
41  * Table asociated with list of server settings
42  */
43  private HtmlDataTable listTable;
44  /**
45  * Server setting from table
46  */
47  private ServerSetting setting = null;
48  /**
49  * Status message
50  */
51  private String statusMessage = "";
52 
53  /**
54  * Gets table asociated with list of server settings
55  *
56  * @return Returns table asociated with list of server settings
57  */
58  public HtmlDataTable getListTable() {
59  return listTable;
60  }
61 
62  /**
63  * Sets table asociated with list of server settings
64  *
65  * @param listTable Table asociated with list of server settings
66  */
67  public void setListTable(HtmlDataTable listTable) {
68  this.listTable = listTable;
69  }
70 
71  /**
72  * Gets actual server setting selected in table
73  *
74  * @return Returns selected server setting
75  */
77  return setting;
78  }
79 
80  /**
81  * Sets actual server setting selected in table
82  *
83  * @param setting Actual server setting
84  */
86  this.setting = setting;
87  }
88 
89  /**
90  * Gets list of all existing server settings
91  *
92  * @return Returns list of all existing server settings
93  */
94  public List<ServerSetting> getSettings(){
95  @SuppressWarnings("unchecked")
96  List<ServerSetting> result = AppBean.getPersistenceManager().getEntitiesByName("ServerSetting");
97  Iterator<ServerSetting> sIt = result.iterator();
98  while (sIt.hasNext()) {
99  ServerSetting s = sIt.next();
100  if (Constants.SPECIAL_SETTINGS.contains(s.getSettingName())) {
101  sIt.remove();
102  }
103  }
104  return result;
105  }
106 
107  /**
108  * Action listener for edit server setting in table
109  *
110  * @return Returns page outcome to go to editing page
111  */
112  public String actionEdit(){
113  // get selected row from table
114  setting = (ServerSetting) listTable.getRowData();
115  // pass selected setting through the session
116  SessionManager.getSession().setActualServerSetting(setting);
117  SessionManager.getSession().setFormBackup(null);
118  statusMessage = "";
119  return "editServerSetting";
120  }
121 
122  /**
123  * Action listener for link for setting of server URI
124  *
125  * @return Returns page outcome to go to creating page
126  */
127  public String actionServerURISettings(){
128  SessionManager.getSession().setComeFrom("serverSettingsList");
129  statusMessage = "";
130  return "setServerURI";
131  }
132 
133  /**
134  * Action listener for link for restart of SEC API
135  *
136  * @return Returns page outcome to stay on same page
137  */
138  public String actionResetSECAPI(){
140  SECAPIInterface sai = AppBean.getSecApiInterface();
141  sai.close();
142  try {
143  TimeUnit.SECONDS.sleep(15); // wait some time to free all resources
144  } catch (InterruptedException ex) {
145  Logger.getLogger(ServerSettings.class.getName()).log(Level.SEVERE, null, ex);
146  }
147  sai.init();
148  SuggestionManager.initReqTypes();
149  if (AppBean.getReqTypeDefinitions().isEmpty()) {
150  statusMessage = MessageProvider.getMessage("SECAPIFailed");
151  } else {
152  statusMessage = MessageProvider.getMessage("SECAPIRestarted");
153  }
154  } else {
155  statusMessage = MessageProvider.getMessage("SECAPINotAvailable");
156  }
157  return null;
158  } // actionResetSECAPI()
159 
160  /**
161  * Gets status message
162  *
163  * @return Returns status message
164  */
165  public String getStatusMessage() {
166  return statusMessage;
167  }
168 
169 } // class ServerSettings
Class representing parameter of server settings.
Backbean for page with list of server settings.
Singleton for storing global variables.
Definition: AppBean.java:47
Interface for call of SEC API as external program (deamon)
Class provides offerining of suggestions with usage of local knowledge repository.
static ArrayList< SecApiReqTypeDef > getReqTypeDefinitions()
Definition: AppBean.java:863
static final ArrayList< String > SPECIAL_SETTINGS
Definition: Constants.java:420