Search in sources :

Example 11 with Child

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

the class ObjectDetachingTest method testDetachAll.

public void testDetachAll() {
    JavaAttachDetachTestClass attach = database.newInstance(JavaAttachDetachTestClass.class);
    attach.text = "test";
    attach.numberSimple = 12345;
    attach.doubleSimple = 12.34d;
    attach.floatSimple = 123.45f;
    attach.longSimple = 12345678l;
    attach.byteSimple = (byte) 1;
    attach.flagSimple = true;
    attach.enumeration = EnumTest.ENUM1;
    Child c = database.newInstance(Child.class);
    c.setName("Jesus");
    attach.children = new HashMap<String, Child>();
    attach.children.put("first", c);
    attach.enumList = new ArrayList<EnumTest>();
    attach.enumList.add(EnumTest.ENUM1);
    attach.enumList.add(EnumTest.ENUM2);
    attach.enumSet = new HashSet<EnumTest>();
    attach.enumSet.add(EnumTest.ENUM1);
    attach.enumSet.add(EnumTest.ENUM3);
    attach.enumMap = new HashMap<String, EnumTest>();
    attach.enumMap.put("1", EnumTest.ENUM2);
    attach.enumMap.put("2", EnumTest.ENUM3);
    database.attach(attach);
    ODocument doc = database.getRecordByUserObject(attach, false);
    Assert.assertEquals(doc.field("text"), "test");
    Assert.assertEquals(doc.field("numberSimple"), 12345);
    Assert.assertEquals(doc.field("doubleSimple"), 12.34d);
    Assert.assertEquals(doc.field("floatSimple"), 123.45f);
    Assert.assertEquals(doc.field("longSimple"), 12345678l);
    Assert.assertEquals(doc.field("byteSimple"), (byte) 1);
    Assert.assertEquals(doc.field("flagSimple"), true);
    Assert.assertEquals(doc.field("enumeration"), EnumTest.ENUM1.toString());
    Assert.assertTrue(doc.field("children") instanceof Map<?, ?>);
    Assert.assertTrue(((Map<?, ?>) doc.field("children")).get("first") instanceof ODocument);
    Assert.assertEquals(((ODocument) ((Map<?, ?>) doc.field("children")).get("first")).field("name"), "Jesus");
    Assert.assertEquals(((List<?>) doc.field("enumList")).size(), 2);
    Assert.assertEquals(((List<?>) doc.field("enumList")).get(0), EnumTest.ENUM1.toString());
    Assert.assertEquals(((List<?>) doc.field("enumList")).get(1), EnumTest.ENUM2.toString());
    Assert.assertEquals(((Set<?>) doc.field("enumSet")).size(), 2);
    Iterator<?> it = ((Set<?>) doc.field("enumSet")).iterator();
    Assert.assertEquals(it.next(), EnumTest.ENUM1.toString());
    Assert.assertEquals(it.next(), EnumTest.ENUM3.toString());
    Assert.assertEquals(((Map<?, ?>) doc.field("enumMap")).size(), 2);
    Assert.assertEquals(((Map<?, ?>) doc.field("enumMap")).get("1"), EnumTest.ENUM2.toString());
    Assert.assertEquals(((Map<?, ?>) doc.field("enumMap")).get("2"), EnumTest.ENUM3.toString());
    JavaAttachDetachTestClass savedJavaObj = database.save(attach);
    ORecordId id = (ORecordId) database.getRecordByUserObject(savedJavaObj, false).getIdentity();
    database.close();
    database = new OObjectDatabaseTx(url).open("admin", "admin");
    JavaAttachDetachTestClass loadedJavaObj = (JavaAttachDetachTestClass) database.load(id);
    database.detachAll(loadedJavaObj, false);
    Assert.assertEquals(loadedJavaObj.text, "test");
    Assert.assertEquals(loadedJavaObj.numberSimple, 12345);
    Assert.assertEquals(loadedJavaObj.doubleSimple, 12.34d);
    Assert.assertEquals(loadedJavaObj.floatSimple, 123.45f);
    Assert.assertEquals(loadedJavaObj.longSimple, 12345678l);
    Assert.assertEquals(loadedJavaObj.byteSimple, (byte) 1);
    Assert.assertEquals(loadedJavaObj.flagSimple, true);
    Assert.assertEquals(loadedJavaObj.enumeration, EnumTest.ENUM1);
    Assert.assertEquals(loadedJavaObj.enumList.size(), 2);
    Assert.assertEquals(loadedJavaObj.enumList.get(0), EnumTest.ENUM1);
    Assert.assertEquals(loadedJavaObj.enumList.get(1), EnumTest.ENUM2);
    Assert.assertTrue(loadedJavaObj.children instanceof Map<?, ?>);
    Assert.assertTrue(loadedJavaObj.children.get("first") instanceof Child);
    Assert.assertEquals(loadedJavaObj.children.get("first").getName(), "Jesus");
    Assert.assertEquals(loadedJavaObj.enumSet.size(), 2);
    it = loadedJavaObj.enumSet.iterator();
    Assert.assertEquals(it.next(), EnumTest.ENUM1);
    Assert.assertEquals(it.next(), EnumTest.ENUM3);
    Assert.assertEquals(loadedJavaObj.enumMap.size(), 2);
    Assert.assertEquals(loadedJavaObj.enumMap.get("1"), EnumTest.ENUM2);
    Assert.assertEquals(loadedJavaObj.enumMap.get("2"), EnumTest.ENUM3);
}
Also used : HashSet(java.util.HashSet) Set(java.util.Set) OObjectDatabaseTx(com.orientechnologies.orient.object.db.OObjectDatabaseTx) ORecordId(com.orientechnologies.orient.core.id.ORecordId) JavaAttachDetachTestClass(com.orientechnologies.orient.test.domain.base.JavaAttachDetachTestClass) Child(com.orientechnologies.orient.test.domain.business.Child) LazyChild(com.orientechnologies.orient.test.domain.lazy.LazyChild) CycleChild(com.orientechnologies.orient.test.domain.cycle.CycleChild) GrandChild(com.orientechnologies.orient.test.domain.cycle.GrandChild) HashMap(java.util.HashMap) Map(java.util.Map) EnumTest(com.orientechnologies.orient.test.domain.base.EnumTest) ODocument(com.orientechnologies.orient.core.record.impl.ODocument)

Example 12 with Child

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

the class ObjectDetachingTest method testAttachDetach.

public void testAttachDetach() {
    JavaAttachDetachTestClass attach = database.newInstance(JavaAttachDetachTestClass.class);
    attach.text = "test";
    attach.numberSimple = 12345;
    attach.doubleSimple = 12.34d;
    attach.floatSimple = 123.45f;
    attach.longSimple = 12345678l;
    attach.byteSimple = (byte) 1;
    attach.flagSimple = true;
    attach.enumeration = EnumTest.ENUM1;
    attach.testTransient = "11";
    Child c = database.newInstance(Child.class);
    c.setName("Jesus");
    attach.children = new HashMap<String, Child>();
    attach.children.put("first", c);
    attach.enumList = new ArrayList<EnumTest>();
    attach.enumList.add(EnumTest.ENUM1);
    attach.enumList.add(EnumTest.ENUM2);
    attach.enumSet = new HashSet<EnumTest>();
    attach.enumSet.add(EnumTest.ENUM1);
    attach.enumSet.add(EnumTest.ENUM3);
    attach.enumMap = new HashMap<String, EnumTest>();
    attach.enumMap.put("1", EnumTest.ENUM2);
    attach.enumMap.put("2", EnumTest.ENUM3);
    database.attach(attach);
    ODocument doc = database.getRecordByUserObject(attach, false);
    Assert.assertTrue(!doc.containsField("testStatic"));
    Assert.assertTrue(!doc.containsField("testTransient"));
    Assert.assertEquals(doc.field("text"), "test");
    Assert.assertEquals(doc.field("numberSimple"), 12345);
    Assert.assertEquals(doc.field("doubleSimple"), 12.34d);
    Assert.assertEquals(doc.field("floatSimple"), 123.45f);
    Assert.assertEquals(doc.field("longSimple"), 12345678l);
    Assert.assertEquals(doc.field("byteSimple"), (byte) 1);
    Assert.assertEquals(doc.field("flagSimple"), true);
    Assert.assertEquals(doc.field("enumeration"), EnumTest.ENUM1.toString());
    Assert.assertTrue(doc.field("children") instanceof Map<?, ?>);
    Assert.assertTrue(((Map<?, ?>) doc.field("children")).get("first") instanceof ODocument);
    Assert.assertEquals(((ODocument) ((Map<?, ?>) doc.field("children")).get("first")).field("name"), "Jesus");
    Assert.assertEquals(((List<?>) doc.field("enumList")).size(), 2);
    Assert.assertEquals(((List<?>) doc.field("enumList")).get(0), EnumTest.ENUM1.toString());
    Assert.assertEquals(((List<?>) doc.field("enumList")).get(1), EnumTest.ENUM2.toString());
    Assert.assertEquals(((Set<?>) doc.field("enumSet")).size(), 2);
    Iterator<?> it = ((Set<?>) doc.field("enumSet")).iterator();
    Assert.assertEquals(it.next(), EnumTest.ENUM1.toString());
    Assert.assertEquals(it.next(), EnumTest.ENUM3.toString());
    Assert.assertEquals(((Map<?, ?>) doc.field("enumMap")).size(), 2);
    Assert.assertEquals(((Map<?, ?>) doc.field("enumMap")).get("1"), EnumTest.ENUM2.toString());
    Assert.assertEquals(((Map<?, ?>) doc.field("enumMap")).get("2"), EnumTest.ENUM3.toString());
    JavaAttachDetachTestClass savedJavaObj = database.save(attach);
    ORecordId id = (ORecordId) database.getRecordByUserObject(savedJavaObj, false).getIdentity();
    database.close();
    database = new OObjectDatabaseTx(url).open("admin", "admin");
    JavaAttachDetachTestClass loadedJavaObj = (JavaAttachDetachTestClass) database.load(id);
    database.detach(loadedJavaObj);
    Assert.assertEquals(loadedJavaObj.text, "test");
    Assert.assertEquals(loadedJavaObj.numberSimple, 12345);
    Assert.assertEquals(loadedJavaObj.doubleSimple, 12.34d);
    Assert.assertEquals(loadedJavaObj.floatSimple, 123.45f);
    Assert.assertEquals(loadedJavaObj.longSimple, 12345678l);
    Assert.assertEquals(loadedJavaObj.byteSimple, (byte) 1);
    Assert.assertEquals(loadedJavaObj.flagSimple, true);
    Assert.assertEquals(loadedJavaObj.enumeration, EnumTest.ENUM1);
    Assert.assertEquals(loadedJavaObj.enumList.size(), 2);
    Assert.assertEquals(loadedJavaObj.enumList.get(0), EnumTest.ENUM1);
    Assert.assertEquals(loadedJavaObj.enumList.get(1), EnumTest.ENUM2);
    Assert.assertEquals(loadedJavaObj.enumSet.size(), 2);
    it = loadedJavaObj.enumSet.iterator();
    Assert.assertEquals(it.next(), EnumTest.ENUM1);
    Assert.assertEquals(it.next(), EnumTest.ENUM3);
    Assert.assertEquals(loadedJavaObj.enumMap.size(), 2);
    Assert.assertEquals(loadedJavaObj.enumMap.get("1"), EnumTest.ENUM2);
    Assert.assertEquals(loadedJavaObj.enumMap.get("2"), EnumTest.ENUM3);
}
Also used : HashSet(java.util.HashSet) Set(java.util.Set) OObjectDatabaseTx(com.orientechnologies.orient.object.db.OObjectDatabaseTx) ORecordId(com.orientechnologies.orient.core.id.ORecordId) JavaAttachDetachTestClass(com.orientechnologies.orient.test.domain.base.JavaAttachDetachTestClass) Child(com.orientechnologies.orient.test.domain.business.Child) LazyChild(com.orientechnologies.orient.test.domain.lazy.LazyChild) CycleChild(com.orientechnologies.orient.test.domain.cycle.CycleChild) GrandChild(com.orientechnologies.orient.test.domain.cycle.GrandChild) HashMap(java.util.HashMap) Map(java.util.Map) EnumTest(com.orientechnologies.orient.test.domain.base.EnumTest) ODocument(com.orientechnologies.orient.core.record.impl.ODocument)

Example 13 with Child

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

the class ObjectDetachingTest method testNonProxiedAttachDetach.

public void testNonProxiedAttachDetach() {
    JavaAttachDetachTestClass attach = database.newInstance(JavaAttachDetachTestClass.class);
    attach.text = "test";
    attach.numberSimple = 12345;
    attach.doubleSimple = 12.34d;
    attach.floatSimple = 123.45f;
    attach.longSimple = 12345678l;
    attach.byteSimple = (byte) 1;
    attach.flagSimple = true;
    attach.enumeration = EnumTest.ENUM1;
    Child c = database.newInstance(Child.class);
    c.setName("Jesus");
    attach.children = new HashMap<String, Child>();
    attach.children.put("first", c);
    attach.enumList = new ArrayList<EnumTest>();
    attach.enumList.add(EnumTest.ENUM1);
    attach.enumList.add(EnumTest.ENUM2);
    attach.enumSet = new HashSet<EnumTest>();
    attach.enumSet.add(EnumTest.ENUM1);
    attach.enumSet.add(EnumTest.ENUM3);
    attach.enumMap = new HashMap<String, EnumTest>();
    attach.enumMap.put("1", EnumTest.ENUM2);
    attach.enumMap.put("2", EnumTest.ENUM3);
    database.attach(attach);
    ODocument doc = database.getRecordByUserObject(attach, false);
    Assert.assertEquals(doc.field("text"), "test");
    Assert.assertEquals(doc.field("numberSimple"), 12345);
    Assert.assertEquals(doc.field("doubleSimple"), 12.34d);
    Assert.assertEquals(doc.field("floatSimple"), 123.45f);
    Assert.assertEquals(doc.field("longSimple"), 12345678l);
    Assert.assertEquals(doc.field("byteSimple"), (byte) 1);
    Assert.assertEquals(doc.field("flagSimple"), true);
    Assert.assertEquals(doc.field("enumeration"), EnumTest.ENUM1.toString());
    Assert.assertTrue(doc.field("children") instanceof Map<?, ?>);
    Assert.assertTrue(((Map<?, ?>) doc.field("children")).get("first") instanceof ODocument);
    Assert.assertEquals(((ODocument) ((Map<?, ?>) doc.field("children")).get("first")).field("name"), "Jesus");
    Assert.assertEquals(((List<?>) doc.field("enumList")).size(), 2);
    Assert.assertEquals(((List<?>) doc.field("enumList")).get(0), EnumTest.ENUM1.toString());
    Assert.assertEquals(((List<?>) doc.field("enumList")).get(1), EnumTest.ENUM2.toString());
    Assert.assertEquals(((Set<?>) doc.field("enumSet")).size(), 2);
    Iterator<?> it = ((Set<?>) doc.field("enumSet")).iterator();
    Assert.assertEquals(it.next(), EnumTest.ENUM1.toString());
    Assert.assertEquals(it.next(), EnumTest.ENUM3.toString());
    Assert.assertEquals(((Map<?, ?>) doc.field("enumMap")).size(), 2);
    Assert.assertEquals(((Map<?, ?>) doc.field("enumMap")).get("1"), EnumTest.ENUM2.toString());
    Assert.assertEquals(((Map<?, ?>) doc.field("enumMap")).get("2"), EnumTest.ENUM3.toString());
    JavaAttachDetachTestClass savedJavaObj = database.save(attach);
    ORecordId id = (ORecordId) database.getRecordByUserObject(savedJavaObj, false).getIdentity();
    database.close();
    database = new OObjectDatabaseTx(url).open("admin", "admin");
    JavaAttachDetachTestClass loadedJavaObj = (JavaAttachDetachTestClass) database.load(id);
    loadedJavaObj = database.detach(loadedJavaObj, true);
    Assert.assertTrue(!(loadedJavaObj instanceof Proxy));
    Assert.assertEquals(loadedJavaObj.text, "test");
    Assert.assertEquals(loadedJavaObj.numberSimple, 12345);
    Assert.assertEquals(loadedJavaObj.doubleSimple, 12.34d);
    Assert.assertEquals(loadedJavaObj.floatSimple, 123.45f);
    Assert.assertEquals(loadedJavaObj.longSimple, 12345678l);
    Assert.assertEquals(loadedJavaObj.byteSimple, (byte) 1);
    Assert.assertEquals(loadedJavaObj.flagSimple, true);
    Assert.assertEquals(loadedJavaObj.enumeration, EnumTest.ENUM1);
    Assert.assertEquals(loadedJavaObj.enumList.size(), 2);
    Assert.assertEquals(loadedJavaObj.enumList.get(0), EnumTest.ENUM1);
    Assert.assertEquals(loadedJavaObj.enumList.get(1), EnumTest.ENUM2);
    Assert.assertEquals(loadedJavaObj.enumSet.size(), 2);
    it = loadedJavaObj.enumSet.iterator();
    EnumTest next = (EnumTest) it.next();
    Assert.assertTrue(next.equals(EnumTest.ENUM1) || next.equals(EnumTest.ENUM3));
    next = (EnumTest) it.next();
    Assert.assertTrue(next.equals(EnumTest.ENUM1) || next.equals(EnumTest.ENUM3));
    ;
    Assert.assertEquals(loadedJavaObj.enumMap.size(), 2);
    Assert.assertEquals(loadedJavaObj.enumMap.get("1"), EnumTest.ENUM2);
    Assert.assertEquals(loadedJavaObj.enumMap.get("2"), EnumTest.ENUM3);
    ODocument serializedDoc = database.getRecordByUserObject(loadedJavaObj, false);
    Assert.assertTrue(serializedDoc.equals(doc));
    Assert.assertTrue(serializedDoc.hasSameContentOf(doc));
}
Also used : HashSet(java.util.HashSet) Set(java.util.Set) OObjectDatabaseTx(com.orientechnologies.orient.object.db.OObjectDatabaseTx) ORecordId(com.orientechnologies.orient.core.id.ORecordId) Proxy(javassist.util.proxy.Proxy) JavaAttachDetachTestClass(com.orientechnologies.orient.test.domain.base.JavaAttachDetachTestClass) Child(com.orientechnologies.orient.test.domain.business.Child) LazyChild(com.orientechnologies.orient.test.domain.lazy.LazyChild) CycleChild(com.orientechnologies.orient.test.domain.cycle.CycleChild) GrandChild(com.orientechnologies.orient.test.domain.cycle.GrandChild) HashMap(java.util.HashMap) Map(java.util.Map) EnumTest(com.orientechnologies.orient.test.domain.base.EnumTest) ODocument(com.orientechnologies.orient.core.record.impl.ODocument)

Example 14 with Child

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

the class ObjectTreeTest method testCascadeDeleteCollections.

@Test(dependsOnMethods = "testCascadeDeleteSimpleObject")
public void testCascadeDeleteCollections() {
    JavaCascadeDeleteTestClass test = database.newInstance(JavaCascadeDeleteTestClass.class);
    Child listChild1 = database.newInstance(Child.class);
    listChild1.setName("list1");
    test.getList().add(listChild1);
    Child listChild2 = database.newInstance(Child.class);
    listChild2.setName("list2");
    test.getList().add(listChild2);
    Child listChild3 = database.newInstance(Child.class);
    listChild3.setName("list3");
    test.getList().add(listChild3);
    Child setChild1 = database.newInstance(Child.class);
    setChild1.setName("set1");
    test.getSet().add(setChild1);
    Child setChild2 = database.newInstance(Child.class);
    setChild2.setName("set2");
    test.getSet().add(setChild2);
    Child setChild3 = database.newInstance(Child.class);
    setChild3.setName("set3");
    test.getSet().add(setChild3);
    database.save(test);
    ORID testRid = database.getRecordByUserObject(test, false).getIdentity();
    ORID list1Rid = database.getRecordByUserObject(listChild1, false).getIdentity();
    ORID list2Rid = database.getRecordByUserObject(listChild2, false).getIdentity();
    ORID list3Rid = database.getRecordByUserObject(listChild3, false).getIdentity();
    ORID set1Rid = database.getRecordByUserObject(setChild1, false).getIdentity();
    ORID set2Rid = database.getRecordByUserObject(setChild2, false).getIdentity();
    ORID set3Rid = database.getRecordByUserObject(setChild3, false).getIdentity();
    database.close();
    database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
    database.delete(testRid);
    listChild1 = database.load(list1Rid);
    listChild2 = database.load(list2Rid);
    listChild3 = database.load(list3Rid);
    setChild1 = database.load(set1Rid);
    setChild2 = database.load(set2Rid);
    setChild3 = database.load(set3Rid);
    Assert.assertNull(listChild1);
    Assert.assertNull(listChild2);
    Assert.assertNull(listChild3);
    Assert.assertNull(setChild1);
    Assert.assertNull(setChild2);
    Assert.assertNull(setChild3);
    // LIST UPDATE TEST
    test = database.newInstance(JavaCascadeDeleteTestClass.class);
    listChild1 = database.newInstance(Child.class);
    listChild1.setName("list1");
    test.getList().add(listChild1);
    listChild2 = database.newInstance(Child.class);
    listChild2.setName("list2");
    test.getList().add(listChild2);
    listChild3 = database.newInstance(Child.class);
    listChild3.setName("list3");
    test.getList().add(listChild3);
    Child listChild4 = database.newInstance(Child.class);
    listChild4.setName("list4");
    test.getList().add(listChild4);
    Child listChildDel = database.newInstance(Child.class);
    listChildDel.setName("list4");
    test.getList().add(listChildDel);
    setChild1 = database.newInstance(Child.class);
    setChild1.setName("set1");
    test.getSet().add(setChild1);
    setChild2 = database.newInstance(Child.class);
    setChild2.setName("set2");
    test.getSet().add(setChild2);
    setChild3 = database.newInstance(Child.class);
    setChild3.setName("set3");
    test.getSet().add(setChild3);
    Child setChild4 = database.newInstance(Child.class);
    setChild4.setName("set4");
    test.getSet().add(setChild4);
    database.save(test);
    testRid = database.getRecordByUserObject(test, false).getIdentity();
    list1Rid = database.getRecordByUserObject(listChild1, false).getIdentity();
    list2Rid = database.getRecordByUserObject(listChild2, false).getIdentity();
    list3Rid = database.getRecordByUserObject(listChild3, false).getIdentity();
    ORID list3Del = database.getRecordByUserObject(listChildDel, false).getIdentity();
    ORID list4Rid = database.getRecordByUserObject(listChild4, false).getIdentity();
    set1Rid = database.getRecordByUserObject(setChild1, false).getIdentity();
    set2Rid = database.getRecordByUserObject(setChild2, false).getIdentity();
    set3Rid = database.getRecordByUserObject(setChild3, false).getIdentity();
    ORID set4Rid = database.getRecordByUserObject(setChild4, false).getIdentity();
    database.close();
    database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
    test = database.load(testRid);
    test.getList().remove(listChild4);
    test.getList().remove(0);
    test.getList().remove(listChild3);
    test.getList().add(listChild4);
    Iterator<Child> it = test.getList().iterator();
    it.next();
    it.remove();
    test.getSet().remove(setChild1);
    test.getSet().remove(setChild4);
    Assert.assertFalse(test.getSet().contains(setChild1));
    Assert.assertFalse(test.getSet().contains(setChild4));
    it = test.getSet().iterator();
    it.next();
    it.remove();
    Assert.assertTrue((!test.getSet().contains(setChild2) || !test.getSet().contains(setChild3)));
    test.getSet().add(setChild4);
    test.getList().remove(list3Del);
    database.delete(list3Del);
    database.save(test);
    test = database.load(testRid);
    Assert.assertTrue(!test.getList().contains(listChild3));
    listChild1 = database.load(list1Rid);
    listChild2 = database.load(list2Rid);
    listChild3 = database.load(list3Rid);
    listChild4 = database.load(list4Rid);
    setChild1 = database.load(set1Rid);
    setChild2 = database.load(set2Rid);
    setChild3 = database.load(set3Rid);
    setChild4 = database.load(set4Rid);
    Assert.assertNull(listChild1);
    Assert.assertNull(listChild2);
    Assert.assertNull(listChild3);
    Assert.assertNotNull(listChild4);
    Assert.assertNull(setChild1);
    Assert.assertTrue((setChild3 != null && setChild2 == null) || (setChild3 == null && setChild2 != null));
    Assert.assertNotNull(setChild4);
    database.delete(test);
}
Also used : JavaCascadeDeleteTestClass(com.orientechnologies.orient.test.domain.base.JavaCascadeDeleteTestClass) ORID(com.orientechnologies.orient.core.id.ORID) Child(com.orientechnologies.orient.test.domain.business.Child) IdentityChild(com.orientechnologies.orient.test.domain.business.IdentityChild) Test(org.testng.annotations.Test)

Example 15 with Child

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

the class ObjectTreeTest method testCollectionsRemove.

@Test(dependsOnMethods = "testQueryMultiCircular")
public void testCollectionsRemove() {
    JavaComplexTestClass a = database.newInstance(JavaComplexTestClass.class);
    // LIST TEST
    Child first = database.newInstance(Child.class);
    first.setName("1");
    Child second = database.newInstance(Child.class);
    second.setName("2");
    Child third = database.newInstance(Child.class);
    third.setName("3");
    Child fourth = database.newInstance(Child.class);
    fourth.setName("4");
    Child fifth = database.newInstance(Child.class);
    fifth.setName("5");
    a.getList().add(first);
    a.getList().add(second);
    a.getList().add(third);
    a.getList().add(fourth);
    a.getList().add(fifth);
    a.getSet().add(first);
    a.getSet().add(second);
    a.getSet().add(third);
    a.getSet().add(fourth);
    a.getSet().add(fifth);
    a.getList().remove(third);
    a.getSet().remove(fourth);
    Assert.assertEquals(a.getList().size(), 4);
    Assert.assertEquals(a.getSet().size(), 4);
    ODocument doc = database.getRecordByUserObject(a, false);
    Assert.assertEquals(((Collection<?>) doc.field("list")).size(), 4);
    Assert.assertEquals(((Collection<?>) doc.field("set")).size(), 4);
    a = database.save(a);
    ORID rid = database.getIdentity(a);
    Assert.assertEquals(a.getList().size(), 4);
    Assert.assertEquals(a.getSet().size(), 4);
    doc = database.getRecordByUserObject(a, false);
    Assert.assertEquals(((Collection<?>) doc.field("list")).size(), 4);
    Assert.assertEquals(((Collection<?>) doc.field("set")).size(), 4);
    database.close();
    database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
    JavaComplexTestClass loadedObj = database.load(rid);
    Assert.assertEquals(loadedObj.getList().size(), 4);
    Assert.assertEquals(loadedObj.getSet().size(), 4);
    doc = database.getRecordByUserObject(loadedObj, false);
    Assert.assertEquals(((Collection<?>) doc.field("list")).size(), 4);
    Assert.assertEquals(((Collection<?>) doc.field("set")).size(), 4);
    database.delete(rid);
}
Also used : JavaComplexTestClass(com.orientechnologies.orient.test.domain.base.JavaComplexTestClass) ORID(com.orientechnologies.orient.core.id.ORID) Child(com.orientechnologies.orient.test.domain.business.Child) IdentityChild(com.orientechnologies.orient.test.domain.business.IdentityChild) ODocument(com.orientechnologies.orient.core.record.impl.ODocument) 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