I'm currently having 2 issues with "JsonRequestProcessor.validateKeys()". These requests are coming from updates that we want to perform on entities that are driven by EntityProxy.
The first issue is with inheritance. We have a base class for all our entities on the server side in order to not have to replicate common fields like the last update timestamp, the creation timestamp or even the container id. So, on the concrete Entity, there are no containerId field, but the client can send this data to the server in the update request. When this happens, we encounter an exception on the server. "Error: key containerId is not permitted to be set" It seems that the validator is not picking up properties coming from the inherited base entity class. getContainerId() and setContainerId() with proper signature are present on the concrete entity. The second issue we are getting is related to the same validation and is producing the same exception. We have transient functions in some entities to fill our needs. Let's take an example where the UserAccount has a birth date set on the entity, but we only want to expose the age of it when a client list these entities. We then have the proper getAge() function on UserAccount that is a transient property that we compute on the fly. When some changes are applied to a UserAccountEntityProxy from an Editor, we use RequestFactoryEditorDriver to drive the update which will carry this transient property back to the server. So, when validation occurs on this field, it will be rejected because "the key is not permitted to be set", which is true, but which we really don't care about. I can create a dummy setter and field to get passed the issue, but this is really annoying and misleading. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
