I thought of that and tried it, but it's a new uninitialized object. Basically the code I find in Cayenne is creating a new object in the parent ec, then merging in changes. So when onPostAdd is called the object is brand new (no relationships set).
-Lon On Tue, Sep 1, 2015 at 3:40 AM, Andrus Adamchik <and...@objectstyle.org> wrote: > Yeah, I must admit it is a bit messy. We may need to redesign callback > logic in respect to the nested contexts. For now your most obvious solution > is to check for the object state within 'onPostAdd' before changing it > again. > > if(getSomeProperty() == null) { > // we haven't been called yet, so init the property > setSomeProperty(..); > } > > Andrus > > > On Sep 1, 2015, at 1:04 AM, Lon Varscsak <lon.varsc...@gmail.com> wrote: > > > > So I am having trouble because when I call commitChangesToParent on one > of > > my nested ECs, I'm getting onPostAdd called. So in my case, I'm using > > onPostAdd to "setup" my object by creating relationships and setting > > default values. However, it's getting called twice. Once when I create > > the object in the child context and once on the parent context (during > > commit). > > > > Any ideas on how to combat this? > > > > -Lon > >