how about one big commit ;)

[EMAIL PROTECTED] writes:
 > dwinterfeldt    01/07/08 20:11:09
 > 
 >   Added:       contrib/validator/src/example/com/wintecinc/struts/example/validator
 >                         ApplicationResources.properties
 >                         ApplicationResources_fr.properties
 >                         CityStateZip.java MultiRegistrationAction.java
 >                         RegistrationAction.java RegistrationForm.java
 >                         TypeAction.java TypeForm.java
 >   Log:
 >   Adding Struts Validator.
 >   
 >   Revision  Changes    Path
 >   1.1                  
 >jakarta-struts/contrib/validator/src/example/com/wintecinc/struts/example/validator/ApplicationResources.properties
 >   
 >   Index: ApplicationResources.properties
 >   ===================================================================
 >   button.cancel=Cancel
 >   button.confirm=Confirm
 >   button.reset=Reset
 >   button.save=Save
 >   
 >   # Errors
 >   errors.footer=
 >   errors.header=<h3><font color="red">Validation Error</font></h3>You must correct 
 >the following error(s) before proceeding:
 >   errors.ioException=I/O exception rendering error messages: {0}
 >   error.database.missing=<li>User database is missing, cannot validate logon 
 >credentials</li>
 >   errors.required={0} is required.
 >   errors.invalid={0} is invalid.
 >   
 >   errors.byte={0} must be an byte.
 >   errors.short={0} must be an short.
 >   errors.integer={0} must be an integer.
 >   errors.long={0} must be an long.
 >   errors.float={0} must be an float.
 >   errors.double={0} must be an double.
 >   
 >   errors.date={0} is not a date.
 >   
 >   errors.range={0} is not in the range {1} through {2}.
 >   
 >   errors.creditcard={0} is not a valid credit card number.
 >   
 >   errors.email={0} is an invalid e-mail address.
 >   
 >   
 >   # Registration Form                                     
 >   registrationForm.title=Registration
 >   registrationForm.title.create=Register
 >   registrationForm.title.edit=Edit User Information
 >   registrationForm.firstname.displayname=First Name
 >   registrationForm.lastname.displayname=Last Name
 >   registrationForm.addr.displayname=Address
 >   registrationForm.city.displayname=City
 >   registrationForm.stateprov.displayname=State
 >   registrationForm.zippostal.displayname=Zip
 >   registrationForm.phone.displayname=Phone
 >   registrationForm.email.displayname=E-mail
 >   registrationForm.lastname.maskmsg=Last Name can only be letters and numbers, no 
 >spaces.
 >   
 >   # Type form
 >   typeForm.title=Type Form
 >   typeForm.title.create=Type Form
 >   typeForm.byte.displayname=Byte Field
 >   typeForm.short.displayname=Short Field
 >   typeForm.integer.displayname=Integer Field
 >   typeForm.long.displayname=Long Field
 >   typeForm.float.displayname=Float Field
 >   typeForm.double.displayname=Double Field
 >   typeForm.date.displayname=Date Field
 >   typeForm.creditCard.displayname=Credit Card
 >   
 >   
 >   1.1                  
 >jakarta-struts/contrib/validator/src/example/com/wintecinc/struts/example/validator/ApplicationResources_fr.properties
 >   
 >   Index: ApplicationResources_fr.properties
 >   ===================================================================
 >   button.cancel=Annulent
 >   button.confirm=Confirment
 >   button.reset=Remettent
 >   button.save=Économiser
 >   
 >   # Errors
 >   errors.footer=
 >   errors.header=<h3><font color="red">Erreur De Validation</font></h3>Vous devez 
 >corriger l'error(s) suivant avant procédant:
 >   errors.ioException=Exception de E/S rendant des messages d'erreur: {0}
 >   error.database.missing=<li>La base de données d'utilisateur est manquante, ne 
 >peut pas valider des qualifications de procédure de connexion </li>
 >   errors.required={0} est exigé.
 >   errors.invalid={0} est incorrect.
 >   
 >   errors.byte=Le {0} doit être un nombre byte.
 >   errors.short=Le {0} doit être un nombre short.
 >   errors.integer=Le {0} doit être un nombre integer.
 >   errors.long=Le {0} doit être un nombre long.
 >   errors.float=Le {0} doit être un nombre float.
 >   errors.double=Le {0} doit être un nombre double.
 >   
 >   errors.date=Le {0} n'est pas une date.
 >   
 >   errors.range=Le {0} n'est pas dans l'intervalle {1} à {2}.
 >   
 >   errors.creditcard=Le {0} n'est pas un nombre valide de carte de crédit.
 >   
 >   errors.email=Le {0} est une adresse incorrecte de e-mail.
 >   
 >   
 >   # Registration Form                                     
 >   registrationForm.title=Enregistrement
 >   registrationForm.title.create=Registre
 >   registrationForm.title.edit=Éditez L'Information D'Utilisateur
 >   registrationForm.firstname.displayname=Prénom
 >   registrationForm.lastname.displayname=Dernier Nom
 >   registrationForm.addr.displayname=Adresse
 >   registrationForm.city.displayname=Ville
 >   registrationForm.stateprov.displayname=État/Province
 >   registrationForm.zippostal.displayname=Code postal
 >   registrationForm.phone.displayname=Téléphone
 >   registrationForm.email.displayname=E-mail
 >   registrationForm.lastname.maskmsg=Le dernier nom peut seulement être des lettres 
 >et des nombres, aucuns espaces.
 >   
 >   # Type form
 >   typeForm.title=Tapez La Forme
 >   typeForm.title.create=Tapez La Forme
 >   typeForm.byte.displayname=Zone D'Octet
 >   typeForm.short.displayname=Courte Zone
 >   typeForm.integer.displayname=Zone De Nombre entier
 >   typeForm.long.displayname=Longue Zone
 >   typeForm.float.displayname=Gisement De Flotteur
 >   typeForm.double.displayname=Double Zone
 >   typeForm.date.displayname=Zone De Date
 >   typeForm.creditCard.displayname=Carte de crédit
 >   
 >   
 >   
 >   1.1                  
 >jakarta-struts/contrib/validator/src/example/com/wintecinc/struts/example/validator/CityStateZip.java
 >   
 >   Index: CityStateZip.java
 >   ===================================================================
 >   /*
 >    * The Apache Software License, Version 1.1
 >    *
 >    * Copyright (c) 1999 The Apache Software Foundation.  All rights
 >    * reserved.
 >    *
 >    * Redistribution and use in source and binary forms, with or without
 >    * modification, are permitted provided that the following conditions
 >    * are met:
 >    *
 >    * 1. Redistributions of source code must retain the above copyright
 >    *    notice, this list of conditions and the following disclaimer.
 >    *
 >    * 2. Redistributions in binary form must reproduce the above copyright
 >    *    notice, this list of conditions and the following disclaimer in
 >    *    the documentation and/or other materials provided with the
 >    *    distribution.
 >    *
 >    * 3. The end-user documentation included with the redistribution, if
 >    *    any, must include the following acknowlegement:
 >    *       "This product includes software developed by the
 >    *        Apache Software Foundation (http://www.apache.org/)."
 >    *    Alternately, this acknowlegement may appear in the software itself,
 >    *    if and wherever such third-party acknowlegements normally appear.
 >    *
 >    * 4. The names "The Jakarta Project", "Struts", and "Apache Software
 >    *    Foundation" must not be used to endorse or promote products derived
 >    *    from this software without prior written permission. For written
 >    *    permission, please contact [EMAIL PROTECTED]
 >    *
 >    * 5. Products derived from this software may not be called "Apache"
 >    *    nor may "Apache" appear in their names without prior written
 >    *    permission of the Apache Group.
 >    *
 >    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 >    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 >    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 >    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 >    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 >    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 >    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 >    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 >    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 >    * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 >    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 >    * SUCH DAMAGE.
 >    * ====================================================================
 >    *
 >    * This software consists of voluntary contributions made by many
 >    * individuals on behalf of the Apache Software Foundation.  For more
 >    * information on the Apache Software Foundation, please see
 >    * <http://www.apache.org/>.
 >    */
 >   
 >   
 >   package com.wintecinc.struts.example.validator;
 >   
 >   
 >   /**
 >    * Just used to provide an indexed properties example.
 >    *
 >    * @author David Wintefeldt
 >   */
 >   public class CityStateZip implements java.io.Serializable {
 >   
 >       private String sCity = null;
 >       private String sStateProv = null;
 >       private String[] sZipPostal = new String[3];
 >   
 >   
 >       public String getCity() {
 >          return sCity;       
 >       }
 >       
 >       public void setCity(String sCity) {
 >              this.sCity = sCity;
 >       }
 >   
 >       public String getStateProv() {
 >          return sStateProv;  
 >       }
 >       
 >       public void setStateProv(String sStateProv) {
 >              this.sStateProv = sStateProv;
 >       }
 >   
 >       public String getZipPostal(int index) {
 >          return sZipPostal[index];   
 >       }
 >       
 >       public void setZipPostal(int index, String value) {
 >              this.sZipPostal[index] = value;
 >       }
 >   
 >   }
 >   
 >   
 >   
 >   1.1                  
 >jakarta-struts/contrib/validator/src/example/com/wintecinc/struts/example/validator/MultiRegistrationAction.java
 >   
 >   Index: MultiRegistrationAction.java
 >   ===================================================================
 >   /*
 >    * The Apache Software License, Version 1.1
 >    *
 >    * Copyright (c) 1999 The Apache Software Foundation.  All rights
 >    * reserved.
 >    *
 >    * Redistribution and use in source and binary forms, with or without
 >    * modification, are permitted provided that the following conditions
 >    * are met:
 >    *
 >    * 1. Redistributions of source code must retain the above copyright
 >    *    notice, this list of conditions and the following disclaimer.
 >    *
 >    * 2. Redistributions in binary form must reproduce the above copyright
 >    *    notice, this list of conditions and the following disclaimer in
 >    *    the documentation and/or other materials provided with the
 >    *    distribution.
 >    *
 >    * 3. The end-user documentation included with the redistribution, if
 >    *    any, must include the following acknowlegement:
 >    *       "This product includes software developed by the
 >    *        Apache Software Foundation (http://www.apache.org/)."
 >    *    Alternately, this acknowlegement may appear in the software itself,
 >    *    if and wherever such third-party acknowlegements normally appear.
 >    *
 >    * 4. The names "The Jakarta Project", "Struts", and "Apache Software
 >    *    Foundation" must not be used to endorse or promote products derived
 >    *    from this software without prior written permission. For written
 >    *    permission, please contact [EMAIL PROTECTED]
 >    *
 >    * 5. Products derived from this software may not be called "Apache"
 >    *    nor may "Apache" appear in their names without prior written
 >    *    permission of the Apache Group.
 >    *
 >    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 >    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 >    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 >    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 >    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 >    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 >    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 >    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 >    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 >    * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 >    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 >    * SUCH DAMAGE.
 >    * ====================================================================
 >    *
 >    * This software consists of voluntary contributions made by many
 >    * individuals on behalf of the Apache Software Foundation.  For more
 >    * information on the Apache Software Foundation, please see
 >    * <http://www.apache.org/>.
 >    */
 >   
 >   
 >   package com.wintecinc.struts.example.validator;
 >   
 >   import java.io.IOException;
 >   import java.util.Locale;
 >   import javax.servlet.ServletException;
 >   import javax.servlet.http.HttpSession;
 >   import javax.servlet.http.HttpServletRequest;
 >   import javax.servlet.http.HttpServletResponse;
 >   import org.apache.struts.action.Action;
 >   import org.apache.struts.action.ActionErrors;
 >   import org.apache.struts.action.ActionForm;
 >   import org.apache.struts.action.ActionForward;
 >   import org.apache.struts.action.ActionMapping;
 >   import org.apache.struts.util.MessageResources;
 >   
 >   
 >   /**
 >    * Implementation of <strong>Action</strong> that validates a multi-page 
 >    * registration form.
 >    *
 >    * @author David Wintefeldt
 >   */
 >   public final class MultiRegistrationAction extends Action {
 >   
 >   
 >       /**
 >        * Process the specified HTTP request, and create the corresponding HTTP
 >        * response (or forward to another web component that will create it).
 >        * Return an <code>ActionForward</code> instance describing where and how
 >        * control should be forwarded, or <code>null</code> if the response has
 >        * already been completed.
 >        *
 >        * @param mapping The ActionMapping used to select this instance
 >        * @param actionForm The optional ActionForm bean for this request (if any)
 >        * @param request The HTTP request we are processing
 >        * @param response The HTTP response we are creating
 >        *
 >        * @exception IOException if an input/output error occurs
 >        * @exception ServletException if a servlet exception occurs
 >        */
 >       public ActionForward perform(ActionMapping mapping,
 >                               ActionForm form,
 >                               HttpServletRequest request,
 >                               HttpServletResponse response)
 >      throws IOException, ServletException {
 >   
 >      // Extract attributes we will need
 >      HttpSession session = request.getSession();
 >      Locale locale = getLocale(request);
 >      MessageResources messages = getResources();
 >      RegistrationForm info = (RegistrationForm)form;
 >      String action = request.getParameter("action");
 >      
 >      // Was this transaction cancelled?
 >      if (isCancelled(request)) {
 >          log(" " + mapping.getAttribute() + " - Registration transaction was 
 >cancelled");
 >          
 >          removeFormBean(mapping, request);
 >   
 >          return (mapping.findForward("success"));
 >      }
 >   
 >      ActionErrors errors = info.validate(mapping, request);
 >   
 >      if (errors != null && errors.empty()) {
 >         if (info.getPage() == 1)
 >            return mapping.findForward("input2");     
 >         if (info.getPage() == 2)
 >                    return mapping.findForward("success");    
 >      } else {
 >         saveErrors(request, errors);
 >         if (info.getPage() == 1)
 >            return mapping.findForward("input" + info.getPage());     
 >         if (info.getPage() == 2)
 >            return mapping.findForward("input" + info.getPage());     
 >      }
 >      
 >      return mapping.findForward("input1");   
 >       }
 >   
 >       /**
 >        * Convenience method that call the comparable servlet log method and writes 
 >        * an explanatory message and a stack trace for a given Throwable exception to 
 >the 
 >        * servlet log file.
 >        *
 >        * @param      message         String that describes the error or exception
 >       */
 >       protected void log(String message) {
 >          if (servlet.getDebug() >= 1)
 >              servlet.log(message);
 >       }
 >       
 >       /**
 >        * Convenience method that call the comparable servlet log method and writes 
 >        * an explanatory message and a stack trace for a given Throwable exception to 
 >the 
 >        * servlet log file.
 >        *
 >        * @param      message         String that describes the error or exception
 >        * @param      throwable       Throwable error or exception
 >       */
 >       protected void log(String message, Throwable throwable) {
 >          if (servlet.getDebug() >= 1)
 >              servlet.log(message, throwable);
 >       }
 >   
 >       /**
 >        * Convenience method for removing the obsolete form bean.
 >        *
 >        * @param mapping The ActionMapping used to select this instance
 >        * @param request The HTTP request we are processing
 >       */    
 >       protected void removeFormBean(ActionMapping mapping, HttpServletRequest 
 >request) {
 >          // Remove the obsolete form bean
 >          if (mapping.getAttribute() != null) {
 >              if ("request".equals(mapping.getScope())) {
 >                  request.removeAttribute(mapping.getAttribute());
 >              } else {
 >                 HttpSession session = request.getSession();
 >                 session.removeAttribute(mapping.getAttribute());
 >              }
 >          }
 >       }
 >   }
 >   
 >   
 >   
 >   1.1                  
 >jakarta-struts/contrib/validator/src/example/com/wintecinc/struts/example/validator/RegistrationAction.java
 >   
 >   Index: RegistrationAction.java
 >   ===================================================================
 >   /*
 >    * The Apache Software License, Version 1.1
 >    *
 >    * Copyright (c) 1999 The Apache Software Foundation.  All rights
 >    * reserved.
 >    *
 >    * Redistribution and use in source and binary forms, with or without
 >    * modification, are permitted provided that the following conditions
 >    * are met:
 >    *
 >    * 1. Redistributions of source code must retain the above copyright
 >    *    notice, this list of conditions and the following disclaimer.
 >    *
 >    * 2. Redistributions in binary form must reproduce the above copyright
 >    *    notice, this list of conditions and the following disclaimer in
 >    *    the documentation and/or other materials provided with the
 >    *    distribution.
 >    *
 >    * 3. The end-user documentation included with the redistribution, if
 >    *    any, must include the following acknowlegement:
 >    *       "This product includes software developed by the
 >    *        Apache Software Foundation (http://www.apache.org/)."
 >    *    Alternately, this acknowlegement may appear in the software itself,
 >    *    if and wherever such third-party acknowlegements normally appear.
 >    *
 >    * 4. The names "The Jakarta Project", "Struts", and "Apache Software
 >    *    Foundation" must not be used to endorse or promote products derived
 >    *    from this software without prior written permission. For written
 >    *    permission, please contact [EMAIL PROTECTED]
 >    *
 >    * 5. Products derived from this software may not be called "Apache"
 >    *    nor may "Apache" appear in their names without prior written
 >    *    permission of the Apache Group.
 >    *
 >    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 >    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 >    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 >    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 >    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 >    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 >    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 >    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 >    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 >    * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 >    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 >    * SUCH DAMAGE.
 >    * ====================================================================
 >    *
 >    * This software consists of voluntary contributions made by many
 >    * individuals on behalf of the Apache Software Foundation.  For more
 >    * information on the Apache Software Foundation, please see
 >    * <http://www.apache.org/>.
 >    */
 >   
 >   
 >   package com.wintecinc.struts.example.validator;
 >   
 >   import java.io.IOException;
 >   import java.util.Locale;
 >   import javax.servlet.ServletException;
 >   import javax.servlet.http.HttpSession;
 >   import javax.servlet.http.HttpServletRequest;
 >   import javax.servlet.http.HttpServletResponse;
 >   import org.apache.struts.action.Action;
 >   import org.apache.struts.action.ActionForm;
 >   import org.apache.struts.action.ActionForward;
 >   import org.apache.struts.action.ActionMapping;
 >   import org.apache.struts.util.MessageResources;
 >   
 >   
 >   /**
 >    * Implementation of <strong>Action</strong> that validates a registration form.
 >    *
 >    * @author David Wintefeldt
 >   */
 >   public final class RegistrationAction extends Action {
 >   
 >   
 >       /**
 >        * Process the specified HTTP request, and create the corresponding HTTP
 >        * response (or forward to another web component that will create it).
 >        * Return an <code>ActionForward</code> instance describing where and how
 >        * control should be forwarded, or <code>null</code> if the response has
 >        * already been completed.
 >        *
 >        * @param mapping The ActionMapping used to select this instance
 >        * @param actionForm The optional ActionForm bean for this request (if any)
 >        * @param request The HTTP request we are processing
 >        * @param response The HTTP response we are creating
 >        *
 >        * @exception IOException if an input/output error occurs
 >        * @exception ServletException if a servlet exception occurs
 >        */
 >       public ActionForward perform(ActionMapping mapping,
 >                               ActionForm form,
 >                               HttpServletRequest request,
 >                               HttpServletResponse response)
 >      throws IOException, ServletException {
 >   
 >      // Extract attributes we will need
 >      HttpSession session = request.getSession();
 >      Locale locale = getLocale(request);
 >      MessageResources messages = getResources();
 >      RegistrationForm info = (RegistrationForm)form;
 >      String action = request.getParameter("action");
 >      
 >      // Was this transaction cancelled?
 >      if (isCancelled(request)) {
 >          log(" " + mapping.getAttribute() + " - Registration transaction was 
 >cancelled");
 >          
 >          removeFormBean(mapping, request);
 >   
 >          return (mapping.findForward("success"));
 >      }
 >   
 >      return mapping.findForward("success");
 >       }
 >   
 >       /**
 >        * Convenience method that call the comparable servlet log method and writes 
 >        * an explanatory message and a stack trace for a given Throwable exception to 
 >the 
 >        * servlet log file.
 >        *
 >        * @param      message         String that describes the error or exception
 >       */
 >       protected void log(String message) {
 >          if (servlet.getDebug() >= 1)
 >              servlet.log(message);
 >       }
 >       
 >       /**
 >        * Convenience method that call the comparable servlet log method and writes 
 >        * an explanatory message and a stack trace for a given Throwable exception to 
 >the 
 >        * servlet log file.
 >        *
 >        * @param      message         String that describes the error or exception
 >        * @param      throwable       Throwable error or exception
 >       */
 >       protected void log(String message, Throwable throwable) {
 >          if (servlet.getDebug() >= 1)
 >              servlet.log(message, throwable);
 >       }
 >   
 >       /**
 >        * Convenience method for removing the obsolete form bean.
 >        *
 >        * @param mapping The ActionMapping used to select this instance
 >        * @param request The HTTP request we are processing
 >       */    
 >       protected void removeFormBean(ActionMapping mapping, HttpServletRequest 
 >request) {
 >          // Remove the obsolete form bean
 >          if (mapping.getAttribute() != null) {
 >              if ("request".equals(mapping.getScope())) {
 >                  request.removeAttribute(mapping.getAttribute());
 >              } else {
 >                 HttpSession session = request.getSession();
 >                 session.removeAttribute(mapping.getAttribute());
 >              }
 >          }
 >       }
 >   }
 >   
 >   
 >   
 >   1.1                  
 >jakarta-struts/contrib/validator/src/example/com/wintecinc/struts/example/validator/RegistrationForm.java
 >   
 >   Index: RegistrationForm.java
 >   ===================================================================
 >   /*
 >    * The Apache Software License, Version 1.1
 >    *
 >    * Copyright (c) 1999 The Apache Software Foundation.  All rights
 >    * reserved.
 >    *
 >    * Redistribution and use in source and binary forms, with or without
 >    * modification, are permitted provided that the following conditions
 >    * are met:
 >    *
 >    * 1. Redistributions of source code must retain the above copyright
 >    *    notice, this list of conditions and the following disclaimer.
 >    *
 >    * 2. Redistributions in binary form must reproduce the above copyright
 >    *    notice, this list of conditions and the following disclaimer in
 >    *    the documentation and/or other materials provided with the
 >    *    distribution.
 >    *
 >    * 3. The end-user documentation included with the redistribution, if
 >    *    any, must include the following acknowlegement:
 >    *       "This product includes software developed by the
 >    *        Apache Software Foundation (http://www.apache.org/)."
 >    *    Alternately, this acknowlegement may appear in the software itself,
 >    *    if and wherever such third-party acknowlegements normally appear.
 >    *
 >    * 4. The names "The Jakarta Project", "Struts", and "Apache Software
 >    *    Foundation" must not be used to endorse or promote products derived
 >    *    from this software without prior written permission. For written
 >    *    permission, please contact [EMAIL PROTECTED]
 >    *
 >    * 5. Products derived from this software may not be called "Apache"
 >    *    nor may "Apache" appear in their names without prior written
 >    *    permission of the Apache Group.
 >    *
 >    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 >    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 >    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 >    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 >    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 >    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 >    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 >    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 >    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 >    * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 >    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 >    * SUCH DAMAGE.
 >    * ====================================================================
 >    *
 >    * This software consists of voluntary contributions made by many
 >    * individuals on behalf of the Apache Software Foundation.  For more
 >    * information on the Apache Software Foundation, please see
 >    * <http://www.apache.org/>.
 >    */
 >   
 >   
 >   package com.wintecinc.struts.example.validator;
 >   
 >   import java.io.Serializable;
 >   import javax.servlet.http.HttpServletRequest;
 >   import org.apache.struts.action.ActionMapping;
 >   import com.wintecinc.struts.action.ValidatorForm;
 >   
 >   
 >   /**
 >    * Form bean for the user registration page.
 >    *
 >    * @author David Wintefeldt
 >   */
 >   public final class RegistrationForm extends ValidatorForm implements Serializable {
 >       private String action = null;
 >          
 >       private String sFirstName = null;
 >       private String sLastName = null;
 >       private String sAddr = null;
 >       private CityStateZip csz = new CityStateZip();
 >       private String sPhone = null;
 >       private String sEmail = null;
 >   
 >   
 >       public String getAction() {
 >      return action;
 >       }
 >   
 >       public void setAction(String action) {
 >           this.action = action;
 >       }
 >   
 >       public String getFirstName() {
 >          return sFirstName;  
 >       }
 >       
 >       public void setFirstName(String sFirstName) {
 >              this.sFirstName = sFirstName;
 >       }
 >       
 >       public String getLastName() {
 >          return sLastName;   
 >       }
 >       
 >       public void setLastName(String sLastName) {
 >              this.sLastName = sLastName;
 >       }
 >   
 >       public String getAddr() {
 >          return sAddr;       
 >       }
 >       
 >       public void setAddr(String sAddr) {
 >              this.sAddr = sAddr;
 >       }
 >   
 >       public CityStateZip getCityStateZip() {
 >          return csz; 
 >       }
 >       
 >       public void setCityStateZip(CityStateZip csz) {
 >              this.csz = csz;
 >       }
 >   
 >       public String getPhone() {
 >          return sPhone;      
 >       }
 >       
 >       public void setPhone(String sPhone) {
 >              this.sPhone = sPhone;
 >       }
 >   
 >       public String getEmail() {
 >          return sEmail;      
 >       }
 >       
 >       public void setEmail(String sEmail) {
 >              this.sEmail = sEmail;
 >       }
 >           
 >       /**
 >        * Reset all properties to their default values.
 >        *
 >        * @param mapping The mapping used to select this instance
 >        * @param request The servlet request we are processing
 >        */
 >       public void reset(ActionMapping mapping, HttpServletRequest request) {
 >          action = null;
 >          sFirstName = null;
 >          sLastName = null;
 >          sAddr = null;
 >          csz = new CityStateZip();
 >          sPhone = null;
 >          sEmail = null;
 >       }
 >   
 >   }
 >   
 >   
 >   
 >   1.1                  
 >jakarta-struts/contrib/validator/src/example/com/wintecinc/struts/example/validator/TypeAction.java
 >   
 >   Index: TypeAction.java
 >   ===================================================================
 >   /*
 >    * The Apache Software License, Version 1.1
 >    *
 >    * Copyright (c) 1999 The Apache Software Foundation.  All rights
 >    * reserved.
 >    *
 >    * Redistribution and use in source and binary forms, with or without
 >    * modification, are permitted provided that the following conditions
 >    * are met:
 >    *
 >    * 1. Redistributions of source code must retain the above copyright
 >    *    notice, this list of conditions and the following disclaimer.
 >    *
 >    * 2. Redistributions in binary form must reproduce the above copyright
 >    *    notice, this list of conditions and the following disclaimer in
 >    *    the documentation and/or other materials provided with the
 >    *    distribution.
 >    *
 >    * 3. The end-user documentation included with the redistribution, if
 >    *    any, must include the following acknowlegement:
 >    *       "This product includes software developed by the
 >    *        Apache Software Foundation (http://www.apache.org/)."
 >    *    Alternately, this acknowlegement may appear in the software itself,
 >    *    if and wherever such third-party acknowlegements normally appear.
 >    *
 >    * 4. The names "The Jakarta Project", "Struts", and "Apache Software
 >    *    Foundation" must not be used to endorse or promote products derived
 >    *    from this software without prior written permission. For written
 >    *    permission, please contact [EMAIL PROTECTED]
 >    *
 >    * 5. Products derived from this software may not be called "Apache"
 >    *    nor may "Apache" appear in their names without prior written
 >    *    permission of the Apache Group.
 >    *
 >    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 >    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 >    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 >    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 >    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 >    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 >    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 >    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 >    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 >    * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 >    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 >    * SUCH DAMAGE.
 >    * ====================================================================
 >    *
 >    * This software consists of voluntary contributions made by many
 >    * individuals on behalf of the Apache Software Foundation.  For more
 >    * information on the Apache Software Foundation, please see
 >    * <http://www.apache.org/>.
 >    */
 >   
 >   
 >   package com.wintecinc.struts.example.validator;
 >   
 >   import java.io.IOException;
 >   import java.util.Locale;
 >   import javax.servlet.ServletException;
 >   import javax.servlet.http.HttpSession;
 >   import javax.servlet.http.HttpServletRequest;
 >   import javax.servlet.http.HttpServletResponse;
 >   import org.apache.struts.action.Action;
 >   import org.apache.struts.action.ActionForm;
 >   import org.apache.struts.action.ActionForward;
 >   import org.apache.struts.action.ActionMapping;
 >   import org.apache.struts.util.MessageResources;
 >   
 >   
 >   /**
 >    * Implementation of <strong>Action</strong> that validates a different 'types'.
 >    *
 >    * @author David Wintefeldt
 >   */
 >   public final class TypeAction extends Action {
 >   
 >   
 >       /**
 >        * Process the specified HTTP request, and create the corresponding HTTP
 >        * response (or forward to another web component that will create it).
 >        * Return an <code>ActionForward</code> instance describing where and how
 >        * control should be forwarded, or <code>null</code> if the response has
 >        * already been completed.
 >        *
 >        * @param mapping The ActionMapping used to select this instance
 >        * @param actionForm The optional ActionForm bean for this request (if any)
 >        * @param request The HTTP request we are processing
 >        * @param response The HTTP response we are creating
 >        *
 >        * @exception IOException if an input/output error occurs
 >        * @exception ServletException if a servlet exception occurs
 >        */
 >       public ActionForward perform(ActionMapping mapping,
 >                               ActionForm form,
 >                               HttpServletRequest request,
 >                               HttpServletResponse response)
 >      throws IOException, ServletException {
 >   
 >      // Extract attributes we will need
 >      HttpSession session = request.getSession();
 >      Locale locale = getLocale(request);
 >      MessageResources messages = getResources();
 >      TypeForm info = (TypeForm)form;
 >      String action = request.getParameter("action");
 >      
 >      // Was this transaction cancelled?
 >      if (isCancelled(request)) {
 >          log(" " + mapping.getAttribute() + " - Type transaction was cancelled");
 >          
 >          removeFormBean(mapping, request);
 >   
 >          return (mapping.findForward("success"));
 >      }
 >   
 >      return mapping.findForward("success");  
 >       }
 >   
 >       /**
 >        * Convenience method that call the comparable servlet log method and writes 
 >        * an explanatory message and a stack trace for a given Throwable exception to 
 >the 
 >        * servlet log file.
 >        *
 >        * @param      message         String that describes the error or exception
 >       */
 >       protected void log(String message) {
 >          if (servlet.getDebug() >= 1)
 >              servlet.log(message);
 >       }
 >       
 >       /**
 >        * Convenience method that call the comparable servlet log method and writes 
 >        * an explanatory message and a stack trace for a given Throwable exception to 
 >the 
 >        * servlet log file.
 >        *
 >        * @param      message         String that describes the error or exception
 >        * @param      throwable       Throwable error or exception
 >       */
 >       protected void log(String message, Throwable throwable) {
 >          if (servlet.getDebug() >= 1)
 >              servlet.log(message, throwable);
 >       }
 >   
 >       /**
 >        * Convenience method for removing the obsolete form bean.
 >        *
 >        * @param mapping The ActionMapping used to select this instance
 >        * @param request The HTTP request we are processing
 >       */    
 >       protected void removeFormBean(ActionMapping mapping, HttpServletRequest 
 >request) {
 >          // Remove the obsolete form bean
 >          if (mapping.getAttribute() != null) {
 >              if ("request".equals(mapping.getScope())) {
 >                  request.removeAttribute(mapping.getAttribute());
 >              } else {
 >                 HttpSession session = request.getSession();
 >                 session.removeAttribute(mapping.getAttribute());
 >              }
 >          }
 >       }
 >   }
 >   
 >   
 >   
 >   1.1                  
 >jakarta-struts/contrib/validator/src/example/com/wintecinc/struts/example/validator/TypeForm.java
 >   
 >   Index: TypeForm.java
 >   ===================================================================
 >   /*
 >    * The Apache Software License, Version 1.1
 >    *
 >    * Copyright (c) 1999 The Apache Software Foundation.  All rights
 >    * reserved.
 >    *
 >    * Redistribution and use in source and binary forms, with or without
 >    * modification, are permitted provided that the following conditions
 >    * are met:
 >    *
 >    * 1. Redistributions of source code must retain the above copyright
 >    *    notice, this list of conditions and the following disclaimer.
 >    *
 >    * 2. Redistributions in binary form must reproduce the above copyright
 >    *    notice, this list of conditions and the following disclaimer in
 >    *    the documentation and/or other materials provided with the
 >    *    distribution.
 >    *
 >    * 3. The end-user documentation included with the redistribution, if
 >    *    any, must include the following acknowlegement:
 >    *       "This product includes software developed by the
 >    *        Apache Software Foundation (http://www.apache.org/)."
 >    *    Alternately, this acknowlegement may appear in the software itself,
 >    *    if and wherever such third-party acknowlegements normally appear.
 >    *
 >    * 4. The names "The Jakarta Project", "Struts", and "Apache Software
 >    *    Foundation" must not be used to endorse or promote products derived
 >    *    from this software without prior written permission. For written
 >    *    permission, please contact [EMAIL PROTECTED]
 >    *
 >    * 5. Products derived from this software may not be called "Apache"
 >    *    nor may "Apache" appear in their names without prior written
 >    *    permission of the Apache Group.
 >    *
 >    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 >    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 >    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 >    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 >    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 >    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 >    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 >    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 >    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 >    * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 >    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 >    * SUCH DAMAGE.
 >    * ====================================================================
 >    *
 >    * This software consists of voluntary contributions made by many
 >    * individuals on behalf of the Apache Software Foundation.  For more
 >    * information on the Apache Software Foundation, please see
 >    * <http://www.apache.org/>.
 >    */
 >   
 >   
 >   package com.wintecinc.struts.example.validator;
 >   
 >   import java.io.Serializable;
 >   import javax.servlet.http.HttpServletRequest;
 >   import org.apache.struts.action.ActionMapping;
 >   import com.wintecinc.struts.action.ValidatorForm;
 >   
 >   
 >   /**
 >    * Form bean for the user type page.
 >    *
 >    * @author David Wintefeldt
 >   */
 >   public final class TypeForm extends ValidatorForm implements Serializable {
 >       private String action = null;
 >          
 >       private String sByte = null;
 >       private String sShort = null;
 >       private String sInteger = null;
 >       private String sLong = null;
 >       private String sFloat = null;
 >       private String sDouble = null;
 >       private String sDate = null;
 >       private String sCreditCard = null;
 >   
 >       public String getAction() {
 >      return action;
 >       }
 >   
 >       public void setAction(String action) {
 >           this.action = action;
 >       }
 >   
 >       public String getByte() {
 >          return sByte;       
 >       }
 >       
 >       public void setByte(String sByte) {
 >              this.sByte = sByte;
 >       }
 >       
 >       public String getShort() {
 >          return sShort;      
 >       }
 >       
 >       public void setShort(String sShort) {
 >              this.sShort = sShort;
 >       }
 >   
 >       public String getInteger() {
 >          return sInteger;    
 >       }
 >       
 >       public void setInteger(String sInteger) {
 >              this.sInteger = sInteger;
 >       }
 >   
 >       public String getLong() {
 >          return sLong;       
 >       }
 >       
 >       public void setLong(String sLong) {
 >              this.sLong = sLong;
 >       }
 >   
 >       public String getFloat() {
 >          return sFloat;      
 >       }
 >       
 >       public void setFloat(String sFloat) {
 >              this.sFloat = sFloat;
 >       }
 >   
 >       public String getDouble() {
 >          return sDouble;     
 >       }
 >       
 >       public void setDouble(String sDouble) {
 >              this.sDouble = sDouble;
 >       }
 >   
 >       public String getDate() {
 >          return sDate;       
 >       }
 >       
 >       public void setDate(String sDate) {
 >              this.sDate = sDate;
 >       }
 >   
 >       public String getCreditCard() {
 >          return sCreditCard; 
 >       }
 >       
 >       public void setCreditCard(String sCreditCard) {
 >              this.sCreditCard = sCreditCard;
 >       }
 >           
 >       /**
 >        * Reset all properties to their default values.
 >        *
 >        * @param mapping The mapping used to select this instance
 >        * @param request The servlet request we are processing
 >        */
 >       public void reset(ActionMapping mapping, HttpServletRequest request) {
 >          action = null;
 >          sByte = null;
 >          sShort = null;
 >          sInteger = null;
 >          sLong = null;
 >          sFloat = null;
 >          sDouble = null;
 >          sDate = null;
 >          sCreditCard = null;
 >       }
 >   
 >   }
 >   
 >   
 >   

Reply via email to