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