jmcnally    02/04/09 08:17:46

  Modified:    src/services/org/apache/fulcrum/intake/model
                        BigDecimalField.java Field.java FloatField.java
                        IntegerField.java NumberKeyField.java
  Log:
  do not assume an empty field always indicates the field is not set.  move
  the logic to the individual fields for which an empty field does indicate
  it is not set.
  
  Revision  Changes    Path
  1.4       +13 -2     
jakarta-turbine-fulcrum/src/services/org/apache/fulcrum/intake/model/BigDecimalField.java
  
  Index: BigDecimalField.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-fulcrum/src/services/org/apache/fulcrum/intake/model/BigDecimalField.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BigDecimalField.java      18 Nov 2001 19:18:59 -0000      1.3
  +++ BigDecimalField.java      9 Apr 2002 15:17:46 -0000       1.4
  @@ -92,13 +92,24 @@
               BigDecimal[] values = new BigDecimal[inputs.length];
               for (int i = 0; i < inputs.length; i++)
               {
  -                values[i] = canonicalizeDecimalInput(inputs[i]);
  +                if (inputs[i] != null && inputs[i].length() > 0) 
  +                {
  +                    values[i] = canonicalizeDecimalInput(inputs[i]);
  +                }
               }
               setTestValue(values);
           }
           else
           {
  -            setTestValue( canonicalizeDecimalInput(pp.getString(getKey())) );
  +            String s = pp.getString(getKey());
  +            if (s != null && s.length() > 0) 
  +            {
  +                setTestValue(canonicalizeDecimalInput(s));
  +            }
  +            else 
  +            {
  +                set_flag = false;
  +            }
           }
       }
   
  
  
  
  1.7       +3 -8      
jakarta-turbine-fulcrum/src/services/org/apache/fulcrum/intake/model/Field.java
  
  Index: Field.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-fulcrum/src/services/org/apache/fulcrum/intake/model/Field.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Field.java        10 Jan 2002 06:24:06 -0000      1.6
  +++ Field.java        9 Apr 2002 15:17:46 -0000       1.7
  @@ -80,7 +80,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]>John McNally</a>
    * @author <a href="mailto:[EMAIL PROTECTED]>Daniel Rall</a>
  - * @version $Id: Field.java,v 1.6 2002/01/10 06:24:06 jmcnally Exp $
  + * @version $Id: Field.java,v 1.7 2002/04/09 15:17:46 jmcnally Exp $
    */
   public abstract class Field
   {
  @@ -468,7 +468,7 @@
               // this definition of not set might need refined.  But
               // not sure the situation will arise.
               if ( stringValues.length == 0 || 
  -                 (stringValues.length == 1 && stringValues[0].length() == 0) )
  +                 (stringValues.length == 1 && stringValues[0] == null) )
               {
                   set_flag = false;
               }
  @@ -499,11 +499,6 @@
           else
           {
               stringValue = pp.getString(getKey());
  -            if ( stringValue.length() == 0 )
  -            {
  -                set_flag = false;
  -            }
  -
               if ( validator != null )
               {            
                   // set the test value as a String which might be replaced by
  @@ -679,7 +674,7 @@
               throw new ServiceException(
                   "Attempted to assign an invalid input.");
           }
  -        if (isSet())
  +        if (isSet() && getTestValue() != null)
           {
               try
               {
  
  
  
  1.2       +15 -4     
jakarta-turbine-fulcrum/src/services/org/apache/fulcrum/intake/model/FloatField.java
  
  Index: FloatField.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-fulcrum/src/services/org/apache/fulcrum/intake/model/FloatField.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FloatField.java   27 Dec 2001 18:43:00 -0000      1.1
  +++ FloatField.java   9 Apr 2002 15:17:46 -0000       1.2
  @@ -62,7 +62,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]>Ronald Wekker</a>
    * @author <a href="mailto:[EMAIL PROTECTED]>John McNally</a>
  - * @version $Id: FloatField.java,v 1.1 2001/12/27 18:43:00 jmcnally Exp $
  + * @version $Id: FloatField.java,v 1.2 2002/04/09 15:17:46 jmcnally Exp $
    */
    
   public class FloatField extends Field
  @@ -105,7 +105,7 @@
        */
       protected String getDefaultValidator()
       {
  -        return "org.apache.turbine.services.intake.validator.NumberValidator";
  +        return "org.apache.fulcrum.intake.validator.NumberValidator";
       }
   
       /**
  @@ -119,13 +119,24 @@
               float[] ival = new float[ss.length];
               for (int i=0; i<ss.length; i++)
               {
  -                ival[i] = Float.parseFloat(ss[i]);
  +                if (ss[i] != null && ss[i].length() > 0) 
  +                {
  +                    ival[i] = Float.parseFloat(ss[i]);
  +                }
               }
               setTestValue(ival);
           }
           else
           {
  -            setTestValue(new Float(pp.getString(getKey())));
  +            String s = pp.getString(getKey());
  +            if (s != null && s.length() > 0) 
  +            {
  +                setTestValue(new Float(s));
  +            }
  +            else 
  +            {
  +                set_flag = false;
  +            }
           }
       }
   }
  
  
  
  1.6       +13 -2     
jakarta-turbine-fulcrum/src/services/org/apache/fulcrum/intake/model/IntegerField.java
  
  Index: IntegerField.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-fulcrum/src/services/org/apache/fulcrum/intake/model/IntegerField.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- IntegerField.java 27 Dec 2001 18:39:49 -0000      1.5
  +++ IntegerField.java 9 Apr 2002 15:17:46 -0000       1.6
  @@ -90,13 +90,24 @@
               int[] ival = new int[ss.length];
               for (int i=0; i<ss.length; i++)
               {
  -                ival[i] = Integer.parseInt(ss[i]);
  +                if (ss[i] != null && ss[i].length() > 0) 
  +                {
  +                    ival[i] = Integer.parseInt(ss[i]);
  +                }
               }
               setTestValue(ival);
           }
           else
           {
  -            setTestValue(new Integer(pp.getString(getKey())));
  +            String s = pp.getString(getKey());
  +            if (s != null && s.length() > 0) 
  +            {
  +                setTestValue(new Integer(s));
  +            }
  +            else 
  +            {
  +                set_flag = false;
  +            }
           }
       }
   }
  
  
  
  1.4       +15 -3     
jakarta-turbine-fulcrum/src/services/org/apache/fulcrum/intake/model/NumberKeyField.java
  
  Index: NumberKeyField.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-fulcrum/src/services/org/apache/fulcrum/intake/model/NumberKeyField.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- NumberKeyField.java       18 Nov 2001 19:18:59 -0000      1.3
  +++ NumberKeyField.java       9 Apr 2002 15:17:46 -0000       1.4
  @@ -95,14 +95,26 @@
               NumberKey[] values = new NumberKey[inputs.length];
               for (int i = 0; i < inputs.length; i++)
               {
  -                values[i] = new NumberKey(canonicalizeDecimalInput(inputs[i]));
  +                if (inputs[i] != null && inputs[i].length() > 0) 
  +                {
  +                    values[i] = new NumberKey(
  +                        canonicalizeDecimalInput(inputs[i]));
  +                }
               }
               setTestValue(values);
           }
           else
           {
  -            BigDecimal bd = canonicalizeDecimalInput( pp.getString(getKey()) );
  -            setTestValue( new NumberKey(bd) );
  +            String s = pp.getString(getKey());
  +            if (s != null && s.length() > 0) 
  +            {
  +                BigDecimal bd = canonicalizeDecimalInput(s);
  +                setTestValue( new NumberKey(bd) );
  +            }
  +            else 
  +            {
  +                set_flag = false;
  +            }
           }
       }
   }
  
  
  

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

Reply via email to