4A Server -  2.0
 All Classes Namespaces Files Functions Variables Enumerator
EditUserSetting.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: EditUserSetting.java
5  * Description: Backbean for pages for adding, editing and deleting of simple user settings
6  */
7 
8 /**
9  * @file EditUserSetting.java
10  *
11  * @brief Backbean for pages for adding, editing and deleting of simple user settings
12  */
13 
14 package cz.vutbr.fit.knot.annotations.web;
15 
19 import java.io.Serializable;
20 import java.util.logging.Level;
21 import java.util.logging.Logger;
22 import javax.faces.bean.ManagedBean;
23 import javax.faces.bean.ViewScoped;
24 
25 /**
26  * Backbean for pages for adding, editing and deleting of simple user settings
27  *
28  * @brief Backbean for pages for adding, editing and deleting of simple user settings
29  * @author Martin Petr (xpetrm05)
30  */
31 @ManagedBean
32 @ViewScoped
33 public class EditUserSetting implements Serializable{
34  /**
35  * User simple setting name
36  */
37  String name = null;
38 
39  /**
40  * Value of user simple setting
41  */
42  String value = null;
43 
44  /**
45  * Description of user simple setting
46  */
47  String description = null;
48 
49  /**
50  * Edited setting or setting to be deleted
51  */
52  Settings setting = null;
53 
54  /**
55  * Error message displayed in form
56  */
57  private String errorMessage = "";
58 
59  /**
60  * Constructor
61  */
62  public EditUserSetting() {
63  }
64 
65  /**
66  * Gets name of user simple setting
67  *
68  * @return Returns name of user simple setting
69  */
70  public String getName() {
71  if ((setting = SessionManager.getSession().getEditedSetting()) != null) {
72  name = setting.getName();
73  return name;
74  } else {
75  return "";
76  }
77  }
78 
79  /**
80  * Sets name of user simple setting
81  *
82  * @param name Name of user simple setting
83  */
84  public void setName(String name) {
85  this.name = name;
86  }
87 
88  /**
89  * Gets value of user simple setting
90  *
91  * @return Returns value of user simple setting
92  */
93  public String getValue() {
94  if ((setting = SessionManager.getSession().getEditedSetting()) != null) {
95  value = setting.getValue();
96  return value;
97  } else {
98  return "";
99  }
100  }
101 
102  /**
103  * Sets value of user simple setting
104  *
105  * @param value Value of user simple setting
106  */
107  public void setValue(String value) {
108  this.value = value;
109  }
110 
111  /**
112  * Gets description of user simple setting
113  *
114  * @return REturns description of user simple setting
115  */
116  public String getDescription() {
117  if ((setting = SessionManager.getSession().getEditedSetting()) != null) {
118  description = setting.getDescription();
119  return description;
120  } else {
121  return "";
122  }
123  }
124 
125  /**
126  * Sets description of user simple setting
127  *
128  * @param description Description of user simple setting
129  */
130  public void setDescription(String description) {
131  this.description = description;
132  }
133 
134  /**
135  * Gets error message displayed in form
136  *
137  * @return Returns error message displayed in form
138  */
139  public String getErrorMessage() {
140  return errorMessage;
141  }
142 
143  /**
144  * Sets error message to be displayed in form
145  *
146  * @param errorMessage Error message to be displayed in form
147  */
148  public void setErrorMessage(String errorMessage) {
149  this.errorMessage = errorMessage;
150  }
151 
152  /**
153  * Action listener for save button in the page for editing of user setting
154  *
155  * @return Returns page outcome (identificator of next page or null to stay here)
156  */
157  public String btnSaveAction(){
158  boolean errorOccurred = false;
159  errorMessage = "";
160 
161  if(name.isEmpty()){
162  errorMessage = errorMessage + MessageProvider.getMessage("userSettingsNameErr") + " ";
163  errorOccurred = true;
164  }
165 
166  if(value.isEmpty()){
167  errorMessage = errorMessage + MessageProvider.getMessage("userSettingsValueErr") + " ";
168  errorOccurred = true;
169  }
170 
171  if(errorOccurred){
172  errorMessage = MessageProvider.getMessage("error") + " " + errorMessage;
173  return "error";
174  }
175 
176  setting.setName(name);
177  setting.setValue(value);
178  setting.setDescription(description);
179  setting.setUser(SessionManager.getSession().getEditedUser());
180 
181  if ((AppBean.getPersistenceManager().saveEntityChanges(setting)) == null) {
182  errorMessage = MessageProvider.getMessage("changesNSDatabaseFailure");
184  String msg = "Persisting of changes in the user settings failed.";
185  Logger.getLogger(EditUser.class.getName()).log(Level.SEVERE, msg);
186  }
187  return "error";
188  }
189 
190  SessionManager.getSession().setEditedSetting(null);
191  return "saved";
192  }
193 
194  /**
195  * Action listener for save button on page for adding new user setting
196  *
197  * @return Returns page outcome (identificator of next page or null to stay here)
198  */
199  public String btnSaveNewAction(){
200  boolean errorOccurred = false;
201  errorMessage = "";
202 
203  if(name.isEmpty()){
204  errorMessage = errorMessage + MessageProvider.getMessage("userSettingsNameErr") + " ";
205  errorOccurred = true;
206  }
207 
208  if(value.isEmpty()){
209  errorMessage = errorMessage + MessageProvider.getMessage("userSettingsValueErr") + " ";
210  errorOccurred = true;
211  }
212 
213  if(errorOccurred){
214  errorMessage = MessageProvider.getMessage("error") + " " + errorMessage;
215  return "error";
216  }
217 
219 
220  if (AppBean.getPersistenceManager().persistEntity(setting)) {
221  errorMessage = MessageProvider.getMessage("newUserSettingDBFailure");
223  String msg = "Persisting of new user settings failed.";
224  Logger.getLogger(EditUser.class.getName()).log(Level.SEVERE, msg);
225  }
226  return "error";
227  }
228 
229  SessionManager.getSession().setEditedSetting(null);
230  return "saved";
231  }
232 
233  /**
234  * Action listener for delete button on deleting page.
235  *
236  * @return Returns page outcome (identificator of next page or null to stay here)
237  */
238  public String btnDeleteAction(){
239  if(AppBean.getPersistenceManager().removeEntity(setting)){
240  errorMessage = MessageProvider.getMessage("userSettingsDeleteError");
242  String msg = "DB failure during deleting of user settings.";
243  Logger.getLogger(EditSubscriptions.class.getName()).log(Level.SEVERE, msg);
244  }
245 
246  return null;
247  }
248 
249  SessionManager.getSession().setFormBackup(null);
250  SessionManager.getSession().setEditedSetting(null); // clean up variable in session
251  return "cancel";
252  }
253 
254  /**
255  * Action listener for cancel button
256  *
257  * @return Returns page outcome (identificator of next page or null to stay here)
258  */
259  public String btnCancelAction(){
260  SessionManager.getSession().setEditedSetting(null);
261  return "cancel";
262  }
263 }
Class for manipulating with session.
Singleton for storing global variables.
Definition: AppBean.java:47
Class representing parameter of user settings.
Definition: Settings.java:45
Backbean for pages for adding, editing and deleting of simple user settings.