Ignoring __gwt_ObjectId in AbstractRequest#processRelated. The __gwt_ObjectId attribute is added by Chrome dev mode to all objects passed between JSNI and Java.
Review at http://gwt-code-reviews.appspot.com/760803
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@8608 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/requestfactory/client/impl/AbstractRequest.java b/user/src/com/google/gwt/requestfactory/client/impl/AbstractRequest.java
index 833fbb1..8cf92e8 100644
--- a/user/src/com/google/gwt/requestfactory/client/impl/AbstractRequest.java
+++ b/user/src/com/google/gwt/requestfactory/client/impl/AbstractRequest.java
@@ -79,10 +79,10 @@
/**
* @deprecated use {@link #with(String...)} instead.
* @param properties
- * @return
*/
+ @Deprecated
public R forProperties(Collection<Property<?>> properties) {
- for (Property p : properties) {
+ for (Property<?> p : properties) {
with(p.getName());
}
return getThis();
@@ -134,6 +134,8 @@
protected native void processRelated(JavaScriptObject related) /*-{
for(var recordKey in related) {
+ // Workaround for __gwt_ObjectId appearing in Chrome dev mode.
+ if (!related.hasOwnProperty(recordKey)) continue;
var schemaAndId = recordKey.split(/-/, 2);
var jso = related[recordKey];
this.@com.google.gwt.requestfactory.client.impl.AbstractRequest::setSchemaAndRecord(Ljava/lang/String;Lcom/google/gwt/requestfactory/client/impl/RecordJsoImpl;)(schemaAndId[0], jso);