Examples of UnidirTop


Examples of com.google.appengine.datanucleus.test.jdo.UnidirectionalSuperclassTableChildJDO.UnidirTop

    HasOneToManyList pojo = new HasOneToManyList();
    BidirTop bidir1 = new BidirMiddle();
    BidirTop bidir2 = new BidirBottom();
    BidirTop bidir3 = new BidirTop();

    UnidirTop unidir1 = newUnidir(UnidirLevel.Middle);
    UnidirTop unidir2 = newUnidir(UnidirLevel.Top);
   
    pojo.addBidirChild(bidir1);
    pojo.addBidirChild(bidir2);
    pojo.addBidirChild(bidir3);
    pojo.addUnidirChild(unidir1);
    pojo.addUnidirChild(unidir2);

    startEnd.start();
    pm.makePersistent(pojo);
    startEnd.end();

    startEnd.start();
    pojo = pm.getObjectById(HasOneToManyList.class, pojo.getId());
    bidir1 = pm.getObjectById(bidir1.getClass(), bidir1.getId());
    bidir2 = pm.getObjectById(bidir2.getClass(), bidir2.getId());
    bidir3 = pm.getObjectById(bidir3.getClass(), bidir3.getId());
    unidir1 = pm.getObjectById(unidir1.getClass(), unidir1.getId());
    unidir2 = pm.getObjectById(unidir2.getClass(), unidir2.getId());
    assertEquals(0, pojo.getBidirChildren().indexOf(bidir1));
    assertEquals(1, pojo.getBidirChildren().indexOf(bidir2));
    assertEquals(0, pojo.getUnidirChildren().indexOf(unidir1));
    assertEquals(1, pojo.getUnidirChildren().indexOf(unidir2));
    startEnd.end();
View Full Code Here

Examples of com.google.appengine.datanucleus.test.jdo.UnidirectionalSuperclassTableChildJDO.UnidirTop

 
  private void testInsert_NewParentAndChild_LongPk(StartEnd startEnd,
      BidirTopLongPk bidirChild, UnidirLevel unidirLevel, int count) throws EntityNotFoundException {
    bidirChild.setChildVal("yam");

    UnidirTop unidir = newUnidir(unidirLevel);
    String expectedStr = unidir.getStr();
    String expectedName = unidir.getName();

    HasOneToManyListLongPk parent = new HasOneToManyListLongPk();
    parent.addBidirChild(bidirChild);
    bidirChild.setParent(parent);
    parent.addUnidirChild(unidir);
    parent.setVal("yar");

    startEnd.start();
    pm.makePersistent(parent);
    startEnd.end();

    assertNotNull(bidirChild.getId());
    assertNotNull(unidir.getId());

    Entity bidirChildEntity = ds.get(KeyFactory.stringToKey(bidirChild.getId()));
    assertNotNull(bidirChildEntity);
    assertEquals(getEntityKind(BidirTopLongPk.class), bidirChildEntity.getKind());
    assertEquals(bidirChild.getClass().getName(), bidirChildEntity.getProperty("DISCRIMINATOR"));
    assertEquals("yam", bidirChildEntity.getProperty("childVal"));
    assertEquals(KeyFactory.stringToKey(bidirChild.getId()), bidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(parent.getClass(), parent.getId(), bidirChildEntity, bidirChild.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, bidirChildEntity.getProperty("bidirChildren_INTEGER_IDX"));
    }

    Entity unidirChildEntity = ds.get(KeyFactory.stringToKey(unidir.getId()));
    assertNotNull(unidirChildEntity);
    assertEquals(getEntityKind(UnidirTop.class), unidirChildEntity.getKind());
    int numProps = unidir.getPropertyCount();
    if (hasIndexPropertyInChild(pm)) {
      numProps += getIndexPropertyCount();
    }
    assertEquals(numProps, unidirChildEntity.getProperties().size());
    assertEquals(unidirLevel.discriminator, unidirChildEntity.getProperty("TYPE"));
    assertEquals(expectedStr, unidirChildEntity.getProperty("str"));
    assertEquals(expectedName, unidirChildEntity.getProperty("name"));
    assertEquals(KeyFactory.stringToKey(unidir.getId()), unidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(parent.getClass(), parent.getId(), unidirChildEntity, unidir.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, unidirChildEntity.getProperty("unidirChildren_INTEGER_IDX_longpk"));
    }

    Entity parentEntity = ds.get(KeyFactory.createKey(getEntityKind(parent.getClass()), parent.getId()));
View Full Code Here

Examples of com.google.appengine.datanucleus.test.jdo.UnidirectionalSuperclassTableChildJDO.UnidirTop

 
  private void testInsert_NewParentAndChild_StringPk(StartEnd startEnd,
      BidirTopStringPk bidirChild, UnidirLevel unidirLevel, String id, int count) throws EntityNotFoundException {
    bidirChild.setChildVal("yam");

    UnidirTop unidir = newUnidir(unidirLevel);
    String expectedStr = unidir.getStr();
    String expectedName = unidir.getName();

    HasOneToManyListStringPk parent = new HasOneToManyListStringPk();
    parent.setId(id);
    parent.addBidirChild(bidirChild);
    bidirChild.setParent(parent);
    parent.addUnidirChild(unidir);
    parent.setVal("yar");

    startEnd.start();
    pm.makePersistent(parent);
    startEnd.end();

    assertNotNull(bidirChild.getId());
    assertNotNull(unidir.getId());

    Entity bidirChildEntity = ds.get(KeyFactory.stringToKey(bidirChild.getId()));
    assertNotNull(bidirChildEntity);
    assertEquals(getEntityKind(BidirTopStringPk.class), bidirChildEntity.getKind());
    assertEquals(bidirChild.getClass().getName(), bidirChildEntity.getProperty("DISCRIMINATOR"));
    assertEquals("yam", bidirChildEntity.getProperty("childVal"));
    assertEquals(KeyFactory.stringToKey(bidirChild.getId()), bidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(parent.getClass(), parent.getId(), bidirChildEntity, bidirChild.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, bidirChildEntity.getProperty("bidirChildren_INTEGER_IDX"));
    }

    Entity unidirChildEntity = ds.get(KeyFactory.stringToKey(unidir.getId()));
    assertNotNull(unidirChildEntity);
    assertEquals(getEntityKind(UnidirTop.class), unidirChildEntity.getKind());
    int numProps = unidir.getPropertyCount();
    if (hasIndexPropertyInChild(pm)) {
      numProps += getIndexPropertyCount();
    }
    assertEquals(numProps, unidirChildEntity.getProperties().size());
    assertEquals(unidirLevel.discriminator, unidirChildEntity.getProperty("TYPE"));
    assertEquals(expectedStr, unidirChildEntity.getProperty("str"));
    assertEquals(expectedName, unidirChildEntity.getProperty("name"));
    assertEquals(KeyFactory.stringToKey(unidir.getId()), unidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(parent.getClass(), parent.getId(), unidirChildEntity, unidir.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, unidirChildEntity.getProperty("unidirChildren_INTEGER_IDX"));
    }

    Entity parentEntity = ds.get(KeyFactory.createKey(getEntityKind(parent.getClass()), parent.getId()));
View Full Code Here

Examples of com.google.appengine.datanucleus.test.jdo.UnidirectionalSuperclassTableChildJDO.UnidirTop

    testOneToManyChildAtMultipleLevels(startEnd, UnidirLevel.Bottom, UnidirLevel.Bottom, 3);
  }
  private void testOneToManyChildAtMultipleLevels(StartEnd startEnd,
      UnidirLevel unidirLevel1, UnidirLevel unidirLevel2, int count) {
    HasOneToManyChildAtMultipleLevels pojo = new HasOneToManyChildAtMultipleLevels();
    UnidirTop unidir1 = newUnidir(unidirLevel1);
    pojo.setUnidirChildren(Utils.newArrayList(unidir1));
    HasOneToManyChildAtMultipleLevels child = new HasOneToManyChildAtMultipleLevels();
    UnidirTop unidir2 = newUnidir(unidirLevel2);
    child.setUnidirChildren(Utils.newArrayList(unidir2));
    pojo.setChild(child);
    startEnd.start();
    pm.makePersistent(pojo);
    startEnd.end();
View Full Code Here

Examples of com.google.appengine.datanucleus.test.jdo.UnidirectionalSuperclassTableChildJDO.UnidirTop

  }

  private void testRemove2ObjectsAtIndex(StartEnd startEnd) {
    BidirTop bidirChild1 = new BidirTop();
    BidirTop bidirChild2 = new BidirTop();
    UnidirTop unidir1 = new UnidirTop();
    UnidirTop unidir2 = new UnidirTop();

    HasOneToManyList parent = new HasOneToManyList();
    parent.addBidirChild(bidirChild1);
    bidirChild1.setParent(parent);
    parent.addBidirChild(bidirChild2);
View Full Code Here

Examples of com.google.appengine.datanucleus.test.jdo.UnidirectionalSuperclassTableChildJDO.UnidirTop

      BidirTop bidirChild, StartEnd startEnd, UnidirLevel unidirLevel,
      String expectedBidirKind, String expectedUnidirKind,
      int expectedParent, int expectedChildren) throws EntityNotFoundException {
    bidirChild.setChildVal("yam");

    UnidirTop unidirChild = newUnidir(unidirLevel);
    String expectedStr = unidirChild.getStr();

    parent.addBidirChild(bidirChild);
    bidirChild.setParent(parent);
    parent.addUnidirChild(unidirChild);
    parent.setVal("yar");

    startEnd.start();
    pm.makePersistent(parent);
    startEnd.end();

    assertNotNull(bidirChild.getId());
    assertNotNull(unidirChild.getId());

    Entity bidirChildEntity = ds.get(KeyFactory.stringToKey(bidirChild.getId()));
    assertEquals(expectedBidirKind, bidirChildEntity.getKind());
    assertNotNull(bidirChildEntity);
    assertEquals(bidirChild.getClass().getName(), bidirChildEntity.getProperty("DISCRIMINATOR"));

    int numProps = bidirChild.getPropertyCount();
    if (hasIndexPropertyInChild(pm)) {
      numProps += getIndexPropertyCount();
    }
    assertEquals(numProps, bidirChildEntity.getProperties().size());

    assertEquals("yam", bidirChildEntity.getProperty("childVal"));
    assertEquals(KeyFactory.stringToKey(bidirChild.getId()), bidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(parent.getId(), bidirChildEntity, bidirChild.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, bidirChildEntity.getProperty("bidirChildren_INTEGER_IDX"));
    }

    Entity unidirEntity = ds.get(KeyFactory.stringToKey(unidirChild.getId()));
    assertEquals(expectedUnidirKind, unidirEntity.getKind());
    assertNotNull(unidirEntity);
    assertEquals(unidirLevel.discriminator, unidirEntity.getProperty("TYPE"));
    numProps = unidirChild.getPropertyCount();
    if (hasIndexPropertyInChild(pm)) {
      numProps += getIndexPropertyCount();
    }
    assertEquals(numProps, unidirEntity.getProperties().size());
    assertEquals(expectedStr, unidirEntity.getProperty("str"));
    assertEquals(KeyFactory.stringToKey(unidirChild.getId()), unidirEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(parent.getId(), unidirEntity, unidirChild.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, unidirEntity.getProperty("unidirChildren_INTEGER_IDX"));
    }

    Entity parentEntity = ds.get(KeyFactory.stringToKey(parent.getId()));
View Full Code Here

Examples of com.google.appengine.datanucleus.test.jdo.UnidirectionalSuperclassTableChildJDO.UnidirTop

    startEnd.end();
   
    startEnd.start();
    pojo = pm.makePersistent(pojo);
    assertEquals("yar", pojo.getVal());
    UnidirTop unidirChild = newUnidir(unidirLevel);
    String exepectedStr = unidirChild.getStr();
    pojo.addUnidirChild(unidirChild);
    bidirChild.setChildVal("yam");
    pojo.addBidirChild(bidirChild);
    startEnd.end();

    startEnd.start();
    assertNotNull(bidirChild.getId());
    assertNotNull(bidirChild.getParent());
    assertNotNull(unidirChild.getId());
    startEnd.end();
   
    Entity bidirChildEntity = ds.get(KeyFactory.stringToKey(bidirChild.getId()));
    assertNotNull(bidirChildEntity);
    assertEquals(expectedBidirKind, bidirChildEntity.getKind());

    int numProps = bidirChild.getPropertyCount();
    if (hasIndexPropertyInChild(pm)) {
      numProps += getIndexPropertyCount();
    }
    assertEquals(numProps, bidirChildEntity.getProperties().size());

    assertEquals(bidirChild.getClass().getName(), bidirChildEntity.getProperty("DISCRIMINATOR"));
    assertEquals("yam", bidirChildEntity.getProperty("childVal"));
    assertEquals(KeyFactory.stringToKey(bidirChild.getId()), bidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(pojo.getId(), bidirChildEntity, bidirChild.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, bidirChildEntity.getProperty("bidirChildren_INTEGER_IDX"));
    }

    Entity unidirChildEntity = ds.get(KeyFactory.stringToKey(unidirChild.getId()));
    assertNotNull(unidirChildEntity);
    assertEquals(expectedUnidirKind, unidirChildEntity.getKind());
    numProps = unidirChild.getPropertyCount();
    if (hasIndexPropertyInChild(pm)) {
      numProps += getIndexPropertyCount();
    }
    assertEquals(numProps, unidirChildEntity.getProperties().size());
    assertEquals(unidirLevel.discriminator, unidirChildEntity.getProperty("TYPE"));
    assertEquals(exepectedStr, unidirChildEntity.getProperty("str"));
    assertEquals(KeyFactory.stringToKey(unidirChild.getId()), unidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(pojo.getId(), unidirChildEntity, unidirChild.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, unidirChildEntity.getProperty("unidirChildren_INTEGER_IDX"));
    }

    Entity parentEntity = ds.get(KeyFactory.stringToKey(pojo.getId()));
View Full Code Here

Examples of com.google.appengine.datanucleus.test.jdo.UnidirectionalSuperclassTableChildJDO.UnidirTop

      BidirectionalSuperclassTableChildJDO.BidirTop bidir2, StartEnd startEnd,
      String expectedBidirKind, String expectedUnidirKind,
      int expectedParent, int expectedChildren) throws EntityNotFoundException {
    pojo.setVal("yar");
    bidir2.setChildVal("yam");
    UnidirTop unidir = newUnidir(UnidirLevel.Middle);

    pojo.addUnidirChild(unidir);
    pojo.addBidirChild(bidir1);
    bidir1.setParent(pojo);

    startEnd.start();
    pm.makePersistent(pojo);
    startEnd.end();

    assertCountsInDatastore(pojo.getClass(), bidir1.getClass(), expectedParent, expectedChildren);

    startEnd.start();
    pojo = pm.getObjectById(pojo.getClass(), pojo.getId());
    String bidir1Id = pojo.getBidirChildren().iterator().next().getId();
    String unidir1Id = pojo.getUnidirChildren().iterator().next().getId();
    pojo.addBidirChildAtPosition(bidir2, 0);

    UnidirTop unidir2 = newUnidir(UnidirLevel.Top);
    unidir2.setStr("another str");
    pojo.addUnidirAtPosition(unidir2, 0);
    startEnd.end();

    startEnd.start();
    pojo = pm.getObjectById(pojo.getClass(), pojo.getId());
    assertNotNull(pojo.getId());
    assertEquals(1, pojo.getUnidirChildren().size());
    assertEquals(1, pojo.getBidirChildren().size());
    assertNotNull(bidir2.getId());
    assertNotNull(bidir2.getParent());
    assertNotNull(unidir2.getId());

    Entity pojoEntity = ds.get(KeyFactory.stringToKey(pojo.getId()));
    assertNotNull(pojoEntity);
    assertEquals(3, pojoEntity.getProperties().size());
    assertEquals(Utils.newArrayList(KeyFactory.stringToKey(bidir2.getId())), pojoEntity.getProperty("bidirChildren"));
    assertEquals(Utils.newArrayList(KeyFactory.stringToKey(unidir2.getId())), pojoEntity.getProperty("unidirChildren"));
    startEnd.end();

    try {
      ds.get(KeyFactory.stringToKey(bidir1Id));
      fail("expected EntityNotFoundException");
    } catch (EntityNotFoundException enfe) {
      // good
    }
    try {
      ds.get(KeyFactory.stringToKey(unidir1Id));
      fail("expected EntityNotFoundException");
    } catch (EntityNotFoundException enfe) {
      // good
    }

    Entity bidirChildEntity = ds.get(KeyFactory.stringToKey(bidir2.getId()));
    assertNotNull(bidirChildEntity);
    assertEquals(expectedBidirKind, bidirChildEntity.getKind());
    int numProps = bidir2.getPropertyCount();
    if (hasIndexPropertyInChild(pm)) {
      numProps += getIndexPropertyCount();
    }
    assertEquals(numProps, bidirChildEntity.getProperties().size());
    assertEquals(bidir2.getClass().getName(), bidirChildEntity.getProperty("DISCRIMINATOR"));
    assertEquals("yam", bidirChildEntity.getProperty("childVal"));
    assertEquals(KeyFactory.stringToKey(bidir2.getId()), bidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(pojo.getId(), bidirChildEntity, bidir2.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, bidirChildEntity.getProperty("bidirChildren_INTEGER_IDX"));
    }

    Entity unidirChildEntity = ds.get(KeyFactory.stringToKey(unidir2.getId()));
    assertNotNull(unidirChildEntity);
    assertEquals(expectedUnidirKind, unidirChildEntity.getKind());
    numProps = unidir2.getPropertyCount();
    if (hasIndexPropertyInChild(pm)) {
      numProps += getIndexPropertyCount();
    }
    assertEquals(numProps, unidirChildEntity.getProperties().size());
    assertEquals(UnidirLevel.Top.discriminator, unidirChildEntity.getProperty("TYPE"));
    assertEquals("another str", unidirChildEntity.getProperty("str"));
    assertEquals(KeyFactory.stringToKey(unidir2.getId()), unidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(pojo.getId(), unidirChildEntity, unidir2.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, unidirChildEntity.getProperty("unidirChildren_INTEGER_IDX"));
    }

    Entity parentEntity = ds.get(KeyFactory.stringToKey(pojo.getId()));
View Full Code Here

Examples of com.google.appengine.datanucleus.test.jdo.UnidirectionalSuperclassTableChildJDO.UnidirTop

      String expectedBidirKind, String expectedUnidirKind,
      int count) throws EntityNotFoundException {
    pojo.setVal("yar");
    bidir2.setChildVal("another yam");
    bidir3.setChildVal("yet another yam");
    UnidirTop unidir = newUnidir(UnidirLevel.Top);
    UnidirTop unidir2 = newUnidir(UnidirLevel.Bottom);
    UnidirTop unidir3 = newUnidir(UnidirLevel.Middle);
    unidir2.setStr("another str");
    unidir3.setStr("yet another str");

    pojo.addUnidirChild(unidir);
    pojo.addUnidirChild(unidir2);
    pojo.addUnidirChild(unidir3);
    pojo.addBidirChild(bidir1);
    pojo.addBidirChild(bidir2);
    pojo.addBidirChild(bidir3);

    startEnd.start();
    pm.makePersistent(pojo);
    startEnd.end();

    assertCountsInDatastore(pojo.getClass(), bidir1.getClass(), count, (count-1) * 2 + 3);

    startEnd.start();
    pojo = pm.getObjectById(pojo.getClass(), pojo.getId());
    String bidir1Id = pojo.getBidirChildren().iterator().next().getId();
    String unidir1Id = pojo.getUnidirChildren().iterator().next().getId();
    pojo.removeBidirChildAtPosition(0);
    pojo.removeUnidirChildAtPosition(0);
    startEnd.end();

    startEnd.start();
    assertNotNull(pojo.getId());
    assertEquals(2, pojo.getUnidirChildren().size());
    assertEquals(2, pojo.getBidirChildren().size());

    Entity pojoEntity = ds.get(KeyFactory.stringToKey(pojo.getId()));
    assertNotNull(pojoEntity);
    assertEquals(3, pojoEntity.getProperties().size());
    assertEquals(Utils.newArrayList(
        KeyFactory.stringToKey(bidir2.getId()),
        KeyFactory.stringToKey(bidir3.getId())), pojoEntity.getProperty("bidirChildren"));
    assertEquals(Utils.newArrayList(
        KeyFactory.stringToKey(unidir2.getId()),
        KeyFactory.stringToKey(unidir3.getId())), pojoEntity.getProperty("unidirChildren"));
    startEnd.end();

    try {
      ds.get(KeyFactory.stringToKey(bidir1Id));
      fail("expected EntityNotFoundException");
    } catch (EntityNotFoundException enfe) {
      // good
    }
    try {
      ds.get(KeyFactory.stringToKey(unidir1Id));
      fail("expected EntityNotFoundException");
    } catch (EntityNotFoundException enfe) {
      // good
    }

    Entity bidirChildEntity = ds.get(KeyFactory.stringToKey(bidir2.getId()));
    assertNotNull(bidirChildEntity);
    assertEquals(expectedBidirKind, bidirChildEntity.getKind());
    int numProps = bidir2.getPropertyCount();
    if (hasIndexPropertyInChild(pm)) {
      numProps += getIndexPropertyCount();
    }
    assertEquals(numProps, bidirChildEntity.getProperties().size());
    assertEquals(bidir2.getClass().getName(), bidirChildEntity.getProperty("DISCRIMINATOR"));
    assertEquals("another yam", bidirChildEntity.getProperty("childVal"));
    assertEquals(KeyFactory.stringToKey(bidir2.getId()), bidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(pojo.getId(), bidirChildEntity, bidir2.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, bidirChildEntity.getProperty("bidirChildren_INTEGER_IDX"));
    }

    bidirChildEntity = ds.get(KeyFactory.stringToKey(bidir3.getId()));
    assertNotNull(bidirChildEntity);
    assertEquals(expectedBidirKind, bidirChildEntity.getKind());
    numProps = bidir3.getPropertyCount();
    if (hasIndexPropertyInChild(pm)) {
      numProps += getIndexPropertyCount();
    }
    assertEquals(numProps, bidirChildEntity.getProperties().size());
    assertEquals(bidir3.getClass().getName(), bidirChildEntity.getProperty("DISCRIMINATOR"));
    assertEquals("yet another yam", bidirChildEntity.getProperty("childVal"));
    assertEquals(KeyFactory.stringToKey(bidir3.getId()), bidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(pojo.getId(), bidirChildEntity, bidir2.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(1L, bidirChildEntity.getProperty("bidirChildren_INTEGER_IDX"));
    }

    Entity unidirChildEntity = ds.get(KeyFactory.stringToKey(unidir2.getId()));
    assertNotNull(unidirChildEntity);
    assertEquals(expectedUnidirKind, unidirChildEntity.getKind());
    numProps = unidir2.getPropertyCount();
    if (hasIndexPropertyInChild(pm)) {
      numProps += getIndexPropertyCount();
    }
    assertEquals(numProps, unidirChildEntity.getProperties().size());
    assertEquals(UnidirLevel.Bottom.discriminator, unidirChildEntity.getProperty("TYPE"));
    assertEquals("another str", unidirChildEntity.getProperty("str"));
    assertEquals(KeyFactory.stringToKey(unidir2.getId()), unidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(pojo.getId(), unidirChildEntity, unidir2.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, unidirChildEntity.getProperty("unidirChildren_INTEGER_IDX"));
    }

    unidirChildEntity = ds.get(KeyFactory.stringToKey(unidir3.getId()));
    assertNotNull(unidirChildEntity);
    assertEquals(expectedUnidirKind, unidirChildEntity.getKind());
    assertEquals(UnidirLevel.Middle.discriminator, unidirChildEntity.getProperty("TYPE"));
    assertEquals("yet another str", unidirChildEntity.getProperty("str"));
    assertEquals(KeyFactory.stringToKey(unidir3.getId()), unidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(pojo.getId(), unidirChildEntity, unidir2.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(1L, unidirChildEntity.getProperty("unidirChildren_INTEGER_IDX"));
    }

    Entity parentEntity = ds.get(KeyFactory.stringToKey(pojo.getId()));
    assertNotNull(parentEntity);
    assertEquals(3, parentEntity.getProperties().size());
    assertEquals("yar", parentEntity.getProperty("val"));
    assertEquals(Utils.newArrayList(
        KeyFactory.stringToKey(bidir2.getId()),
        KeyFactory.stringToKey(bidir3.getId())), parentEntity.getProperty("bidirChildren"));
    assertEquals(Utils.newArrayList(
        KeyFactory.stringToKey(unidir2.getId()),
        KeyFactory.stringToKey(unidir3.getId())), parentEntity.getProperty("unidirChildren"));

    assertCountsInDatastore(pojo.getClass(), bidir2.getClass(), count, 2 * count);
  }
View Full Code Here

Examples of com.google.appengine.datanucleus.test.jdo.UnidirectionalSuperclassTableChildJDO.UnidirTop

      BidirectionalSuperclassTableChildJDO.BidirTop bidir1,
      BidirectionalSuperclassTableChildJDO.BidirTop bidir2, StartEnd startEnd,
      String expectedBidirKind, String expectedUnidirKind, int count) throws EntityNotFoundException {
    pojo.setVal("yar");
    bidir2.setChildVal("yam");
    UnidirTop unidir = newUnidir(UnidirLevel.Middle);
    UnidirTop unidir2 = newUnidir(UnidirLevel.Bottom);
    unidir2.setStr("another str");

    pojo.addUnidirChild(unidir);
    pojo.addBidirChild(bidir1);

    startEnd.start();
    pm.makePersistent(pojo);
    startEnd.end();

    assertCountsInDatastore(pojo.getClass(), bidir1.getClass(), count, 2 *(count-1) + 1);

    startEnd.start();
    pojo = pm.getObjectById(pojo.getClass(), pojo.getId());
    String bidir1Id = pojo.getBidirChildren().iterator().next().getId();
    String unidir1Id = pojo.getUnidirChildren().iterator().next().getId();
    pojo.addAtPosition(0, bidir2);
    pojo.addAtPosition(0, unidir2);
    startEnd.end();

    startEnd.start();
    pojo = pm.getObjectById(pojo.getClass(), pojo.getId());
    assertNotNull(pojo.getId());
    assertEquals(2, pojo.getUnidirChildren().size());
    assertEquals(2, pojo.getBidirChildren().size());
    assertNotNull(bidir2.getId());
    assertNotNull(bidir2.getParent());
    assertNotNull(unidir2.getId());

    Entity pojoEntity = ds.get(KeyFactory.stringToKey(pojo.getId()));
    assertNotNull(pojoEntity);
    assertEquals(3, pojoEntity.getProperties().size());
    assertEquals(Utils.newArrayList(
        KeyFactory.stringToKey(bidir2.getId()),
        KeyFactory.stringToKey(bidir1.getId())), pojoEntity.getProperty("bidirChildren"));
    assertEquals(Utils.newArrayList(
        KeyFactory.stringToKey(unidir2.getId()),
        KeyFactory.stringToKey(unidir.getId())), pojoEntity.getProperty("unidirChildren"));
    startEnd.end();

    ds.get(KeyFactory.stringToKey(bidir1Id));
    ds.get(KeyFactory.stringToKey(unidir1Id));
    Entity bidirChildEntity = ds.get(KeyFactory.stringToKey(bidir2.getId()));
    assertNotNull(bidirChildEntity);
    assertEquals(expectedBidirKind, bidirChildEntity.getKind());
    int numProps = bidir2.getPropertyCount();
    if (hasIndexPropertyInChild(pm)) {
      numProps += getIndexPropertyCount();
    }
    assertEquals(numProps, bidirChildEntity.getProperties().size());
    assertEquals(bidir2.getClass().getName(), bidirChildEntity.getProperty("DISCRIMINATOR"));
    assertEquals("yam", bidirChildEntity.getProperty("childVal"));
    assertEquals(KeyFactory.stringToKey(bidir2.getId()), bidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(pojo.getId(), bidirChildEntity, bidir2.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, bidirChildEntity.getProperty("bidirChildren_INTEGER_IDX"));
    }

    Entity unidirChildEntity = ds.get(KeyFactory.stringToKey(unidir2.getId()));
    assertNotNull(unidirChildEntity);
    assertEquals(expectedUnidirKind, unidirChildEntity.getKind());
    numProps = unidir2.getPropertyCount();
    if (hasIndexPropertyInChild(pm)) {
      numProps += getIndexPropertyCount();
    }
    assertEquals(numProps, unidirChildEntity.getProperties().size());
    assertEquals(UnidirLevel.Bottom.discriminator, unidirChildEntity.getProperty("TYPE"));
    assertEquals("another str", unidirChildEntity.getProperty("str"));
    assertEquals(KeyFactory.stringToKey(unidir2.getId()), unidirChildEntity.getKey());
    PolymorphicTestUtils.assertKeyParentEquals(pojo.getId(), unidirChildEntity, unidir2.getId());
    if (isIndexed() && hasIndexPropertyInChild(pm)) {
      assertEquals(0L, unidirChildEntity.getProperty("unidirChildren_INTEGER_IDX"));
    }

    Entity parentEntity = ds.get(KeyFactory.stringToKey(pojo.getId()));
    assertNotNull(parentEntity);
    assertEquals(3, parentEntity.getProperties().size());
    assertEquals("yar", parentEntity.getProperty("val"));
    assertEquals(Utils.newArrayList(
        KeyFactory.stringToKey(bidir2.getId()),
        KeyFactory.stringToKey(bidir1.getId())), parentEntity.getProperty("bidirChildren"));
    assertEquals(Utils.newArrayList(
        KeyFactory.stringToKey(unidir2.getId()),
        KeyFactory.stringToKey(unidir.getId())), parentEntity.getProperty("unidirChildren"));

    assertCountsInDatastore(pojo.getClass(), bidir2.getClass(), count, 2 * count);
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.