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
>
>

Reply via email to