I believe it's really supposed to happen the way it's documented in the
wiki.
Looking at it very closely, your request seems strange though: the
PrimaryObject ("S" : "IjEi", "T" : "AK9V76Rtc6gMKi9lbRBXpR_Vfsc="; note:
T=proxy type, S=server ID) references a "subobjectc" "S" : "IjEi", "T" :
"VJdvF9mvxcVn$KJmLjACkBkrjhw=" which we don't find in the top-level "O"
(operations) list. The instance of SubObjectC we find here has a different
ID: "S" : "IjIi".
In processOperationMessages, the flow is to load all the objects referenced
in the top-level "O" list (if you look into
com.google.web.bindery.requestfactory.shared.messages, this is the
List<OperationMessage> property of the RequestMessage) and then process
their "P" (property map, or using the same terms as in the wiki "all
accumulated operations"). When traversing the "subobjectc" property of the
loaded PrimaryObject, an EntityCodex.decode() is made that's supposed to
simply get the proxy out of the list of proxies previous decoded. In your
case though, it's referencing an object that's not yet been seen, so it
triggers the loadDomainObject code-path.
This is not supposed to happen as, on the client-side, as soon as you
edit() an object, you automatically edit() all referenced objects
recursively, and then when building the request, one OperationMessage is
made for each edited object (this is done in AbstractRequestContext). So
your S=IjEi SubObjectC should have been in the 'editedProxies' list and
should have resulted in an OperationMessage. On the server-side, it would
then have been loaded at the same time as other domain objects, and then
simply reused from the
"MySimpleRequestProcessor$1.visitReferenceProperty(String, AutoBean<?>,
PropertyContext) line: 547" instead of triggering a loadDomainObject.
Are you doing anything tricky on the client-side? If so, blame yourself,
but if you're only doing "standard" things, then please try to make a
reduced test case and file an issue.
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/google-web-toolkit/-/C0LigUJeLM4J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.