seade       2004/03/04 20:22:11

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

  Initial patch to IntegerField provided by Derek Gaasch.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.12.2.4  +5 -3      
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.12.2.3
  retrieving revision 1.12.2.4
  diff -u -r1.12.2.3 -r1.12.2.4
  --- BooleanField.java 27 Feb 2004 05:48:50 -0000      1.12.2.3
  +++ BooleanField.java 5 Mar 2004 04:22:11 -0000       1.12.2.4
  @@ -107,11 +107,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);
           }
  @@ -177,4 +178,5 @@
           }
           return result;
       }
  +    
   }
  
  
  
  1.7.2.4   +7 -4      
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.7.2.3
  retrieving revision 1.7.2.4
  diff -u -r1.7.2.3 -r1.7.2.4
  --- DoubleField.java  27 Feb 2004 05:48:50 -0000      1.7.2.3
  +++ DoubleField.java  5 Mar 2004 04:22:11 -0000       1.7.2.4
  @@ -113,18 +113,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.3.2.4   +8 -5      
jakarta-turbine-2/src/java/org/apache/turbine/services/intake/model/LongField.java
  
  Index: LongField.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/model/LongField.java,v
  retrieving revision 1.3.2.3
  retrieving revision 1.3.2.4
  diff -u -r1.3.2.3 -r1.3.2.4
  --- LongField.java    27 Feb 2004 05:48:50 -0000      1.3.2.3
  +++ LongField.java    5 Mar 2004 04:22:11 -0000       1.3.2.4
  @@ -23,7 +23,7 @@
   import org.apache.turbine.services.intake.xmlmodel.XmlField;
   
   /**
  - * Creates Short Field objects.
  + * Processor for long fields.
    *
    * @version $Id$
    */
  @@ -114,18 +114,21 @@
           if (isMultiValued)
           {
               String[] inputs = parser.getStrings(getKey());
  -            Long[] values = new Long[inputs.length];
  +            long[] values = new long[inputs.length];
               for (int i = 0; i < inputs.length; i++)
               {
                   values[i] = StringUtils.isNotEmpty(inputs[i])
  -                        ? new Long(inputs[i]) : (Long) getEmptyValue();
  +                        ? new Long(inputs[i]).longValue() 
  +                        : ((Long) getEmptyValue()).longValue();
               }
               setTestValue(values);
           }
           else
           {
               String val = parser.getString(getKey());
  -            setTestValue(StringUtils.isNotEmpty(val) ? new Long(val) : (Long) 
getEmptyValue());
  +            setTestValue(StringUtils.isNotEmpty(val) 
  +                    ? new Long(val) : (Long) getEmptyValue());
           }
       }
  +    
   }
  
  
  
  1.9.2.4   +7 -4      
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.9.2.3
  retrieving revision 1.9.2.4
  diff -u -r1.9.2.3 -r1.9.2.4
  --- FloatField.java   27 Feb 2004 05:48:50 -0000      1.9.2.3
  +++ FloatField.java   5 Mar 2004 04:22:11 -0000       1.9.2.4
  @@ -114,18 +114,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.3.2.4   +8 -6      
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.3.2.3
  retrieving revision 1.3.2.4
  diff -u -r1.3.2.3 -r1.3.2.4
  --- ShortField.java   27 Feb 2004 05:48:50 -0000      1.3.2.3
  +++ ShortField.java   5 Mar 2004 04:22:11 -0000       1.3.2.4
  @@ -23,14 +23,13 @@
   import org.apache.turbine.services.intake.xmlmodel.XmlField;
   
   /**
  - * Creates Short Field objects.
  + * Processor for short fields.
    *
    * @version $Id$
    */
   public class ShortField
           extends Field
   {
  -
       /**
        * Constructor.
        *
  @@ -115,18 +114,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.10.2.4  +7 -3      
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.10.2.3
  retrieving revision 1.10.2.4
  diff -u -r1.10.2.3 -r1.10.2.4
  --- IntegerField.java 27 Feb 2004 05:48:50 -0000      1.10.2.3
  +++ IntegerField.java 5 Mar 2004 04:22:11 -0000       1.10.2.4
  @@ -23,6 +23,8 @@
   import org.apache.turbine.services.intake.xmlmodel.XmlField;
   
   /**
  + * Processor for int fields.
  + *
    * @version $Id$
    */
   public class IntegerField
  @@ -112,11 +114,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);
           }
  @@ -126,4 +129,5 @@
               setTestValue(StringUtils.isNotEmpty(val) ? new Integer(val) : (Integer) 
getEmptyValue());
           }
       }
  +    
   }
  
  
  
  No                   revision
  No                   revision
  1.60.2.12 +6 -7      jakarta-turbine-2/xdocs/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-2/xdocs/changes.xml,v
  retrieving revision 1.60.2.11
  retrieving revision 1.60.2.12
  diff -u -r1.60.2.11 -r1.60.2.12
  --- changes.xml       24 Nov 2003 11:03:50 -0000      1.60.2.11
  +++ changes.xml       5 Mar 2004 04:22:11 -0000       1.60.2.12
  @@ -4,13 +4,6 @@
   
   <properties>
     <title>2.x Changes</title>
  -  <author email="[EMAIL PROTECTED]">Jason van Zyl</author>
  -  <author email="[EMAIL PROTECTED]">John D. McNally</author>
  -  <author email="[EMAIL PROTECTED]">Martin Poeschl</author>
  -  <author email="[EMAIL PROTECTED]">Henning P. Schmiedehausen</author>
  -  <author email="[EMAIL PROTECTED]">Quinton McCombs</author>
  -  <author email="[EMAIL PROTECTED]">Eric Pugh</author>
  -  <author email="[EMAIL PROTECTED]">Scott Eade</author>
   </properties>
   
   <body>
  @@ -76,6 +69,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>
          The intake validators were fixed so that fields with required=false 
          rules no longer attempt to execute the remaining rules when no
  
  
  

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

Reply via email to