cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Markus Reich <markus.re...@markusreich.at>
Subject Re: Child Contexts
Date Thu, 05 Sep 2013 13:11:30 GMT
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