cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Huss <johnth...@gmail.com>
Subject Re: Child Contexts
Date Thu, 05 Sep 2013 14:04:26 GMT
You aren't creating the child context correctly.  I don't recall the proper
way to do it in 3.1+


On Thu, Sep 5, 2013 at 8:11 AM, Markus Reich <markus.reich@markusreich.at>wrote:

> ah ok, thx!
>
> But I still don't understand the whole thing :-(
>
> No the test reacts like this
>
>   @Test
>   public void testChildContext() {
>     // create test instance
>     MiiPickingcontainer container =
> MiiPickingcontainer.createInstance(context, "9999", "9999", "JUNIT");
>     context.commitChanges();
>
>     Assert.assertEquals(0, context.modifiedObjects().size());
>     ObjectContext childContext = runtime.newContext(context.getChannel());
>     // move object to child context
>     container = childContext.localObject(container);
>     container.setStatusid(330);
>     Assert.assertEquals(0, context.modifiedObjects().size());
>     Assert.assertEquals(1, childContext.modifiedObjects().size());
>     // commit childcontext
>     childContext.commitChangesToParent();
>     Assert.assertEquals(0, context.modifiedObjects().size());
>     Assert.assertEquals(0, childContext.modifiedObjects().size());
>  }
>
> and I thought the commitChangesToParent() moves the object from child to
> parent context? So after the commitToParent() the data is written and
> committed to db?
>
> regards
> Meex
>
>
>
> 2013/9/5 John Huss <johnthuss@gmail.com>
>
> > You have to assign the result of localObject.
> >
> > John
> > On Sep 5, 2013 12:59 AM, "Markus Reich" <markus.reich@markusreich.at>
> > wrote:
> >
> > > Hi,
> > >
> > > I've a question concering child contexts, when I add an object to a
> child
> > > context with method localObject, I thought the object is really from
> > parent
> > > to child context?
> > >
> > > But when I run the following JUnit Test, it doesn't fail, although it
> > > should?
> > >
> > >   @Test
> > >   public void testChildContext() {
> > >     // create test instance
> > >     MiiPickingcontainer container =
> > > MiiPickingcontainer.createInstance(context, "9999", "9999", "JUNIT");
> > >     context.commitChanges();
> > >
> > >     Assert.assertEquals(0, context.modifiedObjects().size());
> > >     ObjectContext childContext =
> > runtime.newContext(context.getChannel());
> > >     // move object to child context
> > >     childContext.localObject(container);
> > >     container.setStatusid(330);
> > >     Assert.assertEquals(1, context.modifiedObjects().size());
> > >     Assert.assertEquals(0, childContext.modifiedObjects().size());
> > >     // commit childcontext
> > >     childContext.commitChangesToParent();
> > >     Assert.assertEquals(1, context.modifiedObjects().size());
> > >     Assert.assertEquals(0, childContext.modifiedObjects().size());
> > >
> > >     // clean up
> > >     context.deleteObjects(container);
> > >     context.commitChanges();
> > >   }
> > >
> > > I'm using Cayenne 3.2M1
> > >
> > > kind regards
> > >
> > > Meex
> > >
> >
>
>
>
> --
> *Markus Reich*
> Moosbach 28/2
> 6392 St. Jakob i.H.
> www.markusreich.at / www.meeximum.at
> markus.reich@markusreich.at
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message