DDS DLRL Issue: Clarify behavior of a Composition
-
Key: DDSDLRL-2
-
Legacy Issue Number: 10998
-
Status: closed
-
Source: OCI ( Don Busch)
-
Summary:
Add a new subsection:
8.1.3.2.3 Compositions
o A composition implies cascading deletion. When the owning object is deleted, the composed (i.e. owned) object is also deleted. When the owning object is deleted, its composed objects must also be present in the same CacheAccess so they too can be deleted. Failure to do this will result in a PreconditionNotMet exception on the ObjectRoot::destroy() call.
o A composed (i.e. owned) object may only have one owner. Any attempt to set an owned ObjectRoot on two different owning object will result in a PreconditionNotMet exception
Modify 8.1.6.3.14 ObjectRoot, by adding to the descriptions of the relevant operations:
destroy: If the object has composition relations, all composed objects must be present in the CacheAccess. Otherwise, a PreconditionNotMet is thrown.
set_attribute: If the attribute is a composition relation, the composed object must not be owned by any other object. Otherwise, a PreconditionNotMet is thrown.
-
Reported: DDS 1.2 — Wed, 9 May 2007 04:00 GMT
-
Disposition: Deferred — $issue.fixedSpecification.name
-
Disposition Summary:
-
Updated: Mon, 12 Feb 2018 19:07 GMT