Search in sources :

Example 41 with Child

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

the class CRUDObjectPhysicalTest method paramQueryTest.

@Test(dependsOnMethods = "enumQueryTest")
public void paramQueryTest() {
    JavaComplexTestClass testObject = database.newInstance(JavaComplexTestClass.class);
    testObject.setName("Silvester");
    Child child = database.newInstance(Child.class);
    testObject.setChild(child);
    testObject.setEnumField(EnumTest.ENUM1);
    database.save(testObject);
    ORID testObjectRid = database.getIdentity(testObject);
    ORID childRid = database.getIdentity(child);
    OSQLSynchQuery<JavaComplexTestClass> enumFieldQuery = new OSQLSynchQuery<JavaComplexTestClass>("select from JavaComplexTestClass where enumField = :enumField and child = :child");
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("child", childRid);
    params.put("enumField", EnumTest.ENUM1);
    List<JavaComplexTestClass> result = database.query(enumFieldQuery, params);
    Assert.assertEquals(result.size(), 1);
    Assert.assertEquals(database.getIdentity(result.get(0)).getIdentity(), testObjectRid);
    database.close();
    database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
    enumFieldQuery = new OSQLSynchQuery<JavaComplexTestClass>("select from JavaComplexTestClass where enumField = :enumField and child = :child");
    result = database.query(enumFieldQuery, params);
    Assert.assertEquals(result.size(), 1);
    Assert.assertEquals(database.getIdentity(result.get(0)).getIdentity(), testObjectRid);
}
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) Test(org.testng.annotations.Test)

Example 42 with Child

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

the class CRUDObjectPhysicalTest method collectionsDocumentTypeTestPhaseTwo.

@Test(dependsOnMethods = "collectionsDocumentTypeTestPhaseOne")
public void collectionsDocumentTypeTestPhaseTwo() {
    JavaComplexTestClass a = database.newInstance(JavaComplexTestClass.class);
    for (int i = 0; i < 10; i++) {
        a.getList().add(new Child());
        a.getSet().add(new Child());
        a.getChildren().put("" + i, new Child());
    }
    a = database.save(a);
    ORID rid = database.getIdentity(a);
    database.close();
    database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
    List<JavaComplexTestClass> agendas = database.query(new OSQLSynchQuery<JavaComplexTestClass>("SELECT FROM " + rid));
    JavaComplexTestClass testLoadedEntity = agendas.get(0);
    ODocument doc = database.getRecordByUserObject(testLoadedEntity, false);
    checkCollectionImplementations(doc);
    testLoadedEntity = database.save(testLoadedEntity);
    database.freeze(false);
    database.release();
    testLoadedEntity = database.reload(testLoadedEntity, "*:-1", true);
    doc = database.getRecordByUserObject(testLoadedEntity, false);
    checkCollectionImplementations(doc);
}
Also used : ORID(com.orientechnologies.orient.core.id.ORID) Child(com.orientechnologies.orient.test.domain.business.Child) ODocument(com.orientechnologies.orient.core.record.impl.ODocument) Test(org.testng.annotations.Test)

Example 43 with Child

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

the class CRUDObjectPhysicalTest 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 44 with Child

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

the class CRUDObjectPhysicalTest method mapObjectsLinkTest.

@Test(dependsOnMethods = "mapEnumAndInternalObjects")
public void mapObjectsLinkTest() {
    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.getList().add(c1);
    p.getList().add(c2);
    p.getList().add(c3);
    p.getList().add(c4);
    p.getChildren().put("first", c);
    p.getEnumList().add(EnumTest.ENUM1);
    p.getEnumList().add(EnumTest.ENUM2);
    p.getEnumSet().add(EnumTest.ENUM1);
    p.getEnumSet().add(EnumTest.ENUM3);
    p.getEnumMap().put("1", EnumTest.ENUM2);
    p.getEnumMap().put("2", EnumTest.ENUM3);
    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.getList().size(), 4);
    Assert.assertTrue(loaded.getList().get(0) instanceof Child);
    Assert.assertTrue(loaded.getList().get(1) instanceof Child);
    Assert.assertTrue(loaded.getList().get(2) instanceof Child);
    Assert.assertTrue(loaded.getList().get(3) instanceof Child);
    Assert.assertEquals(loaded.getList().get(0).getName(), "Jack");
    Assert.assertEquals(loaded.getList().get(1).getName(), "Bob");
    Assert.assertEquals(loaded.getList().get(2).getName(), "Sam");
    Assert.assertEquals(loaded.getList().get(3).getName(), "Dean");
    Assert.assertEquals(loaded.getEnumList().size(), 2);
    Assert.assertEquals(loaded.getEnumList().get(0), EnumTest.ENUM1);
    Assert.assertEquals(loaded.getEnumList().get(1), EnumTest.ENUM2);
    Assert.assertEquals(loaded.getEnumSet().size(), 2);
    Iterator<EnumTest> it = loaded.getEnumSet().iterator();
    Assert.assertEquals(it.next(), EnumTest.ENUM1);
    Assert.assertEquals(it.next(), EnumTest.ENUM3);
    Assert.assertEquals(loaded.getEnumMap().size(), 2);
    Assert.assertEquals(loaded.getEnumMap().get("1"), EnumTest.ENUM2);
    Assert.assertEquals(loaded.getEnumMap().get("2"), EnumTest.ENUM3);
}
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)

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