I've applied the same technique to makePayloadOperations to slightly
reduce the request payload size (by removing false-positives in property
changes), as it's causing issues in our app.
It still, IMO, sends too many things in a request (every proxy
referenced by another proxy, even if not touched at all –because of the
auto-edit done in cloneBeanAndCollections–, this can cause huge payloads
for ValueProxy, and leads to unnecessary work done on the server-side
–reconstruct the proxy, validate it, and throw it away–, which could
possibly impact the billing on AppEngine or other similarly-billed
hosting).

BTW, the only alternative I can think of to this "nullify
request-context state before diff'ing" approach would be to pass an
Equivalence (similar to Guava's Equivalence) to AutoBeanUtils.diff() so
we could compare entity-proxies solely by their stableId. It means
collections could no longer be compared using equals() but would have to
use the sameOrEquals() "deep-equality" path.

http://gwt-code-reviews.appspot.com/1601806/

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to