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 einen einzelnen Reportnamen (Create/Delete/Edit eines Reportnamens)
35 *
36 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
37 * @version Version 1.0 11.07.2004
38 */
39 public final class ReportnameForm 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 Reportnummer */
50 private Integer reportnummer = null;
51 /*** Die Projektnummer */
52 private Integer projektnummer = null;
53 /*** Der Gruppenname */
54 private String bezeichnung = null;
55 /*** Der Typ des Reports */
56 private String reporttyp;
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 getReportnummer()
86 {
87 return this.reportnummer;
88 }
89
90 /***
91 * GET Methode
92 *
93 * @return der Parameterwert
94 */
95 public Integer getProjektnummer()
96 {
97 return this.projektnummer;
98 }
99
100 /***
101 * GET Methode
102 *
103 * @return der Parameterwert
104 */
105 public String getBezeichnung()
106 {
107 return this.bezeichnung;
108 }
109
110 /***
111 * SET Methode
112 *
113 * @param reportnummer Der zu setzende Parameterwert
114 */
115 public void setReportnummer(Integer reportnummer)
116 {
117 this.reportnummer = reportnummer;
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 bezeichnung Der zu setzende Parameterwert
134 */
135 public void setBezeichnung(String bezeichnung)
136 {
137 this.bezeichnung = bezeichnung;
138 }
139
140 /***
141 * Getter Methode für den Parameter Reporttyp
142 *
143 * @return String Der Reporttyp
144 */
145 public String getReporttyp()
146 {
147 return this.reporttyp;
148 }
149
150 /***
151 * Setter Methode für den Parameter Reporttyp
152 *
153 * @param reporttyp String mit dem neuen Parameterwert
154 */
155 public void setReporttyp(String reporttyp)
156 {
157 this.reporttyp = reporttyp;
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.reportnummer = null;
172 this.projektnummer = null;
173 this.bezeichnung = null;
174 this.reporttyp = 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.reportname.projektnummer.empty"));
195
196 if (bezeichnung == null || bezeichnung.length() <= 0)
197 errors.add("bezeichnung", new ActionError("error.field.edit.reportname.bezeichnung.empty"));
198 else if (bezeichnung.length() < 1)
199 errors.add("bezeichnung", new ActionError("error.field.edit.reportname.bezeichnung.minlength"));
200 else if (bezeichnung.length() > 255)
201 errors.add("bezeichnung", new ActionError("error.field.edit.reportname.bezeichnung.maxlength"));
202
203 if (reporttyp == null || reporttyp.length() <= 0)
204 errors.add("reporttyp", new ActionError("error.field.edit.reportname.reporttyp.empty"));
205 else if (bezeichnung.length() < 1)
206 errors.add("reporttyp", new ActionError("error.field.edit.reportname.reporttyp.minlength"));
207 else if (bezeichnung.length() > 255)
208 errors.add("reporttyp", new ActionError("error.field.edit.reportname.reporttyp.maxlength"));
209
210 if (log.isDebugEnabled())
211 {
212 Iterator iter = errors.get();
213
214 log.debug(" Form had errors:");
215 while (iter.hasNext())
216 {
217 log.debug(" " + ((ActionError) iter.next()).getKey());
218 }
219 }
220
221 return errors;
222 }
223 }