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 ein einzelne Projektgruppe (Create/Delete/Edit einer Projektgruppe)
35 *
36 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
37 * @version Version 1.0 05.07.2004
38 */
39 public final class ProjektgruppeForm 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, Delete or Edit) - Default ist Create. */
48 private String action = "Create";
49 /*** Die Gruppennummer */
50 private Integer gruppennummer = null;
51 /*** Die Projektnummer */
52 private Integer projektnummer = null;
53 /*** Der Gruppenname */
54 private String gruppenname = null;
55 /*** Das Gruppenpasswort */
56 private String passwort = null;
57 /*** Aktiv ??? */
58 private Boolean aktiv = null;
59 /*** Passwort generieren ??? */
60 private Boolean generatePasswort = null;
61
62
63
64 /***
65 * GET Methode
66 *
67 * @return der Parameterwert
68 */
69 public String getAction()
70 {
71 return this.action;
72 }
73
74 /***
75 * SET Methode
76 *
77 * @param action Der zu setzende Parameterwert
78 */
79 public void setAction(String action)
80 {
81 this.action = action;
82 }
83
84 /***
85 * GET Methode
86 *
87 * @return der Parameterwert
88 */
89 public Integer getGruppennummer()
90 {
91 return this.gruppennummer;
92 }
93
94 /***
95 * GET Methode
96 *
97 * @return der Parameterwert
98 */
99 public Integer getProjektnummer()
100 {
101 return this.projektnummer;
102 }
103
104 /***
105 * GET Methode
106 *
107 * @return der Parameterwert
108 */
109 public String getGruppenname()
110 {
111 return this.gruppenname;
112 }
113
114 /***
115 * GET Methode
116 *
117 * @return der Parameterwert
118 */
119 public Boolean getAktiv()
120 {
121 return this.aktiv;
122 }
123
124 /***
125 * SET Methode
126 *
127 * @param gruppennummer Der zu setzende Parameterwert
128 */
129 public void setGruppennummer(Integer gruppennummer)
130 {
131 this.gruppennummer = gruppennummer;
132 }
133
134 /***
135 * SET Methode
136 *
137 * @param projektnummer Der zu setzende Parameterwert
138 */
139 public void setProjektnummer(Integer projektnummer)
140 {
141 this.projektnummer = projektnummer;
142 }
143
144 /***
145 * SET Methode
146 *
147 * @param gruppenname Der zu setzende Parameterwert
148 */
149 public void setGruppenname(String gruppenname)
150 {
151 this.gruppenname = gruppenname;
152 }
153
154 /***
155 * SET Methode
156 *
157 * @param aktiv Der zu setzende Parameterwert
158 */
159 public void setAktiv(Boolean aktiv)
160 {
161 this.aktiv = aktiv;
162 }
163
164 /***
165 * GET Methode
166 *
167 * @return der Parameterwert
168 */
169 public Boolean getGeneratePasswort()
170 {
171 return generatePasswort;
172 }
173
174 /***
175 * GET Methode
176 *
177 * @return Der Parameterwert
178 */
179 public String getPasswort()
180 {
181 return passwort;
182 }
183
184 /***
185 * SET Methode
186 *
187 * @param generatePasswort Der zu setzende Parameterwert
188 */
189 public void setGeneratePasswort(Boolean generatePasswort)
190 {
191 this.generatePasswort = generatePasswort;
192 }
193
194 /***
195 * SET Methode
196 *
197 * @param passwort Der zu setzende Parameterwert
198 */
199 public void setPasswort(String passwort)
200 {
201 this.passwort = passwort;
202 }
203
204
205
206 /***
207 * Zurücksetzen aller Parameterwerte auf die Default Werte.
208 *
209 * @param mapping Das Mapping das benutzt wurde um diese Instanz zu selektieren
210 * @param request Die Servlet Anfrage die wir gerade bearbeiten
211 */
212 public void reset(ActionMapping mapping, HttpServletRequest request)
213 {
214 this.action = "Create";
215 this.projektnummer = null;
216 this.gruppennummer = null;
217 this.gruppenname = null;
218 this.passwort = null;
219 this.aktiv = null;
220 this.generatePasswort = null;
221 }
222
223 /***
224 * Validieren der mit diesem Request übergebenen Paramter Werte. Wenn Fehler
225 * bei der Validierung auftreten wird <code>ActionErrors</code> Objekt,
226 * das die Fehler enthält zurückgegeben.
227 * Wenn kein Fehler bei der Validierung auftritt wird <code>null</code> bzw.
228 * ein leeres <code>ActionErrors</code> Objekt zurückgegeben
229 *
230 * @param mapping Das Mapping das benutzt wurde um diese Instanz zu selektieren
231 * (siehe struts-config.xml)
232 * @param request Das Servlet Anfrage Objekt
233 */
234 public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
235 {
236
237 ActionErrors errors = new ActionErrors();
238
239 if (projektnummer == null)
240 errors.add("projektnummer", new ActionError("error.field.edit.projektgruppe.projektnummer.empty"));
241
242 if (gruppenname == null || gruppenname.length() <= 0)
243 errors.add("gruppenname", new ActionError("error.field.edit.projektgruppe.gruppenname.empty"));
244 else if (gruppenname.length() < 1)
245 errors.add("gruppenname", new ActionError("error.field.edit.projektgruppe.gruppenname.minlength"));
246 else if (gruppenname.length() > 25)
247 errors.add("gruppenname", new ActionError("error.field.edit.projektgruppe.gruppenname.maxlength"));
248
249 if ((passwort == null || passwort.length() <= 0) && !generatePasswort.booleanValue() && !action.equals("Delete"))
250 errors.add("passwort", new ActionError("error.field.edit.projektgruppe.gruppenpasswort.empty"));
251
252 if (log.isDebugEnabled())
253 {
254 Iterator iter = errors.get();
255
256 log.debug(" Form had errors:");
257 while (iter.hasNext())
258 {
259 log.debug(" " + ((ActionError) iter.next()).getKey());
260 }
261 }
262
263 return errors;
264 }
265 }