[ https://issues.apache.org/jira/browse/ISIS-1396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15314100#comment-15314100 ]
ASF subversion and git services commented on ISIS-1396: ------------------------------------------------------- Commit da3f1ecee896c88559019e98b863f0d062980798 in isis's branch refs/heads/maintenance-1.12.x from [~danhaywood] [ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=da3f1ec ] ISIS-1396: detaching an EntityModel should cascade the detach to all child property ScalarModels. > Some elements on an entity page can be rendered against stale data. > ------------------------------------------------------------------- > > Key: ISIS-1396 > URL: https://issues.apache.org/jira/browse/ISIS-1396 > Project: Isis > Issue Type: Bug > Components: Core > Affects Versions: 1.12.1 > Reporter: Dan Haywood > Assignee: Dan Haywood > Priority: Minor > Fix For: 1.12.2 > > > In the contactapp (github.com/incodehq/contactapp), if edit a ContactGroup, > then the Country title/icon are shown as null. This seems to be because they > are being rendered against a stale version of the ContactGroup, ie after the > JDO transaction has completed. > Two different fixes. > The first would seem to be to move the stuff that builds the EntityPage > component hierarchy out of the EntityPage constructor and into the > EntityPage's onBeforeRender() method. > This works, but does solve the underlying issue. Talking with martin-g, he > says this ought not to be necessary and pointed to a possible issue with the > EntityModel (impl of LoadableDetachableModel). > Further investigation shows that this is indeed where the issue is. > EntityModel holds a lazily-populated cache of ScalarModels, keyed by > property(Id). This is not cleared down on detach, meaning that a subsequent > rendering of the property containing the reference to the country is using a > stale ObjectAdapter (never detached) that refers to a pojo that was reset at > the end of the preceding transaction. -- This message was sent by Atlassian JIRA (v6.3.4#6332)