You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by sm...@apache.org on 2011/04/19 00:08:52 UTC
svn commit: r1094792 - in /pivot/trunk/core:
src/org/apache/pivot/beans/BeanAdapter.java
test/org/apache/pivot/beans/test/BeanAdapterTest.java
Author: smartini
Date: Mon Apr 18 22:08:52 2011
New Revision: 1094792
URL: http://svn.apache.org/viewvc?rev=1094792&view=rev
Log:
PIVOT-704
Modified:
pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java
pivot/trunk/core/test/org/apache/pivot/beans/test/BeanAdapterTest.java
Modified: pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java
URL: http://svn.apache.org/viewvc/pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java?rev=1094792&r1=1094791&r2=1094792&view=diff
==============================================================================
--- pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java (original)
+++ pivot/trunk/core/src/org/apache/pivot/beans/BeanAdapter.java Mon Apr 18 22:08:52 2011
@@ -21,6 +21,8 @@ import java.lang.reflect.InvocationTarge
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.Type;
+import java.math.BigDecimal;
+import java.math.BigInteger;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Iterator;
@@ -862,7 +864,9 @@ public class BeanAdapter implements Map<
}
} else {
// Coerce the value to the requested type
- if (type == Boolean.class
+ if (type == String.class) {
+ coercedValue = value.toString();
+ } else if (type == Boolean.class
|| type == Boolean.TYPE) {
coercedValue = Boolean.parseBoolean(value.toString());
} else if (type == Character.class
@@ -910,8 +914,18 @@ public class BeanAdapter implements Map<
} else {
coercedValue = Double.parseDouble(value.toString());
}
- } else if (type == String.class) {
- coercedValue = value.toString();
+ } else if (type == BigInteger.class) {
+ if (value instanceof Number) {
+ coercedValue = new BigInteger(((Number)value).toString());
+ } else {
+ coercedValue = new BigInteger(value.toString());
+ }
+ } else if (type == BigDecimal.class) {
+ if (value instanceof Number) {
+ coercedValue = new BigDecimal(((Number)value).toString());
+ } else {
+ coercedValue = new BigDecimal(value.toString());
+ }
} else {
throw new IllegalArgumentException("Unable to coerce " + value.getClass().getName()
+ " to " + type + ".");
Modified: pivot/trunk/core/test/org/apache/pivot/beans/test/BeanAdapterTest.java
URL: http://svn.apache.org/viewvc/pivot/trunk/core/test/org/apache/pivot/beans/test/BeanAdapterTest.java?rev=1094792&r1=1094791&r2=1094792&view=diff
==============================================================================
--- pivot/trunk/core/test/org/apache/pivot/beans/test/BeanAdapterTest.java (original)
+++ pivot/trunk/core/test/org/apache/pivot/beans/test/BeanAdapterTest.java Mon Apr 18 22:08:52 2011
@@ -24,6 +24,7 @@ import java.io.StringWriter;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.MathContext;
+import java.util.Date;
import java.util.Random;
import org.apache.pivot.json.JSONSerializer;
@@ -45,12 +46,14 @@ public class BeanAdapterTest {
@BeforeClass
public static void setUpClass() throws Exception {
+ System.out.println(BeanAdapterTest.class.getName() + ": Starting tests at " + new Date());
rnd = new Random();
}
@AfterClass
public static void tearDownClass() throws Exception {
rnd = null;
+ System.out.println(BeanAdapterTest.class.getName() + ": Ending tests at " + new Date());
}
@Before
@@ -75,7 +78,7 @@ public class BeanAdapterTest {
System.out.println("testSerializeBigDecimal");
double random_double = rnd.nextDouble();
- System.out.println("random_double = " + random_double);
+ System.out.println("random_double = " + random_double + " (value will be truncated to 4 digits in this test)");
src_test.setBd(new BigDecimal(random_double, new MathContext(4)));
@@ -88,7 +91,7 @@ public class BeanAdapterTest {
}
System.out.println("json string from src_test = " + writer.toString());
- System.out.println("src_test.getBd() = " + src_test.getBd());
+ System.out.println("src_test.getBd() = " + src_test.getBd());
reader = new StringReader(writer.toString());
@@ -123,7 +126,7 @@ public class BeanAdapterTest {
}
System.out.println("json string from src_test = " + writer.toString());
- System.out.println("src_test.getBi() = " + src_test.getBi());
+ System.out.println("src_test.getBi() = " + src_test.getBi());
reader = new StringReader(writer.toString());
@@ -145,7 +148,7 @@ public class BeanAdapterTest {
System.out.println("testSerializeString");
String value = "A test String";
- System.out.println("value = \"" + value + "\"");
+ System.out.println("String value = \"" + value + "\"");
src_test.setString(value);
@@ -158,7 +161,7 @@ public class BeanAdapterTest {
}
System.out.println("json string from src_test = " + writer.toString());
- System.out.println("src_test.getString() = \"" + src_test.getString() + "\"");
+ System.out.println("src_test.getString() = \"" + src_test.getString() + "\"");
reader = new StringReader(writer.toString());