overriding setPersistentState() in unreliable in three tier environment with CayenneContext
-------------------------------------------------------------------------------------------
Key: CAY-653
URL: http://issues.apache.org/cayenne/browse/CAY-653
Project: Cayenne
Type: Bug
Components: Cayenne Core Library
Versions: 1.2 [STABLE]
Reporter: Ari Maniatis
After looking at the source for CayenneContext.newObject (and non-public CayenneContext.createNewObject) it seems 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.
Perhaps a delegate such as EOF's awakeFromInsertion() would be ideal. This would hook in as the very last thing CayenneContext.createNewObject() does before returning and would avoid users having to subclass the context.
-- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/cayenne/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
This archive was generated by hypermail 2.0.0 : Tue Sep 12 2006 - 09:43:27 EDT