Issue 10998: DDS DLRL Issue: Clarify behavior of a Composition (data-distribution-rtf) Source: OCI (Mr. Donald Busch, busch_d(at)ociweb.com) Nature: Uncategorized Issue Severity: 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. Resolution: Revised Text: Actions taken: May 9, 2007: received issue Discussion: End of Annotations:===== il-OSG: ce6Xh9QVM1mfWxYXlWerY9pEjOcolkCe5H8b5b1v.ADUZANJhfREiVnAwArnag8VE.mDpbL0o21a1NWIjdIafsRIJiFT5f_245iTUDaRDOS9SaNQKN0- Date: Wed, 09 May 2007 13:45:52 -0500 From: Don Busch User-Agent: Thunderbird 1.5.0.10 (Windows/20070221) To: issues@omg.org Subject: DDS DLRL Issue: Clarify behavior of a Composition 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. -- ---------------------------------------------------------------- Don Busch, Principal Software Engineer and Partner Object Computing, Inc. (OCI) http://www.ociweb.com http://www.theaceorb.com http://jacorb.ociweb.com "Never let what you can't do get in the way of what you can do." - John Wooden ---------------------------------------------------------------- smime17.p7s