OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sdo message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [sdo] ISSUE 165: Define behavior of DataObject.delete wrt ChangeSummary


Hi Ron,

Based on the following statement, I never interpreted this as a means of implementing a pool of DataObjects, rather I took it to mean that I can put this deleted object back in the graph and it is now a modified rather than a deleted object (it maintains its object identity).  In other words a deleted object is not a dead object.

"A deleted DataObject can be used again, have its values set, and again be added into the data graph."

If this statement was removed, does that mean we need to guard against deleted objects being put back in the graph?  Possibly throwing an exception, this would be a backwards compatibility issue.

-Blaise

Barack, Ron wrote:
1BC7B594EE497146B0CFF2F493B6823406C6D07382@DEWDFECCR02.wdf.sap.corp" type="cite">
RAISED BY: Ron

ChangeSummary is defined as a diff between the state of the graph when beginLogging was called, and the state when endLogging was called. The API used to modify the graph does not enter into the the definition.

Users that call DataObject.delete expect for the object to be represented in the change summary as a deleted object. Usually, that is what they get. But the description of the delete method seems to suggest that delete is rather more intended for implementing a pool of DataObjects, that are freed and later re-used in the graph. If delete is used in this way, it is possible that the "deleted" object appears as a modified object in the change summary.

PROPOSAL:
The utility of implementing object pools is questionable to say the least. It seems more reasonable to say that the delete method is intended to indicate the object should be deleted...as opposed to detach, which is a step towards moving the object.
 
 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]