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]