[JIRA] Created: (CAY-547) Deleting new objects leaves null object in context.

From: Marcin Skladaniec (JIRA) ("Marcin)
Date: Sun May 14 2006 - 04:35:35 EDT

  • Next message: Marcin Skladaniec: "Re: [JIRA] Created: (CAY-547) Deleting new objects leaves null object in context."

    Deleting new objects leaves null object in context.
    ---------------------------------------------------

             Key: CAY-547
             URL: http://issues.apache.org/cayenne/browse/CAY-547
         Project: Cayenne
            Type: Bug

      Components: Cayenne Core Library
        Versions: 1.2 [BETA]
     Environment: Cayenne 3t.
        Reporter: Marcin Skladaniec
        Priority: Minor

    to reproduce this bug:

    Persistent someObject = (Persistent) context.newObject(someClass);
    context.deleteObject(someObject);
    Collection collection = context.uncommittedObjects();

    collection will contain a null object.

    The reason of that is that there are two references to (persistent) objects in context kept at all times. One is in GraphMap, and second is in GraphMap subclass CayenneContextGraphManager in stateLog field.
    I have not found that GraphMap is used to keep reference to all PersistentObjects in context as a whole objects.
    CayenneContextGraphManager is used rather for keeping atomic changes, and later for sending only those to the server. From what I found it looks like there is no mechanism for removing those atomic changes from stateLog. It is very simple, when object is created/modified/deleted it has to affect the database, so after any operation objectId is added to dirtyNodes. But there is one case when this behaviour is not right, that is when reverting some changes, like deleting a new object.

    -- 
    This message is automatically generated by JIRA.
    -
    If you think it was sent incorrectly contact one of the administrators:
       http://issues.apache.org/cayenne/secure/Administrators.jspa
    -
    For more information on JIRA, see:
       http://www.atlassian.com/software/jira
    



    This archive was generated by hypermail 2.0.0 : Sun May 14 2006 - 04:36:05 EDT