jstrachan 2002/11/07 08:15:08
Modified: betwixt/src/test/org/apache/commons/betwixt
TestBeanReader.java AbstractTestCase.java
CustomerBean.java customer.xml
betwixt/src/java/org/apache/commons/betwixt/digester
XMLIntrospectorHelper.java
Log:
Added native support for BigDecimal and BigInteger as well as some unit test cases
that ensure it works
Revision Changes Path
1.6 +5 -1
jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/TestBeanReader.java
Index: TestBeanReader.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/TestBeanReader.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- TestBeanReader.java 7 Nov 2002 16:06:31 -0000 1.5
+++ TestBeanReader.java 7 Nov 2002 16:15:08 -0000 1.6
@@ -14,6 +14,8 @@
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
+import java.math.BigDecimal;
+import java.math.BigInteger;
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
@@ -150,7 +152,9 @@
assertEquals( ConvertUtils.convert("2002-03-17", Date.class),
customer.getDate());
assertEquals( ConvertUtils.convert("20:30:40", Time.class),
customer.getTime());
assertEquals( ConvertUtils.convert("2002-03-17 20:30:40.0",
Timestamp.class), customer.getTimestamp());
-
+
+ assertEquals( new BigDecimal("1234567890.12345"), customer.getBigDecimal()
);
+ assertEquals( new BigInteger("1234567890"), customer.getBigInteger() );
}
protected InputStream getXMLInput() throws IOException {
1.5 +5 -0
jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/AbstractTestCase.java
Index: AbstractTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/AbstractTestCase.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AbstractTestCase.java 7 Nov 2002 16:06:31 -0000 1.4
+++ AbstractTestCase.java 7 Nov 2002 16:15:08 -0000 1.5
@@ -63,6 +63,8 @@
import java.io.File;
import java.io.StringWriter;
+import java.math.BigDecimal;
+import java.math.BigInteger;
import java.net.MalformedURLException;
import java.sql.Date;
import java.sql.Time;
@@ -132,6 +134,9 @@
bean.setDate((Date) ConvertUtils.convert("2002-03-17", Date.class));
bean.setTime((Time) ConvertUtils.convert("20:30:40", Time.class));
bean.setTimestamp((Timestamp) ConvertUtils.convert("2002-03-17 20:30:40.0",
Timestamp.class));
+
+ bean.setBigDecimal(new BigDecimal("1234567890.12345"));
+ bean.setBigInteger(new BigInteger("1234567890"));
return bean;
}
1.5 +36 -0
jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/CustomerBean.java
Index: CustomerBean.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/CustomerBean.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- CustomerBean.java 7 Nov 2002 16:06:31 -0000 1.4
+++ CustomerBean.java 7 Nov 2002 16:15:08 -0000 1.5
@@ -62,6 +62,8 @@
package org.apache.commons.betwixt;
import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
@@ -98,6 +100,8 @@
private Date date;
private Time time;
private Timestamp timestamp;
+ private BigDecimal bigDecimal;
+ private BigInteger bigInteger;
public CustomerBean() {
}
@@ -271,6 +275,38 @@
*/
public void setTimestamp(Timestamp timestamp) {
this.timestamp = timestamp;
+ }
+
+ /**
+ * Returns the bigDecimal.
+ * @return BigDecimal
+ */
+ public BigDecimal getBigDecimal() {
+ return bigDecimal;
+ }
+
+ /**
+ * Returns the bigInteger.
+ * @return BigInteger
+ */
+ public BigInteger getBigInteger() {
+ return bigInteger;
+ }
+
+ /**
+ * Sets the bigDecimal.
+ * @param bigDecimal The bigDecimal to set
+ */
+ public void setBigDecimal(BigDecimal bigDecimal) {
+ this.bigDecimal = bigDecimal;
+ }
+
+ /**
+ * Sets the bigInteger.
+ * @param bigInteger The bigInteger to set
+ */
+ public void setBigInteger(BigInteger bigInteger) {
+ this.bigInteger = bigInteger;
}
}
1.4 +2 -0
jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/customer.xml
Index: customer.xml
===================================================================
RCS file:
/home/cvs/jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/customer.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- customer.xml 7 Nov 2002 16:06:31 -0000 1.3
+++ customer.xml 7 Nov 2002 16:15:08 -0000 1.4
@@ -49,4 +49,6 @@
<date>2002-03-17</date>
<time>20:30:40</time>
<timestamp>2002-03-17 20:30:40.0</timestamp>
+ <bigDecimal>1234567890.12345</bigDecimal>
+ <bigInteger>1234567890</bigInteger>
</CustomerBean>
1.9 +3 -1
jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/digester/XMLIntrospectorHelper.java
Index: XMLIntrospectorHelper.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/digester/XMLIntrospectorHelper.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- XMLIntrospectorHelper.java 7 Nov 2002 15:31:37 -0000 1.8
+++ XMLIntrospectorHelper.java 7 Nov 2002 16:15:08 -0000 1.9
@@ -422,7 +422,9 @@
|| type.isAssignableFrom( Date.class )
|| type.isAssignableFrom( java.sql.Date.class )
|| type.isAssignableFrom( java.sql.Time.class )
- || type.isAssignableFrom( java.sql.Timestamp.class );
+ || type.isAssignableFrom( java.sql.Timestamp.class )
+ || type.isAssignableFrom( java.math.BigDecimal.class )
+ || type.isAssignableFrom( java.math.BigInteger.class );
}
// Implementation methods
--
To unsubscribe, e-mail: <mailto:commons-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@;jakarta.apache.org>