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.