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