Thanks for the help interpreting the JSON.  After I posted the
original message I noted that it looked like only objects referenced
in collections were being updated.

The interesting part of your description of how the diffs are built is
that I took the call to RequestContext#edit on the proxy out, to see
what would happen if I tried to save the original proxy object.  The
JSON string I posted actually came from doing that, so something is
definitely strange.  If I do execute the edit method, the generated
JSON is the same.

Do you know offhand in which class the diff is built, so that I can
look to see if the bug that you pointed out is indeed the source of
the problem?

Thanks,
Ryan


On Jun 20, 4:45 pm, Thomas Broyer <t.bro...@gmail.com> wrote:
> On Monday, June 20, 2011 9:08:31 PM UTC+2, Ryan McFall wrote:
>
> > Implementing the setSurveyPermissions method as you suggested seems to
> > have helped a bit.  However, I'm still a bit confused as to what the
> > client-side behavior I'm seeing should be.
>
> > As I mentioned, I retrieve and then send an object, and don't make any
> > modifications to the object on the client.  But when I look at the
> > operations in SimpleRequestProcessor.processOperationMessages, I see
> > the following as the result of the call to req.getOperations.
> > Basically, this looks like every object referenced by the Survey proxy
> > object is being sent over the network and some of them are marked as
> > needing update.  Am I right in that interpretation?
>
> Actually, only the "stable IDs" of the referenced objects are sent (T=type,
> S=server ID, they are IdMessage objects; top level objects –the ones with a
> "P" property and/or "UPDATE" operation– are OperationMessage).
> I interpret this as meaning it thinks the collection has changed, which
> could very well be a manifestation of the issue I already linked to.
>
> If so, I'm not sure why this is happening.  Does the client keep track
>
> > of method calls to determine what needs to be updated, or something
> > else?
>
> When you RequestContext#edit() a proxy, a mutable copy is created; and when
> you fire(), the diff is built by comparing with the immutable version (using
> AutoBeanUtils.diff that's mentionned in the issue report).
> I'm not sure what the UPDATE means here (I don't remember).

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to