cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: Default/Initial values && post validation delegates etc
Date Tue, 12 Sep 2006 13:25:07 GMT
Hi Lachlan,

On Sep 11, 2006, at 10:08 PM, Lachlan Deck wrote:
> Okay - that's good to know.
>
> After looking at the source for CayenneContext.newObject (and non- 
> public CayenneContext.createNewObject) it seems to me that  
> overriding setPersistentState (as suggested: http:// 
> cwiki.apache.org/confluence/display/CAY/Setting+Initial+Values) is  
> a bad idea, esp for new objects. i.e., at the point of being NEW  
> the object's ValueHolder vars have not yet been initiated, it  
> doesn't yet have a handle on the context, it's global id has not  
> been set, and it's not been registered with the graph manager etc.  
> Simply put, bad stuff happens when messing with the objects  
> ValueHolder vars prior to all of this.

Hmm... This information on Wiki was posted in pre-remote-object- 
persistence days, referring to DataContext. Comparing the code with  
the same method in DataContext, the order of initialization is  
different between DataContext and CayenneContext.  I'd say this is a  
bug in Cayenne - let's log it in Jira.


> Last effort question is: does the following call within  
> createNewObject(ObjectId) create some sort of event that might  
> provide a hook-in point for when the object has been properly  
> created and inserted into a context? "graphManager.nodeCreated 
> (object.getObjectId());"

no, but aside from my comment above, you can always subclass a context.

Andrus



Mime
View raw message