4A Server -  2.0
 All Classes Namespaces Files Functions Variables Enumerator
EditDocumentCloneServer.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: EditDocumentCloneServer.java
5  * Description: Backbean for pages for adding, editing and deleting of document clonner approved servers
6  */
7 
8 /**
9  * @file EditDocumentCloneServer.java
10  *
11  * @brief Backbean of pages for managing document clonner approved servers
12  */
13 package cz.vutbr.fit.knot.annotations.web;
14 
18 import java.io.Serializable;
19 import java.util.logging.Level;
20 import java.util.logging.Logger;
21 import javax.faces.bean.ManagedBean;
22 import javax.faces.bean.ViewScoped;
23 
24 /**
25  * Backbean of pages for managing document clonner approved servers
26  *
27  * @brief Backbean of pages for managing document clonner approved servers
28  * @author Martin Petr (xpetrm05)
29  */
30 @ManagedBean
31 @ViewScoped
32 public class EditDocumentCloneServer implements Serializable {
33  /** IP address of server */
34  private String ipAddress;
35  /** Variable holds database entity of cloner approved server */
37  /** Error message that be displayed in form */
38  private String errorMessage;
39 
40  /**
41  * Constructor
42  */
44  }
45 
46  /**
47  * Gets IP address of approved server for document cloner
48  *
49  * @return Returns IP address of approved server
50  */
51  public String getIpAddress() {
52  if(docClonerServer == null){
53  docClonerServer = SessionManager.getSession().getActualClonerServer();
54  }
55 
56  DocClonerServer backup = null;
57  if (SessionManager.getSession().getFormBackup() != null) {
58  if (SessionManager.getSession().getFormBackup().getClass().getName().endsWith("DocClonerServer")) {
59  backup = (DocClonerServer) SessionManager.getSession().getFormBackup();
60  if (backup.getId() != docClonerServer.getId()) {
61  backup = null;
62  }
63  }
64  }
65 
66  if(ipAddress == null && backup != null) {
67  ipAddress = backup.getIpAddress();
68  } else if(ipAddress == null && docClonerServer != null) {
69  ipAddress = docClonerServer.getIpAddress();
70  } else if(ipAddress == null) {
71  ipAddress = "";
72  }
73 
74  return ipAddress;
75  }
76 
77  /**
78  * Sets IP address of approved server for document cloner
79  *
80  * @param ipAddress IP address of approved server
81  */
82  public void setIpAddress(String ipAddress) {
83  this.ipAddress = ipAddress;
84  }
85 
86  /**
87  * Gets error message displayed in form
88  *
89  * @return Returns error message displayed in form
90  */
91  public String getErrorMessage() {
92  return errorMessage;
93  }
94 
95  /**
96  * Sets error message to be displayed in form
97  *
98  * @param errorMessage Error message to be displayed in form
99  */
100  public void setErrorMessage(String errorMessage) {
101  this.errorMessage = errorMessage;
102  }
103 
104  /**
105  * Action listener for save button in the page for editing of the cloner approved server
106  *
107  * @return Returns page outcome (identificator of next page or null to stay here)
108  */
109  public String btnNewAction() {
110  if(ipAddress.isEmpty() || ipAddress == null){
111  //error
112  return null;
113  }
114 
116  docClonerServer.setIpAddress(ipAddress);
117 
118  //persist new server ip
119  if(AppBean.getPersistenceManager().persistEntity(docClonerServer)){
120  errorMessage = MessageProvider.getMessage("CSAddDatabaseFailure");
122  String msg = "Persisting of new document cloner approved server failed.";
123  Logger.getLogger(EditStoryScope.class.getName()).log(Level.SEVERE, msg);
124  }
125  return null;
126  }
127 
128  SessionManager.getSession().setActualClonerServer(null);
129  return "cancel";
130  }
131 
132  /**
133  * Action listener for save button on page for adding new cloner approved server
134  *
135  * @return Returns page outcome (identificator of next page or null to stay here)
136  */
137  public String btnEditAction() {
138  if(ipAddress.isEmpty() || ipAddress == null){
139  //error
140  return null;
141  }
142 
143  docClonerServer.setIpAddress(ipAddress);
144 
145  //change server ip
147  if (saved == null) {
148  errorMessage = MessageProvider.getMessage("CSEditDatabaseFailure");
150  String msg = "Persisting of new document cloner approved server failed.";
151  Logger.getLogger(EditStoryScope.class.getName()).log(Level.SEVERE, msg);
152  }
153  return null;
154  } else { // if changes was successfully saved
155  docClonerServer = saved;
156  }
157 
158  SessionManager.getSession().setActualClonerServer(null);
159  return "cancel";
160  }
161 
162  /**
163  * Action listener for delete button on deleting page.
164  *
165  * @return Returns page outcome (identificator of next page or null to stay here)
166  */
167  public String btnDeleteAction() {
168  if(ipAddress.isEmpty() || ipAddress == null){
169  //error
170  return null;
171  }
172 
173  if(AppBean.getPersistenceManager().removeEntity(docClonerServer)){
174  errorMessage = MessageProvider.getMessage("CSDeleteDatabaseFailure");
176  String msg = "DB failure during deleting document cloner approved server.";
177  Logger.getLogger(EditStoryScope.class.getName()).log(Level.SEVERE, msg);
178  }
179  }
180 
181  SessionManager.getSession().setActualClonerServer(null);
182  return "cancel";
183  }
184 
185  /**
186  * Action listener for cancel button
187  *
188  * @return Returns page outcome
189  */
190  public String btnCancelAction() {
191  SessionManager.getSession().setActualClonerServer(null);
192  return "cancel";
193  }
194 }
Class for manipulating with session.
Singleton for storing global variables.
Definition: AppBean.java:47
Backbean of pages for managing document clonner approved servers.
Class representing approved document clone server.