[+BUGFIX] Extbase (Persistence): Fixed updating of related objects. Thanks to Björn...
authorJochen Rau <j.rau@web.de>
Tue, 25 Jan 2011 18:48:24 +0000 (18:48 +0000)
committerJochen Rau <j.rau@web.de>
Tue, 25 Jan 2011 18:48:24 +0000 (18:48 +0000)
commitceec16c92a631e92b32f3d13f386aedf695e78d7
treedfe43ba0e2088de6755bdfc62d2341bf38abfcf3
parent693a3c777fd7740e7fb5dd2f0eed1b74c77fa015
[+BUGFIX] Extbase (Persistence): Fixed updating of related objects. Thanks to Björn Steinbrück and Bastian Waidelich for digging into this issue. Resolves #9270, #9182, #10211.

This is the second attempt after having reverted the first one in r3920. The patch includes some clean-up. Important additional changes:
* The objects within an ObjectStorage are now added to the queue. This is necessary to persist changes made to those contained objects without having changed the composition of objects.
* Moved the _memorizeCleanState() from the AbstractEntity to the AbstractDomainObject. In theory ValueObjects are immutable, but we need this as sometimes ValueObjects are stored in two steps (1. to get a UID, 2. to persist its properties). Maybe we have to recheck this for 1.4.
* Fixed some possible problems with detecting an ObjectStorage (namely SplObjectStorage->getUid()).
typo3/sysext/extbase/Classes/DomainObject/AbstractDomainObject.php
typo3/sysext/extbase/Classes/DomainObject/AbstractEntity.php
typo3/sysext/extbase/Classes/Persistence/Backend.php