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 Projektbeschreibung (Create/Delete/Edit einer Projektbeschreibung)
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 ProjektbeschreibungForm 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 Projektnummer */
50 private Integer projektnummer = null;
51 /*** Die Projektnummer */
52 private Integer sprachnummer = null;
53 /*** Die Kurzbeschreibung */
54 private String kurzbeschreibung = null;
55 /*** Die Beschreibung */
56 private String beschreibung = null;
57
58
59
60 /***
61 * GET Methode
62 *
63 * @return der Parameterwert
64 */
65 public String getAction()
66 {
67 return this.action;
68 }
69
70 /***
71 * SET Methode
72 *
73 * @param action Der zu setzende Parameterwert
74 */
75 public void setAction(String action)
76 {
77 this.action = action;
78 }
79
80 /***
81 * GET Methode
82 *
83 * @return der Parameterwert
84 */
85 public Integer getProjektnummer()
86 {
87 return this.projektnummer;
88 }
89
90 /***
91 * GET Methode
92 *
93 * @return der Parameterwert
94 */
95 public Integer getSprachnummer()
96 {
97 return this.sprachnummer;
98 }
99
100 /***
101 * GET Methode
102 *
103 * @return der Parameterwert
104 */
105 public String getKurzbeschreibung()
106 {
107 return this.kurzbeschreibung;
108 }
109
110 /***
111 * GET Methode
112 *
113 * @return der Parameterwert
114 */
115 public String getBeschreibung()
116 {
117 return this.beschreibung;
118 }
119
120 /***
121 * SET Methode
122 *
123 * @param projektnummer Der zu setzende Parameterwert
124 */
125 public void setProjektnummer(Integer projektnummer)
126 {
127 this.projektnummer = projektnummer;
128 }
129
130 /***
131 * SET Methode
132 *
133 * @param sprachnummer Der zu setzende Parameterwert
134 */
135 public void setSprachnummer(Integer sprachnummer)
136 {
137 this.sprachnummer = sprachnummer;
138 }
139
140 /***
141 * SET Methode
142 *
143 * @param kurzbeschreibung Der zu setzende Parameterwert
144 */
145 public void setKurzbeschreibung(String kurzbeschreibung)
146 {
147 this.kurzbeschreibung = kurzbeschreibung;
148 }
149
150 /***
151 * SET Methode
152 *
153 * @param beschreibung Der zu setzende Parameterwert
154 */
155 public void setBeschreibung(String beschreibung)
156 {
157 this.beschreibung = beschreibung;
158 }
159
160
161
162 /***
163 * Zurücksetzen aller Parameterwerte auf die Default Werte.
164 *
165 * @param mapping Das Mapping das benutzt wurde um diese Instanz zu selektieren
166 * @param request Die Servlet Anfrage die wir gerade bearbeiten
167 */
168 public void reset(ActionMapping mapping, HttpServletRequest request)
169 {
170 this.action = "Create";
171 this.projektnummer = null;
172 this.sprachnummer = null;
173 this.kurzbeschreibung = null;
174 this.beschreibung = null;
175 }
176
177 /***
178 * Validieren der mit diesem Request übergebenen Paramter Werte. Wenn Fehler
179 * bei der Validierung auftreten wird <code>ActionErrors</code> Objekt,
180 * das die Fehler enthält zurückgegeben.
181 * Wenn kein Fehler bei der Validierung auftritt wird <code>null</code> bzw.
182 * ein leeres <code>ActionErrors</code> Objekt zurückgegeben
183 *
184 * @param mapping Das Mapping das benutzt wurde um diese Instanz zu selektieren
185 * (siehe struts-config.xml)
186 * @param request Das Servlet Anfrage Objekt
187 */
188 public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
189 {
190
191 ActionErrors errors = new ActionErrors();
192
193 if (projektnummer == null)
194 errors.add("projektnummer", new ActionError("error.field.edit.projektbeschreibung.projektnummer.empty"));
195
196 if (sprachnummer == null)
197 errors.add("sprachnummer", new ActionError("error.field.edit.projektbeschreibung.sprachnummer.empty"));
198
199 if (kurzbeschreibung == null || kurzbeschreibung.length() <= 0)
200 errors.add("kurzbeschreibung", new ActionError("error.field.edit.projektbeschreibung.kurzbeschreibung.empty"));
201 else if (kurzbeschreibung.length() < 1)
202 errors.add("kurzbeschreibung", new ActionError("error.field.edit.projektbeschreibung.kurzbeschreibung.minlength"));
203 else if (kurzbeschreibung.length() > 25)
204 errors.add("kurzbeschreibung", new ActionError("error.field.edit.projektbeschreibung.kurzbeschreibung.maxlength"));
205
206 if (beschreibung == null || beschreibung.length() <= 0)
207 errors.add("beschreibung", new ActionError("error.field.edit.projektbeschreibung.beschreibung.empty"));
208 else if (beschreibung.length() < 1)
209 errors.add("beschreibung", new ActionError("error.field.edit.projektbeschreibung.beschreibung.minlength"));
210 else if (beschreibung.length() > 255)
211 errors.add("beschreibung", new ActionError("error.field.edit.projektbeschreibung.beschreibung.maxlength"));
212
213 if (log.isDebugEnabled())
214 {
215 Iterator iter = errors.get();
216
217 log.debug(" Form had errors:");
218 while (iter.hasNext())
219 {
220 log.debug(" " + ((ActionError) iter.next()).getKey());
221 }
222 }
223
224 return errors;
225 }
226 }