On Monday, June 20, 2011 7:44:56 PM UTC+2, Ryan McFall wrote:
>
> I haven't changed the collection, and SurveyProxy is an EntityProxy, 
> not a value proxy.  Here's the code from SimpleRequestProcessor that 
> handles this: 
> public boolean visitReferenceProperty(String propertyName, AutoBean<?> 
> value, PropertyContext ctx) { 
>   // containsKey to distinguish null from unknown 
>   if (flatValueMap.containsKey(propertyName)) { 
>     Class<?> elementType = ctx instanceof CollectionPropertyContext ? 
> ((CollectionPropertyContext) ctx).getElementType() : null; 
>     Object newValue = EntityCodex.decode(state, ctx.getType(), 
> elementType, flatValueMap.get(propertyName)); 
>     Object resolved = state.getResolver().resolveDomainValue 
> (newValue, false); 
>     service.setProperty(domain, propertyName, 
> service.resolveDomainClass(ctx.getType()), resolved); 
>   } 
>   return false; 
> } 
>
> There's nothing here that checks whether the collection has been 
> changed.  So unless this is supposed to happen on the client side (so 
> that the survey permissions object doesn't exist in the payload at 
> all, and therefore doesn't get visited), I don't see any way for this 
> to happen.  Should client side code be handling this?


Absolutely! That's one of the features of RequestFactory to only send diffs 
from client to server.
 

> I can debug 
> through there and try to figure out what's happening if need be.


It might be 
http://code.google.com/p/google-web-toolkit/issues/detail?id=5952

But I still believe you should (independently of RequestFactory) rewrite 
your setter, otherwise the issue will surface later as some other code will 
call it.

-- 
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/-/XZZ4d-6xxE0J.
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