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 Voreinstellungen Feldnamen (Create/Delete/Edit einer Voreinstellungen Feldnamen)
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 VoreinstellungenFeldnameForm 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 Reihenfolge */
58  	private Integer reihenfolge = null;
59  	/*** Der Tabellenname */
60  	private String tabellenname = null;
61  	/*** Der Feldname */
62  	private String feldname = null;
63  	/*** Der Feldname Benutzer */
64  	private String feldnamebenutzer = null;
65  
66      //--- Eigenschaften (Variablen) ------------------------------
67  
68      /*** 
69       * GET Methode 
70       *
71       * @return der Parameterwert 
72       */
73      public String getAction()
74      {
75          return this.action;
76      }
77  
78      /*** 
79       * SET Methode 
80       *
81       * @param action Der zu setzende Parameterwert 
82       */
83      public void setAction(String action)
84      {
85          this.action = action;
86      }
87  
88  	/*** 
89  	 * GET Methode 
90  	 *
91  	 * @return der Parameterwert 
92  	 */
93  	public Integer getUntergruppierungsnummer()
94  	{
95  		return this.untergruppierungsnummer;
96  	}
97  
98  	/*** 
99  	 * GET Methode 
100 	 *
101 	 * @return der Parameterwert 
102 	 */
103 	public Integer getFeldnummer()
104 	{
105 		return this.feldnummer;
106 	}
107 
108 	/*** 
109 	 * GET Methode 
110 	 *
111 	 * @return der Parameterwert 
112 	 */
113 	public Integer getGruppierungsnummer()
114 	{
115 		return this.gruppierungsnummer;
116 	}
117 
118 	/*** 
119 	 * GET Methode 
120 	 *
121 	 * @return der Parameterwert 
122 	 */
123 	public Integer getProjektnummer()
124 	{
125 		return this.projektnummer;
126 	}
127 
128 	/*** 
129 	 * GET Methode 
130 	 *
131 	 * @return der Parameterwert 
132 	 */
133 	public Integer getReihenfolge()
134 	{
135 		return this.reihenfolge;
136 	}
137 
138 	/*** 
139 	 * GET Methode 
140 	 *
141 	 * @return der Parameterwert 
142 	 */
143 	public String getFeldname()
144 	{
145 		return this.feldname;
146 	}
147 
148 	/*** 
149 	 * GET Methode 
150 	 *
151 	 * @return der Parameterwert 
152 	 */
153 	public String getTabellenname()
154 	{
155 		return this.tabellenname;
156 	}
157 
158 	/*** 
159 	 * GET Methode 
160 	 *
161 	 * @return der Parameterwert 
162 	 */
163 	public String getFeldnamebenutzer()
164 	{
165 		return this.feldnamebenutzer;
166 	}
167 
168 	/*** 
169 	 * SET Methode 
170 	 *
171 	 * @param feldnummer Der zu setzende Parameterwert 
172 	 */
173 	public void setFeldnummer(Integer feldnummer)
174 	{
175 		this.feldnummer = feldnummer;
176 	}
177 
178 	/*** 
179 	 * SET Methode 
180 	 *
181 	 * @param untergruppierungsnummer Der zu setzende Parameterwert 
182 	 */
183 	public void setUntergruppierungsnummer(Integer untergruppierungsnummer)
184 	{
185 		this.untergruppierungsnummer = untergruppierungsnummer;
186 	}
187 
188 	/*** 
189 	 * SET Methode 
190 	 *
191 	 * @param gruppierungsnummer Der zu setzende Parameterwert 
192 	 */
193 	public void setGruppierungsnummer(Integer gruppierungsnummer)
194 	{
195 		this.gruppierungsnummer = gruppierungsnummer;
196 	}
197 
198     /*** 
199      * SET Methode 
200      *
201      * @param projektnummer Der zu setzende Parameterwert 
202      */
203     public void setProjektnummer(Integer projektnummer)
204     {
205         this.projektnummer = projektnummer;
206     }
207 
208 	/*** 
209 	 * SET Methode 
210 	 *
211 	 * @param reihenfolge Der zu setzende Parameterwert 
212 	 */
213 	public void setReihenfolge(Integer reihenfolge)
214 	{
215 		this.reihenfolge = reihenfolge;
216 	}
217     
218 	/*** 
219 	 * SET Methode 
220 	 *
221 	 * @param tabellenname Der zu setzende Parameterwert 
222 	 */
223 	public void setTabellenname(String tabellenname)
224 	{
225 		this.tabellenname = tabellenname;
226 	}
227     
228 	/*** 
229 	 * SET Methode 
230 	 *
231 	 * @param feldname Der zu setzende Parameterwert 
232 	 */
233 	public void setFeldname(String feldname)
234 	{
235 		this.feldname = feldname;
236 	}
237     
238 	/*** 
239 	 * SET Methode 
240 	 *
241 	 * @param feldnamebenutzer Der zu setzende Parameterwert 
242 	 */
243 	public void setFeldnamebenutzer(String feldnamebenutzer)
244 	{
245 		this.feldnamebenutzer = feldnamebenutzer;
246 	}
247 
248     //--- Öffentliche Methoden -----------------------------------
249 
250     /***
251      * Zurücksetzen aller Parameterwerte auf die Default Werte.
252      *
253      * @param mapping Das Mapping das benutzt wurde um diese Instanz zu selektieren
254      * @param request Die Servlet Anfrage die wir gerade bearbeiten
255      */
256     public void reset(ActionMapping mapping, HttpServletRequest request) 
257     {
258         this.action = "Create";
259         this.projektnummer = null;
260 		this.feldnummer = null;
261 		this.untergruppierungsnummer = null;
262 		this.gruppierungsnummer = null;
263 		this.reihenfolge = null;
264 		this.tabellenname = null;
265 		this.feldname = null;
266 		this.feldnamebenutzer = null;
267     }
268 
269     /***
270      * Validieren der mit diesem Request übergebenen Paramter Werte. Wenn Fehler
271      * bei der Validierung auftreten wird <code>ActionErrors</code> Objekt, 
272      * das die Fehler enthält zurückgegeben.
273      * Wenn kein Fehler bei der Validierung auftritt wird <code>null</code> bzw.
274      * ein leeres <code>ActionErrors</code> Objekt zurückgegeben
275      *
276      * @param mapping Das Mapping das benutzt wurde um diese Instanz zu selektieren 
277      *                (siehe struts-config.xml)
278      * @param request Das Servlet Anfrage Objekt
279      */
280     public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) 
281     {
282         // Perform validator framework validations
283         ActionErrors errors = new ActionErrors();
284 
285 		if (projektnummer == null)
286 			errors.add("projektnummer", new ActionError("error.field.edit.voreinstellungenfeldname.projektnummer.empty"));
287 
288 		if (gruppierungsnummer == null)
289 			errors.add("gruppierungsnummer", new ActionError("error.field.edit.voreinstellungenfeldname.gruppierungsnummer.empty"));
290 
291 		if (untergruppierungsnummer == null)
292 			errors.add("untergruppierungsnummer", new ActionError("error.field.edit.voreinstellungenfeldname.untergruppierungsnummer.empty"));
293 
294 		if (reihenfolge == null)
295 			errors.add("reihenfolge", new ActionError("error.field.edit.voreinstellungenfeldname.reihenfolge.empty"));
296 		else if (reihenfolge.intValue() < 0)
297 			errors.add("reihenfolge", new ActionError("error.field.edit.voreinstellungenfeldname.reihenfolge.min"));
298 		else if (reihenfolge.intValue() > 9999)
299 			errors.add("reihenfolge", new ActionError("error.field.edit.voreinstellungenfeldname.reihenfolge.max"));
300 
301 		if (feldname == null || feldname.length() <= 0)
302 			errors.add("feldname", new ActionError("error.field.edit.voreinstellungenfeldname.feldname.empty"));
303 		else if (feldname.length() < 1)
304 			errors.add("feldname", new ActionError("error.field.edit.voreinstellungenfeldname.feldname.minlength"));
305 		else if (feldname.length() > 255)
306 			errors.add("feldname", new ActionError("error.field.edit.voreinstellungenfeldname.feldname.maxlength"));
307 
308 		if (feldnamebenutzer == null || feldnamebenutzer.length() <= 0)
309 			errors.add("feldnamebenutzer", new ActionError("error.field.edit.voreinstellungenfeldname.feldnamebenutzer.empty"));
310 		else if (feldnamebenutzer.length() < 1)
311 			errors.add("feldnamebenutzer", new ActionError("error.field.edit.voreinstellungenfeldname.feldnamebenutzer.minlength"));
312 		else if (feldnamebenutzer.length() > 255)
313 			errors.add("feldnamebenutzer", new ActionError("error.field.edit.voreinstellungenfeldname.feldnamebenutzer.maxlength"));
314 
315 		if (tabellenname == null || tabellenname.length() <= 0)
316 			errors.add("tabellenname", new ActionError("error.field.edit.voreinstellungenfeldname.tabellenname.empty"));
317 		else if (tabellenname.length() < 1)
318 			errors.add("tabellenname", new ActionError("error.field.edit.voreinstellungenfeldname.tabellenname.minlength"));
319 		else if (tabellenname.length() > 255)
320 			errors.add("tabellenname", new ActionError("error.field.edit.voreinstellungenfeldname.tabellenname.maxlength"));
321 
322         if (log.isDebugEnabled()) 
323         {
324             Iterator iter = errors.get();
325 
326             log.debug(" Form had errors:");
327             while (iter.hasNext())
328             {
329                 log.debug(" " + ((ActionError) iter.next()).getKey());
330             }         
331         }
332 
333         return errors;
334     }
335 }