Fix problems with outdated items/collections in monitor cache
All monitors of a process register at the ChangeMediator singleton now and the ChangeMediator provides API to the Item/CollectionModifyJob to mark an item or collection as modified. The ChangeMediator will trigger all registered monitors to invalidate thos item/collection in their cache. This fixes the following scenario: Client A executes a modify job, followed by a move job. The parent resource of the item/collection handles the modification in its itemChanged() method and propably adapts the remote id. Afterwards, the itemMoved() method of the resource is called, however the passed item contains the cached item from the monitor and not the updated on with the new remote id. By invalidating the item/collection cache in the monitor on every successfull item/collection modify job ensures that the monitor always provides the up-to-date data to the resource.
parent
994ec275
Please register or sign in to comment