cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: Regarding CAY-1714
Date Mon, 16 Jul 2012 11:42:06 GMT
Yes, the API would be the same... 

But good point on usability. We had rather transparent API before, and then replaced it with
what we have now :)

The reason for this change was to avoid storing context factory and any other stack singletons
in an ObjectContext instance (be it DataContext or CayenneContext). As ObjectContext is serializable,
having lots of extra "services" as ivars made bootstrapping it back to the stack on deserialization
a rather painful operation. So in order to streamline that process, some of the earlier conveniences
were sacrificed. 

If you think of CayenneRuntime as a "factory of everything" it may not look so confusing actually...
Also maybe we can add a convenience method CayenneRuntime.getContext(ObjectContext) to avoid
a cast. 

Also "getContext(DataChannel)" javadoc is mindlessly cloned from "getContext()" without explaining
the difference and needs to be fixed :)

Andrus


On Jul 16, 2012, at 2:28 PM, Dzmitry Kazimirchyk wrote:

> What about next level of nesting...
> 
> ObjectContext nestedChild = runtime.getContext((DataChannel) clientContextChild);
> 
> This approach doesn't seem handy or obvious. Is there a better way?
> 
> Dima
> 
> 
> On 07/16/2012 02:11 PM, Andrus Adamchik wrote:
>> The API was refactored, but the nested contexts feature is of course still present.
Right now you'd create a client nested context using ClientRuntime:
>> 
>> ClientRuntime runtime = ..
>> ObjectContext clientContextChild = runtime.getContext(clientContext);
>> 
>> Andrus
>> 
>> On Jul 16, 2012, at 1:00 PM, Eshan Sudharaka wrote:
>> 
>>> Hi,
>>> I was trying to reproduce the issue CAY-1714 and it seems that following
>>> operation is now invalid. (since CayenneContext has mo such method
>>> declaration)
>>> 
>>> ObjectContext clientContext = this.clientContext.createChildContext();
>>> 
>>> So is this bug is fixed  now ?
>>> 
>>> -- 
>>> *~Thanks & Regards~*
>>> ***
>>> *
>>> Eshan
> 
> 
> 


Mime
View raw message