Yeah, I am leaning towards merging the callback code into the base
context... The ability to proxy an ObjectContext is very nice, but it
changes a few standard Cayenne assumptions about the object context.
I guess for such fundamental functionality like callbacks, we
shouldn't be doing that.
Andrus
On Jun 5, 2007, at 10:40 AM, Lachlan Deck (JIRA) wrote:
> 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 - 04:39:49 EDT