Reviewers: Ray Ryan,
Description:
Doubles can now be sent over the wire.
Patch by: amitmanjhi
Review by: rjrjr (desk review)
Please review this at http://gwt-code-reviews.appspot.com/503801/show
Affected files:
M
trunk/bikeshed/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java
M
trunk/bikeshed/src/com/google/gwt/valuestore/shared/impl/RecordJsoImpl.java
M trunk/bikeshed/war/WEB-INF/appengine-web.xml
Index:
trunk/bikeshed/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java
===================================================================
---
trunk/bikeshed/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java
(revision 8045)
+++
trunk/bikeshed/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java
(working copy)
@@ -542,6 +542,17 @@
if (idValue.getClass() == String.class && idType == Long.class) {
return new Long((String) idValue);
}
+ if (idType == Double.class) {
+ if (idValue.getClass() == Integer.class) {
+ return new Double((Integer) idValue);
+ }
+ if (idValue.getClass() == Long.class) {
+ return new Double((Long) idValue);
+ }
+ if (idValue.getClass() == Float.class) {
+ return new Double((Float) idValue);
+ }
+ }
throw new IllegalArgumentException("id is of type: " +
idValue.getClass()
+ ", expected type: " + idType);
}
Index:
trunk/bikeshed/src/com/google/gwt/valuestore/shared/impl/RecordJsoImpl.java
===================================================================
---
trunk/bikeshed/src/com/google/gwt/valuestore/shared/impl/RecordJsoImpl.java
(revision 8045)
+++
trunk/bikeshed/src/com/google/gwt/valuestore/shared/impl/RecordJsoImpl.java
(working copy)
@@ -77,6 +77,9 @@
return (V) Integer.valueOf(getInt(property.getName()));
}
if (Double.class.equals(property.getType())) {
+ if (!isDefined(property.getName())) {
+ return (V) new Double(0.0);
+ }
return (V) Double.valueOf(getDouble(property.getName()));
}
if (Date.class.equals(property.getType())) {
@@ -158,6 +161,10 @@
if (value instanceof Date) {
double millis = (double) ((Date) value).getTime();
setDouble(property.getName(), millis);
+ return;
+ }
+ if (value instanceof Double) {
+ setDouble(property.getName(), (Double) value);
return;
}
throw new UnsupportedOperationException("Can't yet set properties of
type "
Index: trunk/bikeshed/war/WEB-INF/appengine-web.xml
===================================================================
--- trunk/bikeshed/war/WEB-INF/appengine-web.xml (revision 8045)
+++ trunk/bikeshed/war/WEB-INF/appengine-web.xml (working copy)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>gwt-bikeshed</application>
- <version>3</version>
+ <version>4</version>
<!-- Configure java.util.logging -->
<system-properties>
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors