You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by se...@apache.org on 2003/09/11 09:23:06 UTC

cvs commit: jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator DefaultValidator.java FloatValidator.java BooleanValidator.java DateStringValidator.java ShortValidator.java LongValidator.java BigDecimalValidator.java StringValidator.java IntegerValidator.java DoubleValidator.java

seade       2003/09/11 00:23:06

  Modified:    src/java/org/apache/turbine/services/intake/validator Tag:
                        TURBINE_2_3_BRANCH DefaultValidator.java
                        FloatValidator.java BooleanValidator.java
                        DateStringValidator.java ShortValidator.java
                        LongValidator.java BigDecimalValidator.java
                        StringValidator.java IntegerValidator.java
                        DoubleValidator.java
  Log:
  Submitted by:	J�rgen Hoffmann
  Reviewed by:	Scott Eade
  
  Fixes the intake validators so that validation halts when when the required rule has a value of false and nothing has been entered.
  
  I also changed DefaultValidator so that a minLength > 0 does not equate to required = true - IMHO the minLength should only apply when a value is required.
  
  Thanks J�rgen.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.9.2.1   +2 -3      jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/DefaultValidator.java
  
  Index: DefaultValidator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/DefaultValidator.java,v
  retrieving revision 1.9
  retrieving revision 1.9.2.1
  diff -u -r1.9 -r1.9.2.1
  --- DefaultValidator.java	19 Jun 2003 16:55:17 -0000	1.9
  +++ DefaultValidator.java	11 Sep 2003 07:23:05 -0000	1.9.2.1
  @@ -195,8 +195,7 @@
       public void assertValidity(String testValue)
               throws ValidationException
       {
  -        if ((!required && minLength == 0)
  -                && (testValue == null || testValue.length() == 0))
  +        if (!required && (testValue == null || testValue.length() == 0))
           {
               return;
           }
  
  
  
  1.2.2.2   +24 -20    jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/FloatValidator.java
  
  Index: FloatValidator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/FloatValidator.java,v
  retrieving revision 1.2.2.1
  retrieving revision 1.2.2.2
  diff -u -r1.2.2.1 -r1.2.2.2
  --- FloatValidator.java	10 Sep 2003 12:09:02 -0000	1.2.2.1
  +++ FloatValidator.java	11 Sep 2003 07:23:05 -0000	1.2.2.2
  @@ -72,6 +72,7 @@
    *
    * @author <a href="mailto:jmcnally@collab.net">John McNally</a>
    * @author <a href="mailto:Colin.Chalmers@maxware.nl">Colin Chalmers</a>
  + * @author <a href="mailto:jh@byteaction.de">J&uuml;rgen Hoffmann</a>
    * @version $Id$
    */
   public class FloatValidator
  @@ -144,26 +145,29 @@
       {
           super.assertValidity(testValue);
   
  -        float f = 0.0f;
  -        try
  +        if ((required) || ((testValue != null) && (testValue.length() > 0)))
           {
  -            f = Float.parseFloat(testValue);
  -        }
  -        catch (RuntimeException e)
  -        {
  -            errorMessage = invalidNumberMessage;
  -            throw new ValidationException(invalidNumberMessage);
  -        }
  -
  -        if (f < minValue)
  -        {
  -            errorMessage = minValueMessage;
  -            throw new ValidationException(minValueMessage);
  -        }
  -        if (f > maxValue)
  -        {
  -            errorMessage = maxValueMessage;
  -            throw new ValidationException(maxValueMessage);
  +            float f = 0.0f;
  +            try
  +            {
  +                f = Float.parseFloat(testValue);
  +            }
  +            catch (RuntimeException e)
  +            {
  +                errorMessage = invalidNumberMessage;
  +                throw new ValidationException(invalidNumberMessage);
  +            }
  +            
  +            if (f < minValue)
  +            {
  +                errorMessage = minValueMessage;
  +                throw new ValidationException(minValueMessage);
  +            }
  +            if (f > maxValue)
  +            {
  +                errorMessage = maxValueMessage;
  +                throw new ValidationException(maxValueMessage);
  +            }
           }
       }
   
  
  
  
  1.8.2.1   +11 -7     jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/BooleanValidator.java
  
  Index: BooleanValidator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/BooleanValidator.java,v
  retrieving revision 1.8
  retrieving revision 1.8.2.1
  diff -u -r1.8 -r1.8.2.1
  --- BooleanValidator.java	19 Jun 2003 16:27:10 -0000	1.8
  +++ BooleanValidator.java	11 Sep 2003 07:23:05 -0000	1.8.2.1
  @@ -83,6 +83,7 @@
    *
    * @author <a href="mailto:quintonm@bellsouth.net">Quinton McCombs</a>
    * @author <a href="mailto:Colin.Chalmers@maxware.nl">Colin Chalmers</a>
  + * @author <a href="mailto:jh@byteaction.de">J&uuml;rgen Hoffmann</a>
    * @version $Id$
    */
   public class BooleanValidator
  @@ -126,13 +127,16 @@
       {
           super.assertValidity(testValue);
   
  -        try
  +        if ((required) || ((testValue != null) && (testValue.length() > 0)))
           {
  -            parse(testValue);
  -        }
  -        catch (ParseException e)
  -        {
  -            throw new ValidationException(e.getMessage());
  +            try
  +            {
  +                parse(testValue);
  +            }
  +            catch (ParseException e)
  +            {
  +                throw new ValidationException(e.getMessage());
  +            }
           }
       }
   
  
  
  
  1.7.2.1   +12 -8     jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/DateStringValidator.java
  
  Index: DateStringValidator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/DateStringValidator.java,v
  retrieving revision 1.7
  retrieving revision 1.7.2.1
  diff -u -r1.7 -r1.7.2.1
  --- DateStringValidator.java	19 Jun 2003 16:55:17 -0000	1.7
  +++ DateStringValidator.java	11 Sep 2003 07:23:05 -0000	1.7.2.1
  @@ -87,6 +87,7 @@
    * @author <a href="mailto:jmcnally@collab.net">John McNally</a>
    * @author <a href="mailto:quintonm@bellsouth.net">Quinton McCombs</a>
    * @author <a href="mailto:Colin.Chalmers@maxware.nl">Colin Chalmers</a>
  + * @author <a href="mailto:jh@byteaction.de">J&uuml;rgen Hoffmann</a>
    * @version $Id$
    */
   public class DateStringValidator
  @@ -193,14 +194,17 @@
       {
           super.assertValidity(testValue);
   
  -        try
  +        if ((required) || ((testValue != null) && (testValue.length() > 0)))
           {
  -            parse(testValue);
  -        }
  -        catch (ParseException e)
  -        {
  -            errorMessage = dateFormatMessage;
  -            throw new ValidationException(dateFormatMessage);
  +            try
  +            {
  +                parse(testValue);
  +            }
  +            catch (ParseException e)
  +            {
  +                errorMessage = dateFormatMessage;
  +                throw new ValidationException(dateFormatMessage);
  +            }
           }
       }
   
  
  
  
  1.2.2.1   +24 -20    jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/ShortValidator.java
  
  Index: ShortValidator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/ShortValidator.java,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- ShortValidator.java	19 Jun 2003 16:55:17 -0000	1.2
  +++ ShortValidator.java	11 Sep 2003 07:23:05 -0000	1.2.2.1
  @@ -72,6 +72,7 @@
    *
    * @author <a href="mailto:jmcnally@collab.net">John McNally</a>
    * @author <a href="mailto:Colin.Chalmers@maxware.nl">Colin Chalmers</a>
  + * @author <a href="mailto:jh@byteaction.de">J&uuml;rgen Hoffmann</a>
    * @version $Id$
    */
   public class ShortValidator
  @@ -144,26 +145,29 @@
       {
           super.assertValidity(testValue);
   
  -        short s = 0;
  -        try
  +        if ((required) || ((testValue != null) && (testValue.length() > 0)))
           {
  -            s = Short.parseShort(testValue);
  -        }
  -        catch (RuntimeException e)
  -        {
  -            errorMessage = invalidNumberMessage;
  -            throw new ValidationException(invalidNumberMessage);
  -        }
  -
  -        if (s < minValue)
  -        {
  -            errorMessage = minValueMessage;
  -            throw new ValidationException(minValueMessage);
  -        }
  -        if (s > maxValue)
  -        {
  -            errorMessage = maxValueMessage;
  -            throw new ValidationException(maxValueMessage);
  +            short s = 0;
  +            try
  +            {
  +                s = Short.parseShort(testValue);
  +            }
  +            catch (RuntimeException e)
  +            {
  +                errorMessage = invalidNumberMessage;
  +                throw new ValidationException(invalidNumberMessage);
  +            }
  +            
  +            if (s < minValue)
  +            {
  +                errorMessage = minValueMessage;
  +                throw new ValidationException(minValueMessage);
  +            }
  +            if (s > maxValue)
  +            {
  +                errorMessage = maxValueMessage;
  +                throw new ValidationException(maxValueMessage);
  +            }
           }
       }
   
  
  
  
  1.2.2.1   +24 -20    jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/LongValidator.java
  
  Index: LongValidator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/LongValidator.java,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- LongValidator.java	19 Jun 2003 16:55:17 -0000	1.2
  +++ LongValidator.java	11 Sep 2003 07:23:05 -0000	1.2.2.1
  @@ -72,6 +72,7 @@
    *
    * @author <a href="mailto:jmcnally@collab.net">John McNally</a>
    * @author <a href="mailto:Colin.Chalmers@maxware.nl">Colin Chalmers</a>
  + * @author <a href="mailto:jh@byteaction.de">J&uuml;rgen Hoffmann</a>
    * @version $Id$
    */
   public class LongValidator
  @@ -144,26 +145,29 @@
       {
           super.assertValidity(testValue);
   
  -        long l = 0L;
  -        try
  +        if ((required) || ((testValue != null) && (testValue.length() > 0)))
           {
  -            l = Long.parseLong(testValue);
  -        }
  -        catch (RuntimeException e)
  -        {
  -            errorMessage = invalidNumberMessage;
  -            throw new ValidationException(invalidNumberMessage);
  -        }
  -
  -        if (l < minValue)
  -        {
  -            errorMessage = minValueMessage;
  -            throw new ValidationException(minValueMessage);
  -        }
  -        if (l > maxValue)
  -        {
  -            errorMessage = maxValueMessage;
  -            throw new ValidationException(maxValueMessage);
  +            long l = 0L;
  +            try
  +            {
  +                l = Long.parseLong(testValue);
  +            }
  +            catch (RuntimeException e)
  +            {
  +                errorMessage = invalidNumberMessage;
  +                throw new ValidationException(invalidNumberMessage);
  +            }
  +            
  +            if (l < minValue)
  +            {
  +                errorMessage = minValueMessage;
  +                throw new ValidationException(minValueMessage);
  +            }
  +            if (l > maxValue)
  +            {
  +                errorMessage = maxValueMessage;
  +                throw new ValidationException(maxValueMessage);
  +            }
           }
       }
   
  
  
  
  1.2.2.1   +24 -20    jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/BigDecimalValidator.java
  
  Index: BigDecimalValidator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/BigDecimalValidator.java,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- BigDecimalValidator.java	19 Jun 2003 16:55:17 -0000	1.2
  +++ BigDecimalValidator.java	11 Sep 2003 07:23:05 -0000	1.2.2.1
  @@ -73,6 +73,7 @@
    *
    * @author <a href="mailto:jmcnally@collab.net">John McNally</a>
    * @author <a href="mailto:Colin.Chalmers@maxware.nl">Colin Chalmers</a>
  + * @author <a href="mailto:jh@byteaction.de">J&uuml;rgen Hoffmann</a>
    * @version $Id$
    */
   public class BigDecimalValidator
  @@ -142,26 +143,29 @@
       {
           super.assertValidity(testValue);
   
  -        BigDecimal bd = null;
  -        try
  +        if ((required) || ((testValue != null) && (testValue.length() > 0)))
           {
  -            bd = new BigDecimal(testValue);
  -        }
  -        catch (RuntimeException e)
  -        {
  -            errorMessage = invalidNumberMessage;
  -            throw new ValidationException(invalidNumberMessage);
  -        }
  -
  -        if (minValue != null && bd.compareTo(minValue) < 0)
  -        {
  -            errorMessage = minValueMessage;
  -            throw new ValidationException(minValueMessage);
  -        }
  -        if (maxValue != null && bd.compareTo(maxValue) > 0)
  -        {
  -            errorMessage = maxValueMessage;
  -            throw new ValidationException(maxValueMessage);
  +            BigDecimal bd = null;
  +            try
  +            {
  +                bd = new BigDecimal(testValue);
  +            }
  +            catch (RuntimeException e)
  +            {
  +                errorMessage = invalidNumberMessage;
  +                throw new ValidationException(invalidNumberMessage);
  +            }
  +
  +            if (minValue != null && bd.compareTo(minValue) < 0)
  +            {
  +                errorMessage = minValueMessage;
  +                throw new ValidationException(minValueMessage);
  +            }
  +            if (maxValue != null && bd.compareTo(maxValue) > 0)
  +            {
  +                errorMessage = maxValueMessage;
  +                throw new ValidationException(maxValueMessage);
  +            }
           }
       }
   
  
  
  
  1.2.2.1   +18 -14    jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/StringValidator.java
  
  Index: StringValidator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/StringValidator.java,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- StringValidator.java	19 Jun 2003 16:55:17 -0000	1.2
  +++ StringValidator.java	11 Sep 2003 07:23:05 -0000	1.2.2.1
  @@ -77,6 +77,7 @@
    * @author <a href="mailto:jmcnally@collab.net">John McNally</a>
    * @author <a href="mailto:quintonm@bellsouth.net">Quinton McCombs</a>
    * @author <a href="mailto:Colin.Chalmers@maxware.nl">Colin Chalmers</a>
  + * @author <a href="mailto:jh@byteaction.de">J&uuml;rgen Hoffmann</a>
    * @version $Id$
    */
   public class StringValidator
  @@ -171,21 +172,24 @@
       {
           super.assertValidity(testValue);
   
  -        /** perl5 matcher */
  -        Perl5Matcher patternMatcher = new Perl5Matcher();
  -
  -        if (maskPattern != null)
  +        if ((required) || ((testValue != null) && (testValue.length() > 0)))
           {
  -            boolean patternMatch =
  -                    patternMatcher.matches(testValue, maskPattern);
  -
  -            log.debug("Trying to match " + testValue
  -                    + " to pattern " + maskString);
  -
  -            if (!patternMatch)
  +            if (maskPattern != null)
               {
  -                errorMessage = maskMessage;
  -                throw new ValidationException(maskMessage);
  +                /** perl5 matcher */
  +                Perl5Matcher patternMatcher = new Perl5Matcher();
  +            
  +                boolean patternMatch =
  +                        patternMatcher.matches(testValue, maskPattern);
  +
  +                log.debug("Trying to match " + testValue
  +                        + " to pattern " + maskString);
  +
  +                if (!patternMatch)
  +                {
  +                    errorMessage = maskMessage;
  +                    throw new ValidationException(maskMessage);
  +                }
               }
           }
       }
  
  
  
  1.8.2.1   +24 -20    jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/IntegerValidator.java
  
  Index: IntegerValidator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/IntegerValidator.java,v
  retrieving revision 1.8
  retrieving revision 1.8.2.1
  diff -u -r1.8 -r1.8.2.1
  --- IntegerValidator.java	19 Jun 2003 16:55:17 -0000	1.8
  +++ IntegerValidator.java	11 Sep 2003 07:23:05 -0000	1.8.2.1
  @@ -72,6 +72,7 @@
    *
    * @author <a href="mailto:jmcnally@collab.net">John McNally</a>
    * @author <a href="mailto:Colin.Chalmers@maxware.nl">Colin Chalmers</a>
  + * @author <a href="mailto:jh@byteaction.de">J&uuml;rgen Hoffmann</a>
    * @version $Id$
    */
   public class IntegerValidator
  @@ -144,26 +145,29 @@
       {
           super.assertValidity(testValue);
   
  -        int i = 0;
  -        try
  +        if ((required) || ((testValue != null) && (testValue.length() > 0)))
           {
  -            i = Integer.parseInt(testValue);
  -        }
  -        catch (RuntimeException e)
  -        {
  -            errorMessage = invalidNumberMessage;
  -            throw new ValidationException(invalidNumberMessage);
  -        }
  -
  -        if (i < minValue)
  -        {
  -            errorMessage = minValueMessage;
  -
  -        }
  -        if (i > maxValue)
  -        {
  -            errorMessage = maxValueMessage;
  -            throw new ValidationException(maxValueMessage);
  +            int i = 0;
  +            try
  +            {
  +                i = Integer.parseInt(testValue);
  +            }
  +            catch (RuntimeException e)
  +            {
  +                errorMessage = invalidNumberMessage;
  +                throw new ValidationException(invalidNumberMessage);
  +            }
  +            
  +            if (i < minValue)
  +            {
  +                errorMessage = minValueMessage;
  +                throw new ValidationException(minValueMessage);
  +            }
  +            if (i > maxValue)
  +            {
  +                errorMessage = maxValueMessage;
  +                throw new ValidationException(maxValueMessage);
  +            }
           }
       }
   
  
  
  
  1.2.2.2   +23 -19    jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/DoubleValidator.java
  
  Index: DoubleValidator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/validator/DoubleValidator.java,v
  retrieving revision 1.2.2.1
  retrieving revision 1.2.2.2
  diff -u -r1.2.2.1 -r1.2.2.2
  --- DoubleValidator.java	10 Sep 2003 12:09:02 -0000	1.2.2.1
  +++ DoubleValidator.java	11 Sep 2003 07:23:05 -0000	1.2.2.2
  @@ -72,6 +72,7 @@
    *
    * @author <a href="mailto:jmcnally@collab.net">John McNally</a>
    * @author <a href="mailto:Colin.Chalmers@maxware.nl">Colin Chalmers</a>
  + * @author <a href="mailto:jh@byteaction.de">J&uuml;rgen Hoffmann</a>
    * @version $Id$
    */
   public class DoubleValidator
  @@ -146,25 +147,28 @@
   
           double d = 0.0D;
   
  -        try
  +        if ((required) || ((testValue != null) && (testValue.length() > 0)))
           {
  -            d = Double.parseDouble(testValue);
  -        }
  -        catch (RuntimeException e)
  -        {
  -            errorMessage = invalidNumberMessage;
  -            throw new ValidationException(invalidNumberMessage);
  -        }
  -
  -        if (d < minValue)
  -        {
  -            errorMessage = minValueMessage;
  -            throw new ValidationException(minValueMessage);
  -        }
  -        if (d > maxValue)
  -        {
  -            errorMessage = maxValueMessage;
  -            throw new ValidationException(maxValueMessage);
  +            try
  +            {
  +                d = Double.parseDouble(testValue);
  +            }
  +            catch (RuntimeException e)
  +            {
  +                errorMessage = invalidNumberMessage;
  +                throw new ValidationException(invalidNumberMessage);
  +            }
  +            
  +            if (d < minValue)
  +            {
  +                errorMessage = minValueMessage;
  +                throw new ValidationException(minValueMessage);
  +            }
  +            if (d > maxValue)
  +            {
  +                errorMessage = maxValueMessage;
  +                throw new ValidationException(maxValueMessage);
  +            }
           }
       }