I introduced an IsShim interface that all AutoBean shims (whether
generated or VM proxies) implement to get the associated AutoBean back,
instead of using WeakMapping.
WeakMapping is now only used when the key is a wrapped object. This
still causes a leak if the developer fails to unwrap() the object. It
probably should be documented but I didn't add such documentation.

I had class-loading issues in Proxy.newProxyInstance (IsShim not
accessible from the intf.getClassLoader()) so I changed classloaders to
the context class loader (similar to the changes done in
RequestFactory's ServiceLayerDecorators).

I then had IllegalAccessExceptions (proxy interfaces not accessible from
the generated proxy class) so I had to change all nested interfaces to
'public'.

FYI, I ran the equivalent of "ant
-Dgwt.junit.testcase.includes='**/AutoBean*Suite.class,**/RequestFactory*Suite.class'
test.dev test.web" to validate the absence of regression.

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

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

Reply via email to