seade       2004/03/04 21:33:51

  Modified:    src/java/org/apache/turbine/services/intake/model
                        IntegerField.java FloatField.java DoubleField.java
                        ShortField.java BooleanField.java
               xdocs    changes.xml
  Log:
  Fix how Intake handles multiValued entries.

  Initial patch to IntegerField provided by Derek Gaasch.
  
  Revision  Changes    Path
  1.14      +6 -7      
jakarta-turbine-2/src/java/org/apache/turbine/services/intake/model/IntegerField.java
  
  Index: IntegerField.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/model/IntegerField.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- IntegerField.java 14 Oct 2003 12:17:24 -0000      1.13
  +++ IntegerField.java 5 Mar 2004 05:33:50 -0000       1.14
  @@ -61,12 +61,9 @@
   import org.apache.turbine.services.intake.xmlmodel.XmlField;
   
   /**
  + * Processor for int fields.
  + *
    * @deprecated Use the Fulcrum Intake component instead.
  - * @author <a href="mailto:[EMAIL PROTECTED]">John McNally</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]">Henning P. Schmiedehausen</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]">Quinton McCombs</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]">Scott Eade</a>
  - * @version $Id$
    */
   public class IntegerField
           extends Field
  @@ -155,11 +152,12 @@
           if (isMultiValued)
           {
               String[] inputs = parser.getStrings(getKey());
  -            Integer[] values = new Integer[inputs.length];
  +            int[] values = new int[inputs.length];
               for (int i = 0; i < inputs.length; i++)
               {
                   values[i] = StringUtils.isNotEmpty(inputs[i])
  -                        ? new Integer(inputs[i]) : (Integer) getEmptyValue();
  +                        ? new Integer(inputs[i]).intValue() 
  +                        : ((Integer) getEmptyValue()).intValue();
               }
               setTestValue(values);
           }
  @@ -169,4 +167,5 @@
               setTestValue(StringUtils.isNotEmpty(val) ? new Integer(val) : (Integer) 
getEmptyValue());
           }
       }
  +    
   }
  
  
  
  1.13      +7 -9      
jakarta-turbine-2/src/java/org/apache/turbine/services/intake/model/FloatField.java
  
  Index: FloatField.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/model/FloatField.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- FloatField.java   14 Oct 2003 12:17:24 -0000      1.12
  +++ FloatField.java   5 Mar 2004 05:33:50 -0000       1.13
  @@ -64,11 +64,6 @@
    * Creates Float Field objects.
    *
    * @deprecated Use the Fulcrum Intake component instead.
  - * @author <a href="mailto:[EMAIL PROTECTED]>Ronald Wekker</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]>John McNally</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]">Henning P. Schmiedehausen</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]">Quinton McCombs</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]">Scott Eade</a>
    * @version $Id$
    */
   public class FloatField
  @@ -158,18 +153,21 @@
           if (isMultiValued)
           {
               String[] inputs = parser.getStrings(getKey());
  -            Float[] values = new Float[inputs.length];
  +            float[] values = new float[inputs.length];
               for (int i = 0; i < inputs.length; i++)
               {
                   values[i] = StringUtils.isNotEmpty(inputs[i])
  -                        ? new Float(inputs[i]) : (Float) getEmptyValue();
  +                        ? new Float(inputs[i]).floatValue() 
  +                        : ((Float) getEmptyValue()).floatValue();
               }
               setTestValue(values);
           }
           else
           {
               String val = parser.getString(getKey());
  -            setTestValue(StringUtils.isNotEmpty(val) ? new Float(val) : 
getEmptyValue());
  +            setTestValue(StringUtils.isNotEmpty(val) 
  +                    ? new Float(val) : getEmptyValue());
           }
       }
  +    
   }
  
  
  
  1.11      +7 -6      
jakarta-turbine-2/src/java/org/apache/turbine/services/intake/model/DoubleField.java
  
  Index: DoubleField.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/model/DoubleField.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- DoubleField.java  14 Oct 2003 12:17:24 -0000      1.10
  +++ DoubleField.java  5 Mar 2004 05:33:50 -0000       1.11
  @@ -64,8 +64,6 @@
    * Creates Double Field objects.
    *
    * @deprecated Use the Fulcrum Intake component instead.
  - * @author <a href="mailto:[EMAIL PROTECTED]">Quinton McCombs</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]">Scott Eade</a>
    * @version $Id$
    */
   public class DoubleField
  @@ -154,18 +152,21 @@
           if (isMultiValued)
           {
               String[] inputs = parser.getStrings(getKey());
  -            Double[] values = new Double[inputs.length];
  +            double[] values = new double[inputs.length];
               for (int i = 0; i < inputs.length; i++)
               {
                   values[i] = StringUtils.isNotEmpty(inputs[i])
  -                        ? new Double(inputs[i]) : (Double) getEmptyValue();
  +                        ? new Double(inputs[i]).doubleValue() 
  +                        : ((Double) getEmptyValue()).doubleValue();
               }
               setTestValue(values);
           }
           else
           {
               String val = parser.getString(getKey());
  -            setTestValue(StringUtils.isNotEmpty(val) ? new Double(val) : (Double) 
getEmptyValue());
  +            setTestValue(StringUtils.isNotEmpty(val) 
  +                    ? new Double(val) : (Double) getEmptyValue());
           }
       }
  +    
   }
  
  
  
  1.7       +7 -7      
jakarta-turbine-2/src/java/org/apache/turbine/services/intake/model/ShortField.java
  
  Index: ShortField.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/model/ShortField.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ShortField.java   14 Oct 2003 12:17:24 -0000      1.6
  +++ ShortField.java   5 Mar 2004 05:33:50 -0000       1.7
  @@ -64,9 +64,6 @@
    * Creates Short Field objects.
    *
    * @deprecated Use the Fulcrum Intake component instead.
  - * @author <a href="mailto:[EMAIL PROTECTED]>John McNally</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]">Colin Chalmers</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]">Scott Eade</a>
    * @version $Id$
    */
   public class ShortField
  @@ -157,18 +154,21 @@
           if (isMultiValued)
           {
               String[] inputs = parser.getStrings(getKey());
  -            Short[] values = new Short[inputs.length];
  +            short[] values = new short[inputs.length];
               for (int i = 0; i < inputs.length; i++)
               {
                   values[i] = StringUtils.isNotEmpty(inputs[i])
  -                        ? new Short(inputs[i]) : (Short) getEmptyValue();
  +                        ? new Short(inputs[i]).shortValue() 
  +                        : ((Short) getEmptyValue()).shortValue();
               }
               setTestValue(values);
           }
           else
           {
               String val = parser.getString(getKey());
  -            setTestValue(StringUtils.isNotEmpty(val) ? new Short(val) : (Short) 
getEmptyValue());
  +            setTestValue(StringUtils.isNotEmpty(val) 
  +                    ? new Short(val) : (Short) getEmptyValue());
           }
       }
  +    
   }
  
  
  
  1.16      +5 -7      
jakarta-turbine-2/src/java/org/apache/turbine/services/intake/model/BooleanField.java
  
  Index: BooleanField.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/model/BooleanField.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- BooleanField.java 14 Oct 2003 12:17:24 -0000      1.15
  +++ BooleanField.java 5 Mar 2004 05:33:50 -0000       1.16
  @@ -65,10 +65,6 @@
    * Processor for boolean fields.
    *
    * @deprecated Use the Fulcrum Intake component instead.
  - * @author <a href="mailto:[EMAIL PROTECTED]">John McNally</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]">Henning P. Schmiedehausen</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]">Quinton McCombs</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]">Scott Eade</a>
    * @version $Id$
    */
   public class BooleanField
  @@ -150,11 +146,12 @@
           if (isMultiValued)
           {
               String[] inputs = parser.getStrings(getKey());
  -            Boolean[] values = new Boolean[inputs.length];
  +            boolean[] values = new boolean[inputs.length];
               for (int i = 0; i < inputs.length; i++)
               {
                   values[i] = StringUtils.isNotEmpty(inputs[i])
  -                        ? getBoolean(inputs[i]) : (Boolean) getEmptyValue();
  +                        ? getBoolean(inputs[i]).booleanValue() 
  +                        : ((Boolean) getEmptyValue()).booleanValue();
               }
               setTestValue(values);
           }
  @@ -220,4 +217,5 @@
           }
           return result;
       }
  +    
   }
  
  
  
  1.80      +6 -0      jakarta-turbine-2/xdocs/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/xdocs/changes.xml,v
  retrieving revision 1.79
  retrieving revision 1.80
  diff -u -r1.79 -r1.80
  --- changes.xml       23 Feb 2004 20:35:06 -0000      1.79
  +++ changes.xml       5 Mar 2004 05:33:51 -0000       1.80
  @@ -90,6 +90,12 @@
   <subsection name="Fixed bugs">
   <p>
     <ul>
  +    <li>
  +       Intake now handles multiValued="true" on type="int" fields correctly.
  +       The get/set methods of the underlying object need to deal with an array
  +       of ints.  The intake processing for other primitive types has also been 
  +       updated, though not tested to the same extent as int.
  +    </li>
        <li>
                HttpUtils.httpDateFormat had the year set as 'yyyyy', should be 'yyyy' 
therefore
                setting expiry dates failed.
  
  
  

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

Reply via email to