I think we should treat this as a bug. The core issue is that when an object that has not been instantiated by the DataContext is being registered, we need to traverse its properties and create appropriate arc diffs.

I'll be working on fixing this anyways, but I'd appreciate if you log this to Jira and assign to me.

Andrus


On May 4, 2006, at 5:37 PM, Kevin Menard wrote:

Andrus,

Were you able to give this any consideration yet? I know you've been busy with the JPA stuff, so if not, it's understandable.

If my comments weren't clear enough in the test case what appears to be happening is that given objects A, B, & C, where A's class has relationships with both the classes of B & C:

1) Set up relationship between A & B, where at least one is registered with a given DC.
        -- Relationship is set up fine in the object store

2) Unregister A.
        -- All relationships with A are removed from the object store
-- If you call A.getB(), you get B, even though the object store has a null value for that relationship

3) Set up relationship between A & C.
        -- A is auto-registered with C's context
        -- Object store is updated with relationship between A & C
        -- Object store is not updated with relationship between A & B

4) Commit A.
-- Relationship between A & C is persisted while the one between A & B is not
        -- A still thinks it has established relationships with B & C.

Hopefully that made sense.

--
Kevin

On Wed, 03 May 2006 09:59:03 -0400, Kevin Menard <[EMAIL PROTECTED]> wrote:

Okay, test has been committed to org.objectstyle.cayenne.access.ObjectStoreTst. If you agree that it's an issue, I'll file a JIRA issue. Regardless of whether I'm doing something wrong in my workflow, I think Cayenne is still behaving improperly in reporting and recording different object graphs.





Reply via email to