1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.fhw.cabaweb.webfrontend.forms.simple;
20
21 import java.util.Iterator;
22
23 import javax.servlet.http.HttpServletRequest;
24
25 import org.apache.commons.logging.Log;
26 import org.apache.commons.logging.LogFactory;
27 import org.apache.struts.action.ActionError;
28 import org.apache.struts.action.ActionErrors;
29 import org.apache.struts.action.ActionForm;
30 import org.apache.struts.action.ActionMapping;
31
32 /***
33 * Formularklasse der MVC Architektur von Struts.
34 * In diesem Fall für eine einzelne Benutzerrolle (Create/Delete/Edit einer Benutzerrolle)
35 *
36 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
37 * @version Version 1.0 02.07.2004
38 */
39 public final class BenutzerrolleForm extends ActionForm
40 {
41 /***
42 * The <code>Log</code> instance for this application.
43 */
44 private Log log = LogFactory.getLog("org.fhw.cabaweb.webfrontend.forms.simple");
45
46
47 /*** Art der Aktion die wir durchführen wollen (Create or Edit) - Default ist Create. */
48 private String action = "Create";
49 /*** Die RollenID */
50 private Integer rollenID = null;
51 /*** Der Rollenname */
52 private String rollenname = null;
53 /*** Benutzerrolle hat Administrationsrechte */
54 private Boolean admin = null;
55 /*** Benutzerrolle hat Projektleiterrechte */
56 private Boolean projektleiter = null;
57 /*** Benutzerrolle hat Gruppenmitgliedsrechte */
58 private Boolean gruppenmitglied = null;
59
60
61
62 /***
63 * GET Methode
64 *
65 * @return der Parameterwert
66 */
67 public String getAction()
68 {
69 return this.action;
70 }
71
72 /***
73 * GET Methode
74 *
75 * @return der Parameterwert
76 */
77 public Boolean getAdmin()
78 {
79 return this.admin;
80 }
81
82 /***
83 * GET Methode
84 *
85 * @return der Parameterwert
86 */
87 public Boolean getGruppenmitglied()
88 {
89 return this.gruppenmitglied;
90 }
91
92 /***
93 * GET Methode
94 *
95 * @return der Parameterwert
96 */
97 public Boolean getProjektleiter()
98 {
99 return this.projektleiter;
100 }
101
102 /***
103 * GET Methode
104 *
105 * @return der Parameterwert
106 */
107 public Integer getRollenID()
108 {
109 return this.rollenID;
110 }
111
112 /***
113 * GET Methode
114 *
115 * @return der Parameterwert
116 */
117 public String getRollenname()
118 {
119 return this.rollenname;
120 }
121
122 /***
123 * SET Methode
124 *
125 * @param action Der zu setzende Parameterwert
126 */
127 public void setAction(String action)
128 {
129 this.action = action;
130 }
131
132 /***
133 * SET Methode
134 *
135 * @param admin Der zu setzende Parameterwert
136 */
137 public void setAdmin(Boolean admin)
138 {
139 this.admin = admin;
140 }
141
142 /***
143 * SET Methode
144 *
145 * @param gruppenmitglied Der zu setzende Parameterwert
146 */
147 public void setGruppenmitglied(Boolean gruppenmitglied)
148 {
149 this.gruppenmitglied = gruppenmitglied;
150 }
151
152 /***
153 * SET Methode
154 *
155 * @param projektleiter Der zu setzende Parameterwert
156 */
157 public void setProjektleiter(Boolean projektleiter)
158 {
159 this.projektleiter = projektleiter;
160 }
161
162 /***
163 * SET Methode
164 *
165 * @param rollenID Der zu setzende Parameterwert
166 */
167 public void setRollenID(Integer rollenID)
168 {
169 this.rollenID = rollenID;
170 }
171
172 /***
173 * SET Methode
174 *
175 * @param rollenname Der zu setzende Parameterwert
176 */
177 public void setRollenname(String rollenname)
178 {
179 this.rollenname = rollenname;
180 }
181
182
183
184 /***
185 * Zurücksetzen aller Parameterwerte auf die Default Werte.
186 *
187 * @param mapping Das Mapping das benutzt wurde um diese Instanz zu selektieren
188 * @param request Die Servlet Anfrage die wir gerade bearbeiten
189 */
190 public void reset(ActionMapping mapping, HttpServletRequest request)
191 {
192 this.action = "Create";
193 this.rollenID = null;
194 this.rollenname = null;
195 this.admin = null;
196 this.projektleiter = null;
197 this.gruppenmitglied = null;
198 }
199
200 /***
201 * Validieren der mit diesem Request übergebenen Paramter Werte. Wenn Fehler
202 * bei der Validierung auftreten wird <code>ActionErrors</code> Objekt,
203 * das die Fehler enthält zurückgegeben.
204 * Wenn kein Fehler bei der Validierung auftritt wird <code>null</code> bzw.
205 * ein leeres <code>ActionErrors</code> Objekt zurückgegeben
206 *
207 * @param mapping Das Mapping das benutzt wurde um diese Instanz zu selektieren
208 * (siehe struts-config.xml)
209 * @param request Das Servlet Anfrage Objekt
210 */
211 public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
212 {
213
214 ActionErrors errors = new ActionErrors();
215
216 if (rollenname == null || rollenname.length() <= 0)
217 errors.add("rollenname", new ActionError("error.field.edit.benutzerrolle.rollenname.empty"));
218 else if (rollenname.length() < 5)
219 errors.add("rollenname", new ActionError("error.field.edit.benutzerrolle.rollenname.minlength"));
220 else if (rollenname.length() > 25)
221 errors.add("rollenname", new ActionError("error.field.edit.benutzerrolle.rollenname.maxlength"));
222
223 if (admin == null && projektleiter == null && gruppenmitglied == null)
224 errors.add("admin", new ActionError("error.field.edit.benutzerrolle.admin.norole"));
225
226 if (log.isDebugEnabled())
227 {
228 Iterator iter = errors.get();
229
230 log.debug(" Form had errors:");
231 while (iter.hasNext())
232 {
233 log.debug(" " + ((ActionError) iter.next()).getKey());
234 }
235 }
236
237 return errors;
238 }
239 }