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.sql.Date;
22 import java.sql.Time;
23 import java.sql.Timestamp;
24 import java.util.Iterator;
25
26 import javax.servlet.http.HttpServletRequest;
27
28 import org.apache.commons.logging.Log;
29 import org.apache.commons.logging.LogFactory;
30 import org.apache.struts.action.ActionError;
31 import org.apache.struts.action.ActionErrors;
32 import org.apache.struts.action.ActionForm;
33 import org.apache.struts.action.ActionMapping;
34
35 /***
36 * Formularklasse der MVC Architektur von Struts.
37 * In diesem Fall für einen einzelnen Berechnungsauftrag(Create/Delete/Edit eines Berechnungsauftrags)
38 *
39 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
40 * @version Version 1.0 09.07.2004
41 */
42 public final class BerechnungsauftragForm extends ActionForm
43 {
44 /***
45 * The <code>Log</code> instance for this application.
46 */
47 private Log log = LogFactory.getLog("org.fhw.cabaweb.webfrontend.forms.simple");
48
49
50 /*** Art der Aktion die wir durchführen wollen (Create, Delete or Edit) - Default ist Create. */
51 private String action = "Create";
52 /*** Die Projektnummer */
53 private Integer projektnummer;
54 /*** Das Datum dieses Auftrags */
55 private Date datum;
56 /*** Die Uhrzeit dieses Auftrags */
57 private Time uhrzeit;
58 /*** Die Art der Berechnung dieses Auftrags */
59 private Integer artderberechnung;
60 /*** Der Abstand der Wiederholung dieses Auftrags */
61 private Short wiederholung;
62
63
64
65 /***
66 * GET Methode
67 *
68 * @return der Parameterwert
69 */
70 public String getAction()
71 {
72 return this.action;
73 }
74
75 /***
76 * SET Methode
77 *
78 * @param action Der zu setzende Parameterwert
79 */
80 public void setAction(String action)
81 {
82 this.action = action;
83 }
84
85 /***
86 * GET Methode
87 *
88 * @return der Parameterwert
89 */
90 public Integer getArtDerBerechnung()
91 {
92 return this.artderberechnung;
93 }
94
95 /***
96 * GET Methode
97 *
98 * @return der Parameterwert
99 */
100 public Integer getProjektnummer()
101 {
102 return this.projektnummer;
103 }
104
105 /***
106 * GET Methode
107 *
108 * @return der Parameterwert
109 */
110 public Short getWiederholung()
111 {
112 return this.wiederholung;
113 }
114
115 /***
116 * GET Methode
117 *
118 * @return der Parameterwert
119 */
120 public Date getDatum()
121 {
122 return this.datum;
123 }
124
125 /***
126 * GET Methode
127 *
128 * @return der Parameterwert
129 */
130 public Time getUhrzeit()
131 {
132 return this.uhrzeit;
133 }
134
135 /***
136 * SET Methode
137 *
138 * @param artderberechnung Der zu setzende Parameterwert
139 */
140 public void setArtDerBerechnung(Integer artderberechnung)
141 {
142 this.artderberechnung = artderberechnung;
143 }
144
145 /***
146 * SET Methode
147 *
148 * @param projektnummer Der zu setzende Parameterwert
149 */
150 public void setProjektnummer(Integer projektnummer)
151 {
152 this.projektnummer = projektnummer;
153 }
154
155 /***
156 * SET Methode
157 *
158 * @param wiederholung Der zu setzende Parameterwert
159 */
160 public void setWiederholung(Short wiederholung)
161 {
162 this.wiederholung = wiederholung;
163 }
164
165 /***
166 * SET Methode
167 *
168 * @param datum Der zu setzende Parameterwert
169 */
170 public void setDatum(Date datum)
171 {
172 this.datum = datum;
173 }
174
175 /***
176 * SET Methode
177 *
178 * @param uhrzeit Der zu setzende Parameterwert
179 */
180 public void setUhrzeit(Time uhrzeit)
181 {
182 this.uhrzeit = uhrzeit;
183 }
184
185
186
187 /***
188 * Zurücksetzen aller Parameterwerte auf die Default Werte.
189 *
190 * @param mapping Das Mapping das benutzt wurde um diese Instanz zu selektieren
191 * @param request Die Servlet Anfrage die wir gerade bearbeiten
192 */
193 public void reset(ActionMapping mapping, HttpServletRequest request)
194 {
195 this.action = "Create";
196 this.projektnummer = null;
197 this.datum = null;
198 this.uhrzeit = null;
199 this.artderberechnung = new Integer(0);
200 this.wiederholung = new Short((short) 0);
201 }
202
203 /***
204 * Validieren der mit diesem Request übergebenen Paramter Werte. Wenn Fehler
205 * bei der Validierung auftreten wird <code>ActionErrors</code> Objekt,
206 * das die Fehler enthält zurückgegeben.
207 * Wenn kein Fehler bei der Validierung auftritt wird <code>null</code> bzw.
208 * ein leeres <code>ActionErrors</code> Objekt zurückgegeben
209 *
210 * @param mapping Das Mapping das benutzt wurde um diese Instanz zu selektieren
211 * (siehe struts-config.xml)
212 * @param request Das Servlet Anfrage Objekt
213 */
214 public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
215 {
216
217 ActionErrors errors = new ActionErrors();
218 Timestamp gesamtdatum = null;
219
220 if (projektnummer == null)
221 errors.add("projektnummer", new ActionError("error.field.edit.berechnungsauftrag.projektnummer.empty"));
222
223 if (datum == null || uhrzeit == null || datum.toString() == "" || uhrzeit.toString() == "")
224 errors.add("datum", new ActionError("error.field.edit.berechnungsauftrag.datum.empty"));
225 else if(datum != null && uhrzeit != null && datum.toString() != "" && uhrzeit.toString() != "")
226 gesamtdatum = new Timestamp(datum.getYear(), datum.getMonth(), datum.getDate(), uhrzeit.getHours(), uhrzeit.getMinutes(), uhrzeit.getSeconds(), 0);
227
228 if (gesamtdatum != null && gesamtdatum.before(new Date(System.currentTimeMillis())))
229 errors.add("datum", new ActionError("error.field.edit.berechnungsauftrag.datum.futuredatesonly"));
230
231 if (log.isDebugEnabled())
232 {
233 Iterator iter = errors.get();
234
235 log.debug(" Form had errors:");
236 while (iter.hasNext())
237 {
238 log.debug(" " + ((ActionError) iter.next()).getKey());
239 }
240 }
241
242 return errors;
243 }
244 }