[JIRA] Created: (CAY-797) Lifecycle callbacks *CallbackInterceptor concept introduces problems for testing equality of contexts

From: Lachlan Deck (JIRA) ("Lachlan)
Date: Tue Jun 05 2007 - 03:40:28 EDT

  • Next message: Andrus Adamchik: "Re: [JIRA] Created: (CAY-797) Lifecycle callbacks *CallbackInterceptor concept introduces problems for testing equality of contexts"

    Lifecycle callbacks *CallbackInterceptor concept introduces problems for testing equality of contexts
    -----------------------------------------------------------------------------------------------------

                     Key: CAY-797
                     URL: https://issues.apache.org/cayenne/browse/CAY-797
                 Project: Cayenne
              Issue Type: Bug
              Components: Cayenne Core Library
        Affects Versions: 3.0
             Environment: 3.0-prerelease svn 523667
                Reporter: Lachlan Deck
                Assignee: Andrus Adamchik

    Say you create a callback intercepted context as described here (http://cayenne.apache.org/doc/lifecycle-callbacks.html), or as in my case created a subclass of ObjectContextCallbackInterceptor to wrap these concepts.

    ObjectContext myContext = new CallbackInterceptedContext();
    Object a = myContext.newObject(SomeClass.class);
    Object b = myContext.newObject(SomeClass.class);

    myContext.equals( a.getObjectContext() ); // false (unless I override equals to provide a better test)
    a.getObjectContext().equals( myContext ); // false
    a.getObjectContext() == myContext; // false
    a.getObjectContext().equals( b.getObjectContext() ); // true

    So this gets a little messy having to essentially test in the correct direction. Now, I understand why this occurs (because the CallbackIntercepting essentially provides a proxy context for the context it contains) but it seems to me that this leads to some difficulties like the above that could possibly be more easily overcome were both DataContext and CayenneContext to implement callback intercepting directly.

    Thoughts?

    -- 
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
    



    This archive was generated by hypermail 2.0.0 : Tue Jun 05 2007 - 03:41:02 EDT