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