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

Reply via email to