dwinterfeldt    02/04/01 20:06:21

  Modified:    src/share/org/apache/struts/util StrutsValidator.java
  Log:
  Changing interface to some methods to return correctly typed objects which are 
available in a Map using the property of the field as the key.  This Map can be 
accessed from the ValidatorForm.  The change should be transparent through the 
framework, but any direct method calls to these methods will need to be changed.  The 
change in the interface is to reduce duplication for Struts 1.1.
  
  Revision  Changes    Path
  1.2       +111 -89   
jakarta-struts/src/share/org/apache/struts/util/StrutsValidator.java
  
  Index: StrutsValidator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/util/StrutsValidator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StrutsValidator.java      18 Mar 2002 01:42:51 -0000      1.1
  +++ StrutsValidator.java      2 Apr 2002 04:06:21 -0000       1.2
  @@ -56,16 +56,17 @@
   package org.apache.struts.util;
   
   import java.io.Serializable;
  +import java.util.Date;
   import java.util.Locale;
   import javax.servlet.ServletContext;
   import javax.servlet.http.HttpServletRequest;
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogSource;
   import org.apache.commons.validator.Field;
  +import org.apache.commons.validator.GenericTypeValidator;
   import org.apache.commons.validator.GenericValidator;
   import org.apache.commons.validator.ValidatorAction;
   import org.apache.commons.validator.ValidatorUtil;
  -import org.apache.regexp.RESyntaxException;
   import org.apache.struts.action.ActionErrors;
   
   
  @@ -142,8 +143,6 @@
                  } else {
                     return true;       
                  }
  -         } catch (RESyntaxException e) {
  -            LOG.error(e.getMessage(), e);
            } catch (Exception e) {
               LOG.error(e.getMessage(), e);
            }
  @@ -164,19 +163,23 @@
        *                          validation errors occur.
        * @param        request         Current request object.
       */
  -    public static boolean validateByte(Object bean, 
  -                          ValidatorAction va, Field field, 
  -                          ActionErrors errors, 
  -                             HttpServletRequest request) {
  +    public static Byte validateByte(Object bean, 
  +                                 ValidatorAction va, Field field, 
  +                                 ActionErrors errors, 
  +                                    HttpServletRequest request) {
          
  +       Byte result = null;
          String value = ValidatorUtil.getValueAsString(bean, field.getProperty());
   
  -       if (!GenericValidator.isBlankOrNull(value) && 
!GenericValidator.isByte(value)) {
  -          errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  -          return false;
  -       } else {
  -          return true;       
  +       if (!GenericValidator.isBlankOrNull(value)) {
  +               result = GenericTypeValidator.formatByte(value);
  +               
  +               if (result == null) {
  +             errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  +          }
          }
  +       
  +       return result;
       }
   
       /**
  @@ -190,18 +193,22 @@
        *                          validation errors occur.
        * @param        request         Current request object.
       */
  -    public static boolean validateShort(Object bean, 
  -                           ValidatorAction va, Field field, 
  -                           ActionErrors errors, 
  -                              HttpServletRequest request) {
  +    public static Short validateShort(Object bean, 
  +                                   ValidatorAction va, Field field, 
  +                                   ActionErrors errors, 
  +                                      HttpServletRequest request) {
  +       Short result = null;
          String value = ValidatorUtil.getValueAsString(bean, field.getProperty());
          
  -       if (!GenericValidator.isBlankOrNull(value) && 
!GenericValidator.isShort(value)) {
  -          errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  -          return false;
  -       } else {
  -          return true;       
  +       if (!GenericValidator.isBlankOrNull(value)) {
  +               result = GenericTypeValidator.formatShort(value);
  +               
  +               if (result == null) {
  +             errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  +          }
          }
  +       
  +       return result;
       }
   
       /**
  @@ -215,18 +222,22 @@
        *                          validation errors occur.
        * @param        request         Current request object.
       */
  -    public static boolean validateInteger(Object bean, 
  -                             ValidatorAction va, Field field, 
  -                             ActionErrors errors, 
  -                                HttpServletRequest request) {
  +    public static Integer validateInteger(Object bean, 
  +                                       ValidatorAction va, Field field, 
  +                                       ActionErrors errors, 
  +                                          HttpServletRequest request) {
  +       Integer result = null;
          String value = ValidatorUtil.getValueAsString(bean, field.getProperty());
          
  -       if (!GenericValidator.isBlankOrNull(value) && 
!GenericValidator.isInt(value)) {
  -          errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  -          return false;
  -       } else {
  -          return true;       
  +       if (!GenericValidator.isBlankOrNull(value)) {
  +               result = GenericTypeValidator.formatInt(value);
  +               
  +               if (result == null) {
  +             errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  +          }
          }
  +       
  +       return result;
       }
   
       /**
  @@ -240,18 +251,22 @@
        *                          validation errors occur.
        * @param        request         Current request object.
       */   
  -    public static boolean validateLong(Object bean, 
  -                          ValidatorAction va, Field field, 
  -                          ActionErrors errors, 
  -                             HttpServletRequest request) {
  +    public static Long validateLong(Object bean, 
  +                                 ValidatorAction va, Field field, 
  +                                 ActionErrors errors, 
  +                                    HttpServletRequest request) {
  +       Long result = null;
          String value = ValidatorUtil.getValueAsString(bean, field.getProperty());
          
  -       if (!GenericValidator.isBlankOrNull(value) && 
!GenericValidator.isLong(value)) {
  -          errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  -          return false;
  -       } else {
  -          return true;       
  +       if (!GenericValidator.isBlankOrNull(value)) {
  +               result = GenericTypeValidator.formatLong(value);
  +               
  +               if (result == null) {
  +             errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  +          }
          }
  +       
  +       return result;
       }
   
       /**
  @@ -265,18 +280,22 @@
        *                          validation errors occur.
        * @param        request         Current request object.
       */
  -    public static boolean validateFloat(Object bean, 
  -                           ValidatorAction va, Field field, 
  -                           ActionErrors errors, 
  -                              HttpServletRequest request) {
  +    public static Float validateFloat(Object bean, 
  +                                   ValidatorAction va, Field field, 
  +                                   ActionErrors errors, 
  +                                      HttpServletRequest request) {
  +       Float result = null;
          String value = ValidatorUtil.getValueAsString(bean, field.getProperty());
          
  -       if (!GenericValidator.isBlankOrNull(value) && 
!GenericValidator.isFloat(value)) {
  -          errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  -          return false;
  -       } else {
  -          return true;       
  +       if (!GenericValidator.isBlankOrNull(value)) {
  +          result = GenericTypeValidator.formatFloat(value);
  +               
  +               if (result == null) {
  +             errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  +          }
          }
  +       
  +       return result;
       }
   
       /**
  @@ -290,18 +309,22 @@
        *                          validation errors occur.
        * @param        request         Current request object.
       */
  -    public static boolean validateDouble(Object bean, 
  -                            ValidatorAction va, Field field, 
  -                            ActionErrors errors, 
  -                               HttpServletRequest request) {
  +    public static Double validateDouble(Object bean, 
  +                                     ValidatorAction va, Field field, 
  +                                     ActionErrors errors, 
  +                                        HttpServletRequest request) {
  +       Double result = null;
          String value = ValidatorUtil.getValueAsString(bean, field.getProperty());
          
  -       if (!GenericValidator.isBlankOrNull(value) && 
!GenericValidator.isDouble(value)) {
  -          errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  -          return false;
  -       } else {
  -          return true;       
  +       if (!GenericValidator.isBlankOrNull(value)) {
  +               result = GenericTypeValidator.formatDouble(value);
  +               
  +               if (result == null) {
  +             errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  +          }
          }
  +       
  +       return result;
       }
   
       /**
  @@ -322,13 +345,12 @@
        *                          validation errors occur.
        * @param        request         Current request object.
       */
  -    public static boolean validateDate(Object bean, 
  -                          ValidatorAction va, Field field, 
  -                          ActionErrors errors, 
  -                             HttpServletRequest request) {
  -
  -     boolean bValid = true;
  +    public static Date validateDate(Object bean, 
  +                                 ValidatorAction va, Field field, 
  +                                 ActionErrors errors, 
  +                                    HttpServletRequest request) {
   
  +     Date result = null;
           String value = ValidatorUtil.getValueAsString(bean, field.getProperty());
           String datePattern = field.getVarValue("datePattern");
           String datePatternStrict = field.getVarValue("datePatternStrict");
  @@ -337,21 +359,22 @@
        if (!GenericValidator.isBlankOrNull(value)) {
           try {
                 if (datePattern != null && datePattern.length() > 0) {
  -                 bValid = GenericValidator.isDate(value, datePattern, false);
  +                 result = GenericTypeValidator.formatDate(value, datePattern, 
false);
                 } else if (datePatternStrict != null && datePatternStrict.length() > 
0) {
  -                 bValid = GenericValidator.isDate(value, datePatternStrict, true);
  +                 result = GenericTypeValidator.formatDate(value, datePatternStrict, 
true);
              } else {
  -              bValid = GenericValidator.isDate(value, locale);
  +              result = GenericTypeValidator.formatDate(value, locale);
                 }
           } catch (Exception e) {
  -           bValid = false;
  +           LOG.error(e.getMessage(), e);
              }
           }
   
  -        if (!bValid)
  +        if (result == null) {
             errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  +        }
           
  -        return bValid;
  +        return result;
       }        
   
   
  @@ -370,9 +393,9 @@
        * @param        request         Current request object.
       */
       public static boolean validateRange(Object bean, 
  -                           ValidatorAction va, Field field, 
  -                           ActionErrors errors, 
  -                              HttpServletRequest request) {
  +                                     ValidatorAction va, Field field, 
  +                                     ActionErrors errors, 
  +                                        HttpServletRequest request) {
          
          String value = ValidatorUtil.getValueAsString(bean, field.getProperty());
          String sMin = field.getVarValue("min");
  @@ -411,24 +434,23 @@
        *                          validation errors occur.
        * @param        request         Current request object.
       */
  -    public static boolean validateCreditCard(Object bean, 
  -                                ValidatorAction va, Field field, 
  -                                ActionErrors errors, 
  -                                   HttpServletRequest request) {
  +    public static Long validateCreditCard(Object bean, 
  +                                          ValidatorAction va, Field field, 
  +                                          ActionErrors errors, 
  +                                             HttpServletRequest request) {
    
  -       if (field.getProperty() != null && field.getProperty().length() > 0) {
  -          String value = ValidatorUtil.getValueAsString(bean, field.getProperty());
  -       
  -          if (!GenericValidator.isBlankOrNull(value) && 
!GenericValidator.isCreditCard(value)) {
  +       Long result = null;
  +       String value = ValidatorUtil.getValueAsString(bean, field.getProperty());
  +          
  +       if (!GenericValidator.isBlankOrNull(value)) {
  +          result = GenericTypeValidator.formatCreditCard(value);
  +          
  +          if (result == null) {
                errors.add(field.getKey(), StrutsValidatorUtil.getActionError(request, 
va, field));
  -            
  -             return false;
  -          } else {
  -             return true;    
             }
  -       } else {
  -          return true;
          }
  +
  +       return result;
       }
   
       /**
  @@ -445,9 +467,9 @@
        * @param        request         Current request object.
       */
       public static boolean validateEmail(Object bean, 
  -                           ValidatorAction va, Field field, 
  -                           ActionErrors errors, 
  -                              HttpServletRequest request) {
  +                                     ValidatorAction va, Field field, 
  +                                     ActionErrors errors, 
  +                                        HttpServletRequest request) {
          
          String value = ValidatorUtil.getValueAsString(bean, field.getProperty());
          
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to