| Summary: | XRefExcluder does not use adjusted list indexes | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Eike Stepper <stepper> | ||||
| Component: | cdo.core | Assignee: | Eike Stepper <stepper> | ||||
| Status: | CLOSED FIXED | QA Contact: | Eike Stepper <stepper> | ||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | michael | ||||
| Version: | 4.0 | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows 7 | ||||||
| Whiteboard: | offline-01 | ||||||
| Attachments: |
|
||||||
|
Description
Eike Stepper
Aligning the incoming XRefs from the store accessor with the feature deltas of the ongoing commit is not only a hazzle (indexes would need to be adjusted). Rather it's not possible in all cases, as in the case of a REPLACE, i.e. a set(index, CDOID), because we can not deduce the old value from the delta. Consequently I've removed the whole XRefExcluder (which used to do this alignment). Instead I've deferred the call to checkXRefs() until after computeDirtyObjects() has been called. This way the dirtyObjects can be used instead of the XRef data passed in from the store accessor. Created attachment 177720 [details]
Patch - for future reference
Committed to HEAD Available in R20110608-1407 |