Package com.googlecode.objectify.test.LoadParentRefTests

Examples of com.googlecode.objectify.test.LoadParentRefTests.TreeNode


  @Test
  public void testTwoLevelsOfFetch() throws Exception
  {
    fact().register(TreeNode.class);

    TreeNode node1 = new TreeNode();
    node1.foo = "foo1";
    ofy().save().entity(node1).now();

    TreeNode node2 = new TreeNode();
    node2.parent = Ref.create(node1);
    node2.foo = "foo2";
    ofy().save().entity(node2).now();

    TreeNode node3 = new TreeNode();
    node3.parent = Ref.create(node2);
    node3.foo = "foo3";
    ofy().save().entity(node3).now();

    TreeNode fetched3 = ofy().load().entity(node3).now();

    assert fetched3.foo.equals(node3.foo);
    assert fetched3.parent.get().id.equals(node2.id);
    assert fetched3.parent.get().foo.equals(node2.foo);
    assert fetched3.parent.get().parent.get().id.equals(node1.id);
View Full Code Here


  @Test
  public void testMissingIntermediate() throws Exception
  {
    fact().register(TreeNode.class);

    TreeNode node1 = new TreeNode();
    node1.foo = "foo1";
    Key<TreeNode> key1 = ofy().save().entity(node1).now();

    // Node2 should not exist but should have a concrete id for node3
    TreeNode node2 = new TreeNode();
    node2.id = 999L;
    node2.parent = Ref.create(key1);
    Key<TreeNode> key2 = Key.create(node2);

    TreeNode node3 = new TreeNode();
    node3.parent = Ref.create(key2);
    node3.foo = "foo3";
    Key<TreeNode> key3 = ofy().save().entity(node3).now();

    // Doing this step by step to make it easier for debugging
    LoadResult<TreeNode> fetched3Ref = ofy().load().key(key3);
    TreeNode fetched3 = fetched3Ref.now();

    assert fetched3.parent.get() == null;
    assert fetched3.parent.key().equals(key2);
    assert fetched3.parent.key().getParent().equals(key1);
  }
View Full Code Here

TOP

Related Classes of com.googlecode.objectify.test.LoadParentRefTests.TreeNode

Copyright © 2018 www.massapicom. 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.