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