Search in sources :

Example 21 with Child

use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.

the class CRUDObjectPhysicalTestSchemaFull method mapObjectsMapEmbeddedTest.

@Test(dependsOnMethods = "mapObjectsSetEmbeddedTest")
public void mapObjectsMapEmbeddedTest() {
    List<Child> cresult = database.query(new OSQLSynchQuery<Child>("select * from Child"));
    int childSize = cresult.size();
    JavaComplexTestClass p = database.newInstance(JavaComplexTestClass.class);
    p.setName("Silvester");
    Child c = database.newInstance(Child.class);
    c.setName("John");
    Child c1 = database.newInstance(Child.class);
    c1.setName("Jack");
    Child c2 = database.newInstance(Child.class);
    c2.setName("Bob");
    Child c3 = database.newInstance(Child.class);
    c3.setName("Sam");
    Child c4 = database.newInstance(Child.class);
    c4.setName("Dean");
    p.getEmbeddedChildren().put(c.getName(), c);
    p.getEmbeddedChildren().put(c1.getName(), c1);
    p.getEmbeddedChildren().put(c2.getName(), c2);
    p.getEmbeddedChildren().put(c3.getName(), c3);
    p.getEmbeddedChildren().put(c4.getName(), c4);
    database.save(p);
    cresult = database.query(new OSQLSynchQuery<Child>("select * from Child"));
    Assert.assertTrue(cresult.size() == childSize);
    ORID rid = new ORecordId(p.getId());
    database.close();
    database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
    JavaComplexTestClass loaded = database.load(rid);
    Assert.assertEquals(loaded.getEmbeddedChildren().size(), 5);
    for (String key : loaded.getEmbeddedChildren().keySet()) {
        Child loadedC = loaded.getEmbeddedChildren().get(key);
        Assert.assertTrue(database.getRecordByUserObject(loadedC, false).isEmbedded());
        Assert.assertTrue(loadedC instanceof Child);
        Assert.assertTrue(loadedC.getName().equals("John") || loadedC.getName().equals("Jack") || loadedC.getName().equals("Bob") || loadedC.getName().equals("Sam") || loadedC.getName().equals("Dean"));
    }
}
Also used : OSQLSynchQuery(com.orientechnologies.orient.core.sql.query.OSQLSynchQuery) ORID(com.orientechnologies.orient.core.id.ORID) Child(com.orientechnologies.orient.test.domain.business.Child) ORecordId(com.orientechnologies.orient.core.id.ORecordId) Test(org.testng.annotations.Test)

Example 22 with Child

use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.

the class CRUDObjectPhysicalTestSchemaFull method mapObjectsSetEmbeddedTest.

@Test(dependsOnMethods = "mapObjectsListEmbeddedTest")
public void mapObjectsSetEmbeddedTest() {
    List<Child> cresult = database.query(new OSQLSynchQuery<Child>("select * from Child"));
    int childSize = cresult.size();
    JavaComplexTestClass p = database.newInstance(JavaComplexTestClass.class);
    p.setName("Silvester");
    Child c = database.newInstance(Child.class);
    c.setName("John");
    Child c1 = database.newInstance(Child.class);
    c1.setName("Jack");
    Child c2 = database.newInstance(Child.class);
    c2.setName("Bob");
    Child c3 = database.newInstance(Child.class);
    c3.setName("Sam");
    Child c4 = database.newInstance(Child.class);
    c4.setName("Dean");
    p.getEmbeddedSet().add(c);
    p.getEmbeddedSet().add(c1);
    p.getEmbeddedSet().add(c2);
    p.getEmbeddedSet().add(c3);
    p.getEmbeddedSet().add(c4);
    database.save(p);
    cresult = database.query(new OSQLSynchQuery<Child>("select * from Child"));
    Assert.assertTrue(cresult.size() == childSize);
    ORID rid = new ORecordId(p.getId());
    database.close();
    database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
    JavaComplexTestClass loaded = database.load(rid);
    Assert.assertEquals(loaded.getEmbeddedSet().size(), 5);
    Iterator<Child> it = loaded.getEmbeddedSet().iterator();
    while (it.hasNext()) {
        Child loadedC = it.next();
        Assert.assertTrue(database.getRecordByUserObject(loadedC, false).isEmbedded());
        Assert.assertTrue(loadedC instanceof Child);
        Assert.assertTrue(loadedC.getName().equals("John") || loadedC.getName().equals("Jack") || loadedC.getName().equals("Bob") || loadedC.getName().equals("Sam") || loadedC.getName().equals("Dean"));
    }
}
Also used : OSQLSynchQuery(com.orientechnologies.orient.core.sql.query.OSQLSynchQuery) ORID(com.orientechnologies.orient.core.id.ORID) Child(com.orientechnologies.orient.test.domain.business.Child) ORecordId(com.orientechnologies.orient.core.id.ORecordId) Test(org.testng.annotations.Test)

Example 23 with Child

use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.

the class CRUDObjectPhysicalTestSchemaFull method mapObjectsLinkTwoSaveTest.

@Test(dependsOnMethods = "mapObjectsLinkTest")
public void mapObjectsLinkTwoSaveTest() {
    JavaComplexTestClass p = new JavaComplexTestClass();
    p.setName("Silvester");
    p = database.save(p);
    Child c1 = new Child();
    c1.setName("John");
    Child c2 = new Child();
    c2.setName("Jack");
    p.getChildren().put("first", c1);
    p.getChildren().put("second", c2);
    database.save(p);
    Child c3 = new Child();
    c3.setName("Olivia");
    Child c4 = new Child();
    c4.setName("Peter");
    p.getChildren().put("third", c3);
    p.getChildren().put("fourth", c4);
    database.save(p);
    List<Child> cresult = database.query(new OSQLSynchQuery<Child>("select * from Child"));
    Assert.assertTrue(cresult.size() > 0);
    ORID rid = new ORecordId(p.getId());
    database.close();
    database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
    JavaComplexTestClass loaded = database.load(rid);
    Assert.assertEquals(loaded.getChildren().get("first").getName(), c1.getName());
    Assert.assertEquals(loaded.getChildren().get("second").getName(), c2.getName());
    Assert.assertEquals(loaded.getChildren().get("third").getName(), c3.getName());
    Assert.assertEquals(loaded.getChildren().get("fourth").getName(), c4.getName());
}
Also used : ORID(com.orientechnologies.orient.core.id.ORID) Child(com.orientechnologies.orient.test.domain.business.Child) ORecordId(com.orientechnologies.orient.core.id.ORecordId) Test(org.testng.annotations.Test)

Example 24 with Child

use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.

the class CRUDObjectPhysicalTestSchemaFull method mapObjectsLinkUpdateDatabaseNewInstanceTest.

@Test(dependsOnMethods = "mapObjectsLinkTest")
public void mapObjectsLinkUpdateDatabaseNewInstanceTest() {
    // TEST WITH NEW INSTANCE
    JavaComplexTestClass p = database.newInstance(JavaComplexTestClass.class);
    p.setName("Fringe");
    Child c = database.newInstance(Child.class);
    c.setName("Peter");
    Child c1 = database.newInstance(Child.class);
    c1.setName("Walter");
    Child c2 = database.newInstance(Child.class);
    c2.setName("Olivia");
    Child c3 = database.newInstance(Child.class);
    c3.setName("Astrid");
    p.getChildren().put(c.getName(), c);
    p.getChildren().put(c1.getName(), c1);
    p.getChildren().put(c2.getName(), c2);
    p.getChildren().put(c3.getName(), c3);
    // database.begin();
    database.save(p);
    // database.commit();
    ORID rid = new ORecordId(p.getId());
    database.close();
    database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
    JavaComplexTestClass loaded = database.load(rid);
    for (String key : loaded.getChildren().keySet()) {
        Assert.assertTrue(key.equals("Peter") || key.equals("Walter") || key.equals("Olivia") || key.equals("Astrid"));
        Assert.assertTrue(loaded.getChildren().get(key) instanceof Child);
        Assert.assertTrue(loaded.getChildren().get(key).getName().equals(key));
        if (key.equals("Peter")) {
            Assert.assertTrue(loaded.getChildren().get(key).getName().equals("Peter"));
        } else if (key.equals("Walter")) {
            Assert.assertTrue(loaded.getChildren().get(key).getName().equals("Walter"));
        } else if (key.equals("Olivia")) {
            Assert.assertTrue(loaded.getChildren().get(key).getName().equals("Olivia"));
        } else if (key.equals("Astrid")) {
            Assert.assertTrue(loaded.getChildren().get(key).getName().equals("Astrid"));
        }
    }
    database.setLazyLoading(false);
    for (JavaComplexTestClass reloaded : database.browseClass(JavaComplexTestClass.class).setFetchPlan("*:-1")) {
        database.reload(reloaded);
        Child c4 = database.newInstance(Child.class);
        c4.setName("The Observer");
        reloaded.getChildren().put(c4.getName(), c4);
        database.save(reloaded);
    }
    database.close();
    database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
    for (JavaComplexTestClass reloaded : database.browseClass(JavaComplexTestClass.class).setFetchPlan("*:-1")) {
        database.reload(reloaded);
        Assert.assertTrue(reloaded.getChildren().containsKey("The Observer"));
        Assert.assertTrue(reloaded.getChildren().get("The Observer") != null);
        Assert.assertEquals(reloaded.getChildren().get("The Observer").getName(), "The Observer");
        Assert.assertTrue(database.getIdentity(reloaded.getChildren().get("The Observer")).isPersistent() && database.getIdentity(reloaded.getChildren().get("The Observer")).isValid());
    }
}
Also used : ORID(com.orientechnologies.orient.core.id.ORID) Child(com.orientechnologies.orient.test.domain.business.Child) ORecordId(com.orientechnologies.orient.core.id.ORecordId) Test(org.testng.annotations.Test)

Example 25 with Child

use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.

the class CRUDObjectPhysicalTestSchemaFull method testNoGenericCollections.

@SuppressWarnings("unchecked")
@Test(dependsOnMethods = "embeddedMapObjectTest")
public void testNoGenericCollections() {
    JavaNoGenericCollectionsTestClass p = database.newInstance(JavaNoGenericCollectionsTestClass.class);
    Child c1 = new Child();
    c1.setName("1");
    Child c2 = new Child();
    c2.setName("2");
    Child c3 = new Child();
    c3.setName("3");
    Child c4 = new Child();
    c4.setName("4");
    p.getList().add(c1);
    p.getList().add(c2);
    p.getList().add(c3);
    p.getList().add(c4);
    p.getSet().add(c1);
    p.getSet().add(c2);
    p.getSet().add(c3);
    p.getSet().add(c4);
    p.getMap().put("1", c1);
    p.getMap().put("2", c2);
    p.getMap().put("3", c3);
    p.getMap().put("4", c4);
    p = database.save(p);
    ORID rid = database.getIdentity(p);
    database.close();
    database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
    p = database.load(rid);
    Assert.assertEquals(p.getList().size(), 4);
    Assert.assertEquals(p.getSet().size(), 4);
    Assert.assertEquals(p.getMap().size(), 4);
    for (int i = 0; i < 4; i++) {
        Object o = p.getList().get(i);
        Assert.assertTrue(o instanceof Child);
        Assert.assertEquals(((Child) o).getName(), (i + 1) + "");
        o = p.getMap().get((i + 1) + "");
        Assert.assertTrue(o instanceof Child);
        Assert.assertEquals(((Child) o).getName(), (i + 1) + "");
    }
    for (Object o : p.getSet()) {
        Assert.assertTrue(o instanceof Child);
        int nameToInt = Integer.valueOf(((Child) o).getName());
        Assert.assertTrue(nameToInt > 0 && nameToInt < 5);
    }
    JavaSimpleTestClass other = new JavaSimpleTestClass();
    p.getList().add(other);
    p.getSet().add(other);
    p.getMap().put("5", other);
    database.save(p);
    database.close();
    database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
    p = database.load(rid);
    Assert.assertEquals(p.getList().size(), 5);
    Object o = p.getList().get(4);
    Assert.assertTrue(o instanceof JavaSimpleTestClass);
    o = p.getMap().get("5");
    Assert.assertTrue(o instanceof JavaSimpleTestClass);
    boolean hasOther = false;
    for (Object obj : p.getSet()) {
        hasOther = hasOther || (obj instanceof JavaSimpleTestClass);
    }
    Assert.assertTrue(hasOther);
}
Also used : ORID(com.orientechnologies.orient.core.id.ORID) Child(com.orientechnologies.orient.test.domain.business.Child) Test(org.testng.annotations.Test)

Aggregations

Child (com.orientechnologies.orient.test.domain.business.Child)44 Test (org.testng.annotations.Test)40 ORID (com.orientechnologies.orient.core.id.ORID)36 ORecordId (com.orientechnologies.orient.core.id.ORecordId)24 ODocument (com.orientechnologies.orient.core.record.impl.ODocument)16 IdentityChild (com.orientechnologies.orient.test.domain.business.IdentityChild)10 OSQLSynchQuery (com.orientechnologies.orient.core.sql.query.OSQLSynchQuery)8 OObjectDatabaseTx (com.orientechnologies.orient.object.db.OObjectDatabaseTx)8 EnumTest (com.orientechnologies.orient.test.domain.base.EnumTest)8 JavaAttachDetachTestClass (com.orientechnologies.orient.test.domain.base.JavaAttachDetachTestClass)8 HashMap (java.util.HashMap)8 HashSet (java.util.HashSet)8 Map (java.util.Map)8 Set (java.util.Set)8 JavaCascadeDeleteTestClass (com.orientechnologies.orient.test.domain.base.JavaCascadeDeleteTestClass)6 JavaComplexTestClass (com.orientechnologies.orient.test.domain.base.JavaComplexTestClass)4 CycleChild (com.orientechnologies.orient.test.domain.cycle.CycleChild)4 GrandChild (com.orientechnologies.orient.test.domain.cycle.GrandChild)4 LazyChild (com.orientechnologies.orient.test.domain.lazy.LazyChild)4 Proxy (javassist.util.proxy.Proxy)4