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 eine einzelne Sprache (Create/Delete/Edit einer Sprache)
35   *
36   * @author  <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
37   * @version Version 1.0 01.07.2004
38   */
39  public final class SprachForm 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 Sprachnummer */
50      private Integer sprachnummer = null;
51      /*** Der Sprachname */
52      private String sprachname = null;
53      /*** Wird die Sprache angezeigt ? */
54      private Boolean anzeigen = 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 getSprachnummer()
84      {
85          return this.sprachnummer;
86      }
87  
88      /*** 
89       * GET Methode 
90       *
91       * @return der Parameterwert 
92       */
93      public String getSprachname()
94      {
95          return this.sprachname;
96      }
97  
98      /*** 
99       * GET Methode 
100      *
101      * @return der Parameterwert 
102      */
103     public Boolean getAnzeigen()
104     {
105         return this.anzeigen;
106     }
107 
108     /*** 
109      * SET Methode 
110      *
111      * @param sprachnummer Der zu setzende Parameterwert 
112      */
113     public void setSprachnummer(Integer sprachnummer)
114     {
115         this.sprachnummer = sprachnummer;
116     }
117 
118     /*** 
119      * SET Methode 
120      *
121      * @param sprachname Der zu setzende Parameterwert 
122      */
123     public void setSprachname(String sprachname)
124     {
125         this.sprachname = sprachname;
126     }
127 
128     /*** 
129      * SET Methode 
130      *
131      * @param anzeigen Der zu setzende Parameterwert 
132      */
133     public void setAnzeigen(Boolean anzeigen)
134     {
135         this.anzeigen = anzeigen;
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.sprachnummer = null;
150         this.sprachname = null;
151         this.anzeigen = 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 (sprachname == null || sprachname.length() <= 0)
171             errors.add("sprachname", new ActionError("error.field.edit.sprache.sprachname.empty"));
172         else if (sprachname.length() < 5)
173             errors.add("sprachname", new ActionError("error.field.edit.sprache.sprachname.minlength"));
174         else if (sprachname.length() > 20)
175             errors.add("sprachname", new ActionError("error.field.edit.sprache.sprachname.maxlength"));
176 
177         if (log.isDebugEnabled()) 
178         {
179             Iterator iter = errors.get();
180 
181             log.debug(" Form had errors:");
182             while (iter.hasNext())
183             {
184                 log.debug(" " + ((ActionError) iter.next()).getKey());
185             }         
186         }
187 
188         return errors;
189     }
190 }