View Javadoc

1   ////////////////////////////////////////////////////////////////////////////////
2   //CabaWeb
3   //Copyright (C) 2004  Thomas Vogt <Thomas.Vogt@TVC-Software.com>
4   //
5   //This library is free software; you can redistribute it and/or
6   //modify it under the terms of the GNU Lesser General Public
7   //License as published by the Free Software Foundation; either
8   //version 2.1 of the License, or (at your option) any later version.
9   //
10  //This library is distributed in the hope that it will be useful,
11  //but WITHOUT ANY WARRANTY; without even the implied warranty of
12  //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  //Lesser General Public License for more details.
14  //
15  //You should have received a copy of the GNU Lesser General Public
16  //License along with this library; if not, write to the Free Software
17  //Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
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 Ergebnissdaten Feldbeschreibung (Create/Delete/Edit einer Ergebnissdaten Feldbeschreibung)
35   *
36   * @author  <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
37   * @version Version 1.0 16.07.2004
38   */
39  public final class ErgebnissdatenFeldbeschreibungForm 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      //--- Instanz Variablen --------------------------------------
47      /*** Art der Aktion die wir durchführen wollen (Create, Delete or Edit) - Default ist Create. */
48      private String action = "Create";
49  	/*** Die Feldnummer */
50  	private Integer feldnummer = null;
51  	/*** Die Untergruppierungsnummer */
52  	private Integer untergruppierungsnummer = null;
53  	/*** Die Gruppierungsnummer */
54  	private Integer gruppierungsnummer = null;
55  	/*** Die Projektnummer */
56  	private Integer projektnummer = null;
57  	/*** Die Sprachnummer */
58  	private Integer sprachnummer = null;
59      /*** Der Feldbeschreibung */
60      private String beschreibung = null;
61      /*** Der Feldkurzbeschreibung */
62      private String kurzbeschreibung = null;
63      /*** Das Groessenkennzeichen */
64      private String groessenkennzeichen = null;
65      /*** Das Anzeigeformat */
66      private String anzeigeformat = null;
67  
68      //--- Eigenschaften (Variablen) ------------------------------
69  
70      /*** 
71       * GET Methode 
72       *
73       * @return der Parameterwert 
74       */
75      public String getAction()
76      {
77          return this.action;
78      }
79  
80      /*** 
81       * SET Methode 
82       *
83       * @param action Der zu setzende Parameterwert 
84       */
85      public void setAction(String action)
86      {
87          this.action = action;
88      }
89  
90  	/*** 
91  	 * GET Methode 
92  	 *
93  	 * @return der Parameterwert 
94  	 */
95  	public Integer getFeldnummer()
96  	{
97  		return this.feldnummer;
98  	}
99  
100 	/*** 
101 	 * GET Methode 
102 	 *
103 	 * @return der Parameterwert 
104 	 */
105 	public Integer getUntergruppierungsnummer()
106 	{
107 		return this.untergruppierungsnummer;
108 	}
109 
110 	/*** 
111 	 * GET Methode 
112 	 *
113 	 * @return der Parameterwert 
114 	 */
115 	public Integer getGruppierungsnummer()
116 	{
117 		return this.gruppierungsnummer;
118 	}
119 
120 	/*** 
121 	 * GET Methode 
122 	 *
123 	 * @return der Parameterwert 
124 	 */
125 	public Integer getProjektnummer()
126 	{
127 		return this.projektnummer;
128 	}
129 
130 	/*** 
131 	 * GET Methode 
132 	 *
133 	 * @return der Parameterwert 
134 	 */
135 	public Integer getSprachnummer()
136 	{
137 		return this.sprachnummer;
138 	}
139 
140 	/*** 
141 	 * GET Methode 
142 	 *
143 	 * @return der Parameterwert 
144 	 */
145 	public String getBeschreibung()
146 	{
147 		return this.beschreibung;
148 	}
149 
150     /*** 
151      * GET Methode 
152      *
153      * @return der Parameterwert 
154      */
155     public String getKurzbeschreibung()
156     {
157         return this.kurzbeschreibung;
158     }
159 
160     /*** 
161      * SET Methode 
162      *
163      * @param feldnummer Der zu setzende Parameterwert 
164      */
165     public void setFeldnummer(Integer feldnummer)
166     {
167         this.feldnummer = feldnummer;
168     }
169 
170     /*** 
171      * GET Methode 
172      *
173      * @return der Parameterwert 
174      */
175     public String getAnzeigeformat()
176     {
177         return this.anzeigeformat;
178     }
179 
180     /*** 
181      * SET Methode 
182      *
183      * @param anzeigeformat Der zu setzende Parameterwert 
184      */
185     public void setAnzeigeformat(String anzeigeformat)
186     {
187         this.anzeigeformat = anzeigeformat;
188     }
189 
190     /*** 
191      * GET Methode 
192      *
193      * @return der Parameterwert 
194      */
195     public String getGroessenkennzeichen()
196     {
197         return this.groessenkennzeichen;
198     }
199 
200     /*** 
201      * SET Methode 
202      *
203      * @param groessenkennzeichen Der zu setzende Parameterwert 
204      */
205     public void setGroessenkennzeichen(String groessenkennzeichen)
206     {
207         this.groessenkennzeichen = groessenkennzeichen;
208     }
209 
210 	/*** 
211 	 * SET Methode 
212 	 *
213 	 * @param untergruppierungsnummer Der zu setzende Parameterwert 
214 	 */
215 	public void setUntergruppierungsnummer(Integer untergruppierungsnummer)
216 	{
217 		this.untergruppierungsnummer = untergruppierungsnummer;
218 	}
219 
220 	/*** 
221 	 * SET Methode 
222 	 *
223 	 * @param gruppierungsnummer Der zu setzende Parameterwert 
224 	 */
225 	public void setGruppierungsnummer(Integer gruppierungsnummer)
226 	{
227 		this.gruppierungsnummer = gruppierungsnummer;
228 	}
229 
230 	/*** 
231 	 * SET Methode 
232 	 *
233 	 * @param projektnummer Der zu setzende Parameterwert 
234 	 */
235 	public void setProjektnummer(Integer projektnummer)
236 	{
237 		this.projektnummer = projektnummer;
238 	}
239 
240 	/*** 
241 	 * SET Methode 
242 	 *
243 	 * @param sprachnummer Der zu setzende Parameterwert 
244 	 */
245 	public void setSprachnummer(Integer sprachnummer)
246 	{
247 		this.sprachnummer = sprachnummer;
248 	}
249     
250 	/*** 
251 	 * SET Methode 
252 	 *
253 	 * @param beschreibung Der zu setzende Parameterwert 
254 	 */
255 	public void setBeschreibung(String beschreibung)
256 	{
257 		this.beschreibung = beschreibung;
258 	}
259     
260 	/*** 
261 	 * SET Methode 
262 	 *
263 	 * @param kurzbeschreibung Der zu setzende Parameterwert 
264 	 */
265 	public void setKurzbeschreibung(String kurzbeschreibung)
266 	{
267 		this.kurzbeschreibung = kurzbeschreibung;
268 	}
269 
270     //--- Öffentliche Methoden -----------------------------------
271 
272     /***
273      * Zurücksetzen aller Parameterwerte auf die Default Werte.
274      *
275      * @param mapping Das Mapping das benutzt wurde um diese Instanz zu selektieren
276      * @param request Die Servlet Anfrage die wir gerade bearbeiten
277      */
278     public void reset(ActionMapping mapping, HttpServletRequest request) 
279     {
280         this.action = "Create";
281         this.projektnummer = null;
282 		this.feldnummer = null;
283 		this.gruppierungsnummer = null;
284 		this.untergruppierungsnummer = null;
285 		this.sprachnummer = null;
286         this.beschreibung = null;
287         this.kurzbeschreibung = null;
288         this.anzeigeformat = null;
289         this.groessenkennzeichen = null;
290     }
291 
292     /***
293      * Validieren der mit diesem Request übergebenen Paramter Werte. Wenn Fehler
294      * bei der Validierung auftreten wird <code>ActionErrors</code> Objekt, 
295      * das die Fehler enthält zurückgegeben.
296      * Wenn kein Fehler bei der Validierung auftritt wird <code>null</code> bzw.
297      * ein leeres <code>ActionErrors</code> Objekt zurückgegeben
298      *
299      * @param mapping Das Mapping das benutzt wurde um diese Instanz zu selektieren 
300      *                (siehe struts-config.xml)
301      * @param request Das Servlet Anfrage Objekt
302      */
303     public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) 
304     {
305         // Perform validator framework validations
306         ActionErrors errors = new ActionErrors();
307 
308 		if (projektnummer == null)
309 			errors.add("projektnummer", new ActionError("error.field.edit.ergebnissdatenfeldbeschreibung.projektnummer.empty"));
310 
311 		if (feldnummer == null)
312 			errors.add("feldnummer", new ActionError("error.field.edit.ergebnissdatenfeldbeschreibung.feldnummer.empty"));
313 
314 		if (gruppierungsnummer == null)
315 			errors.add("gruppierungsnummer", new ActionError("error.field.edit.ergebnissdatenfeldbeschreibung.gruppierungsnummer.empty"));
316 
317 		if (untergruppierungsnummer == null)
318 			errors.add("untergruppierungsnummer", new ActionError("error.field.edit.ergebnissdatenfeldbeschreibung.untergruppierungsnummer.empty"));
319 
320 		if (sprachnummer == null)
321 			errors.add("sprachnummer", new ActionError("error.field.edit.ergebnissdatenfeldbeschreibung.sprachnummer.empty"));
322 
323 		if (beschreibung == null || beschreibung.length() <= 0)
324 			errors.add("beschreibung", new ActionError("error.field.edit.ergebnissdatenfeldbeschreibung.beschreibung.empty"));
325 		else if (beschreibung.length() < 1)
326 			errors.add("beschreibung", new ActionError("error.field.edit.ergebnissdatenfeldbeschreibung.beschreibung.minlength"));
327 		else if (beschreibung.length() > 50)
328 			errors.add("beschreibung", new ActionError("error.field.edit.ergebnissdatenfeldbeschreibung.beschreibung.maxlength"));
329 
330 		if (kurzbeschreibung == null || kurzbeschreibung.length() <= 0)
331 			errors.add("kurzbeschreibung", new ActionError("error.field.edit.ergebnissdatenfeldbeschreibung.kurzbeschreibung.empty"));
332 		else if (kurzbeschreibung.length() < 1)
333 			errors.add("kurzbeschreibung", new ActionError("error.field.edit.ergebnissdatenfeldbeschreibung.kurzbeschreibung.minlength"));
334 		else if (kurzbeschreibung.length() > 255)
335 			errors.add("kurzbeschreibung", new ActionError("error.field.edit.ergebnissdatenfeldbeschreibung.kurzbeschreibung.maxlength"));
336 
337         if (log.isDebugEnabled()) 
338         {
339             Iterator iter = errors.get();
340 
341             log.debug(" Form had errors:");
342             while (iter.hasNext())
343             {
344                 log.debug(" " + ((ActionError) iter.next()).getKey());
345             }         
346         }
347 
348         return errors;
349     }
350 }