Revision: 8501
Author: [email protected]
Date: Fri Aug 6 14:02:08 2010
Log: Treat undefined Record properties on JSOs as nulls
Review at http://gwt-code-reviews.appspot.com/744801
Review by: [email protected]
http://code.google.com/p/google-web-toolkit/source/detail?r=8501
Modified:
/trunk/user/src/com/google/gwt/valuestore/shared/impl/RecordJsoImpl.java
/trunk/user/test/com/google/gwt/valuestore/shared/impl/RecordJsoImplTest.java
=======================================
---
/trunk/user/src/com/google/gwt/valuestore/shared/impl/RecordJsoImpl.java
Wed Aug 4 22:08:44 2010
+++
/trunk/user/src/com/google/gwt/valuestore/shared/impl/RecordJsoImpl.java
Fri Aug 6 14:02:08 2010
@@ -83,12 +83,12 @@
// assert isDefined(property.getName()) :
// "Cannot ask for a property before setting it: "
// + property.getName();
- if (isNull(property.getName())) {
+ if (isNullOrUndefined(property.getName())) {
return null;
}
try {
if (Boolean.class.equals(property.getType())) {
- return (V) Boolean.valueOf((String) get(property.getName()));
+ return (V) Boolean.valueOf(getBoolean(property.getName()));
}
if (Byte.class.equals(property.getType())) {
return (V) Byte.valueOf((byte) getInt(property.getName()));
@@ -189,8 +189,8 @@
/**
* @param name
*/
- public final native boolean isNull(String name)/*-{
- return this[name] === null;
+ public final native boolean isNullOrUndefined(String name)/*-{
+ return this[name] == null;
}-*/;
public final boolean merge(RecordJsoImpl from) {
@@ -299,6 +299,10 @@
return @java.util.Date::createFrom(D)(millis);
}-*/;
+ private native boolean getBoolean(String name) /*-{
+ return this[name];
+ }-*/;
+
private native double getDouble(String name) /*-{
return this[name];
}-*/;
=======================================
---
/trunk/user/test/com/google/gwt/valuestore/shared/impl/RecordJsoImplTest.java
Fri Jul 30 17:29:09 2010
+++
/trunk/user/test/com/google/gwt/valuestore/shared/impl/RecordJsoImplTest.java
Fri Aug 6 14:02:08 2010
@@ -122,6 +122,8 @@
}
assertEquals((Long) 42L, jso.getId());
assertEquals(new Integer(1), jso.getVersion());
+ assertEquals(null, jso.get(SimpleFooRecord.longField));
+ assertEquals(null, jso.get(SimpleFooRecord.enumField));
testSchema(jso, schemaPresent);
}
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors