To understand clearly the issue, here is the failing use case with the Expenses.roo sample :
- Create a new Employee
- Create a new Report with selecting the previously created employee as reporter
- Edit the Report and doesnt modify anything
- Click on Cancel or on another menu entry => A confirmation dialogbox appears with "Are you sure you want to abandon your changes?"
Roo relies on the RequestContext.isChanged method that returns TRUE whereas no change has been done.
When digging a little bit more, the AutobeanUtils.diff(x,y) detects a change on the field 'reporter', the equality being delegated to EntityProxyCategory.equals. 2 entityProxy are considered equals if they have the same stableId (normal!) and hosted by the same requestContext.
For our issue, the stableId are the same but the requestContext are not the same, as the old entityProxy has a requestContext = NULL (!) whereas the new one has a requestContext not null.
I dont know if this a Roo pb of requestContext handling or a GWT pb, but anyway the GWT support of Roo is not complete and not usable for a production env.
I would like also to point to a GWT ticket I have opened 15 days ago and that also impacts the GWT support of Roo : http://code.google.com/p/google-web-...detail?id=5952


Reply With Quote
