LGTM.
http://gwt-code-reviews.appspot.com/1601806/diff/1015/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java File user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java (right): http://gwt-code-reviews.appspot.com/1601806/diff/1015/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java#newcode624 user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java:624: * resolving property values, won't automatically edit proxies that weren't On 2012/04/10 11:15:27, tbroyer wrote:
On 2012/04/09 15:12:50, rdayal wrote: > I'm an autobean newbie, but shouldn't we change the diffing
algorithm so that
it > doesn't actually cause edits to proxies? I mean, when you a do a
diff, that
> should never happen, right?
The problem is that autobean has no notion of read only vs. editable
beans.
That's something specific to proxies and request factory, where
getting a
property (including from a visitor) will automatically edit its value
if it's a
proxy.
Ugh. Ok, then we probably need to fix something with respect to getting a property from a proxy - I wonder why getting a value from a proxy implies an edit? Anyway, I'm just musing to myself here - whenever we have to do tricks like this, it seems that there's an underlying problem in the API. http://gwt-code-reviews.appspot.com/1601806/diff/9001/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java File user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java (right): http://gwt-code-reviews.appspot.com/1601806/diff/9001/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java#newcode622 user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java:622: setEditedProxiesMutable(false); Nice, I like this. http://gwt-code-reviews.appspot.com/1601806/diff/9001/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java#newcode1281 user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java:1281: assert bean.getTag(REQUEST_CONTEXT_STATE) == expectedState; Nit: put parens around the assert expression. http://gwt-code-reviews.appspot.com/1601806/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors