LGTM On Fri, Aug 6, 2010 at 3:58 PM, <[email protected]> wrote:
> Reviewers: amitmanjhi, > > Description: > Treat undefined Record properties on JSOs as nulls > > > Please review this at http://gwt-code-reviews.appspot.com/744801/show > > Affected files: > M user/src/com/google/gwt/valuestore/shared/impl/RecordJsoImpl.java > M user/test/com/google/gwt/valuestore/shared/impl/RecordJsoImplTest.java > > > Index: user/src/com/google/gwt/valuestore/shared/impl/RecordJsoImpl.java > =================================================================== > --- user/src/com/google/gwt/valuestore/shared/impl/RecordJsoImpl.java > (revision 8500) > +++ user/src/com/google/gwt/valuestore/shared/impl/RecordJsoImpl.java > (working copy) > @@ -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]; > }-*/; > Index: > user/test/com/google/gwt/valuestore/shared/impl/RecordJsoImplTest.java > =================================================================== > --- user/test/com/google/gwt/valuestore/shared/impl/RecordJsoImplTest.java > (revision 8500) > +++ user/test/com/google/gwt/valuestore/shared/impl/RecordJsoImplTest.java > (working copy) > @@ -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
