Background

The introduction of change summaries as properties of data objects is likely to require some special behaviour on the part of agents which operate on them. For example, CopyHelper and EqualityHelper.

Objective

Pick out the elements of the 2.1 spec that relate to definition of behaviour; identify the gaps; raise discussions on grey areas; define our implementation behaviour; identify behaviour deficiencies; feed back conclusions to spec group.


Relevant Spec Sections

Working from 2.1 FINAL PDF version
sect 3.3 P26
General Change Summary Stuff, but nothing very relevant.

sect 3.9.3 P44; Shallow Copies
If a ChangeSummary is part of the source DataObject then the copy has a new, empty ChangeSummary. The logging state of the new ChangeSummary is the same as the source ChangeSummary.

sect 3.9.4 P44; Deep Copies
If a ChangeSummary is part of the copy tree then the new ChangeSummary refers to objects in the new DataObject tree. The logging state is the same as for the source ChangeSummary.

sect 3.10.2 P45; EqualityHelper Methods

The definition of the term compared in this context may be found outside the spec, in the javadoc of the interface files.

Implementation Deficiencies

Copying: Currently the eAttribute which holds the change summary impl is copied by the line

   1           copyEObject.eSet(getTarget(eAttribute), eObject.eGet(eAttribute));

in EcoreUtil.Copier.copyAttribute (line 587 as on 20070108) which is clearly no good, since the two objects now share a ChangeSummaryImpl

Tuscany/TuscanyJava/SDO/ThinkingAloud/ChangeSummaryOperations (last edited 2009-09-20 22:47:44 by localhost)