use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class ObjectTreeTestSchemaFull method testDeleteRecordOutsideCollection.
@SuppressWarnings("unused")
@Test(dependsOnMethods = "testCascadeDeleteCollections")
public void testDeleteRecordOutsideCollection() {
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 set2Rid = database.getRecordByUserObject(setChild2, false).getIdentity();
database.close();
database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
database.delete(list1Rid);
database.delete(set2Rid);
test = database.load(testRid);
try {
for (int i = 0; i < test.getList().size(); i++) {
if (i == 0) {
Assert.assertNull(test.getList().get(i));
} else {
Assert.assertNotNull(test.getList().get(i));
}
}
for (Child c : test.getSet()) {
}
} catch (NullPointerException npe) {
Assert.fail("NullPointer on list retrieving that shouldn't happen");
}
database.delete(test);
}
use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class ObjectTreeTestSchemaFull method testCascadeDeleteMap.
@Test(dependsOnMethods = "testCascadeDeleteCollections")
public void testCascadeDeleteMap() {
JavaCascadeDeleteTestClass test = database.newInstance(JavaCascadeDeleteTestClass.class);
Child mapChild1 = database.newInstance(Child.class);
mapChild1.setName("map1");
test.getChildren().put("1", mapChild1);
Child mapChild2 = database.newInstance(Child.class);
mapChild2.setName("map2");
test.getChildren().put("2", mapChild2);
Child mapChild3 = database.newInstance(Child.class);
mapChild3.setName("map3");
test.getChildren().put("3", mapChild3);
database.save(test);
ORID testRid = database.getRecordByUserObject(test, false).getIdentity();
ORID map1Rid = database.getRecordByUserObject(mapChild1, false).getIdentity();
ORID map2Rid = database.getRecordByUserObject(mapChild2, false).getIdentity();
ORID map3Rid = database.getRecordByUserObject(mapChild3, false).getIdentity();
database.close();
database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
database.delete(testRid);
mapChild1 = database.load(map1Rid);
mapChild2 = database.load(map2Rid);
mapChild3 = database.load(map3Rid);
Assert.assertNull(mapChild1);
Assert.assertNull(mapChild2);
Assert.assertNull(mapChild3);
database.close();
database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
// MAP UPDATE TEST
test = database.newInstance(JavaCascadeDeleteTestClass.class);
mapChild1 = database.newInstance(Child.class);
mapChild1.setName("map1");
test.getChildren().put("1", mapChild1);
mapChild2 = database.newInstance(Child.class);
mapChild2.setName("map2");
test.getChildren().put("2", mapChild2);
mapChild3 = database.newInstance(Child.class);
mapChild3.setName("map3");
test.getChildren().put("3", mapChild3);
Child mapChild4 = database.newInstance(Child.class);
mapChild4.setName("map4");
test.getChildren().put("4", mapChild4);
Child mapChild5 = database.newInstance(Child.class);
mapChild5.setName("map5");
test.getChildren().put("5", mapChild5);
database.save(test);
testRid = database.getIdentity(test);
map1Rid = database.getRecordByUserObject(mapChild1, false).getIdentity();
map2Rid = database.getRecordByUserObject(mapChild2, false).getIdentity();
map3Rid = database.getRecordByUserObject(mapChild3, false).getIdentity();
ORID map4Rid = database.getRecordByUserObject(mapChild4, false).getIdentity();
ORID map5Rid = database.getRecordByUserObject(mapChild5, false).getIdentity();
database.close();
database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
test = database.load(testRid);
Assert.assertNotNull(test.getChildren().get("1"));
Assert.assertNotNull(test.getChildren().get("2"));
Assert.assertNotNull(test.getChildren().get("3"));
Assert.assertNotNull(test.getChildren().get("4"));
Assert.assertNotNull(test.getChildren().get("5"));
test.getChildren().remove("5");
test.getChildren().put("1", mapChild1);
test.getChildren().put("2", mapChild1);
test.getChildren().put("3", null);
test.getChildren().remove("4");
test.getChildren().put("3", mapChild5);
database.save(test);
mapChild1 = database.load(map1Rid);
mapChild2 = database.load(map2Rid);
mapChild3 = database.load(map3Rid);
mapChild4 = database.load(map4Rid);
mapChild5 = database.load(map5Rid);
Assert.assertNotNull(mapChild1);
Assert.assertNull(mapChild2);
Assert.assertNull(mapChild3);
Assert.assertNull(mapChild4);
Assert.assertNotNull(mapChild5);
database.delete(test);
}
use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class ObjectTreeTestSchemaFull 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);
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 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);
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);
}
use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class ObjectTreeTest method testDeleteRecordOutsideCollection.
@SuppressWarnings("unused")
@Test(dependsOnMethods = "testCascadeDeleteCollections")
public void testDeleteRecordOutsideCollection() {
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 set2Rid = database.getRecordByUserObject(setChild2, false).getIdentity();
database.close();
database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
database.delete(list1Rid);
database.delete(set2Rid);
test = database.load(testRid);
try {
for (int i = 0; i < test.getList().size(); i++) {
if (i == 0) {
Assert.assertNull(test.getList().get(i));
} else {
Assert.assertNotNull(test.getList().get(i));
}
}
for (Child c : test.getSet()) {
}
} catch (NullPointerException npe) {
Assert.fail("NullPointer on list retrieving that shouldn't happen");
}
database.delete(test);
}
use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class ObjectDetachingTest method testDetachAllNonProxied.
public void testDetachAllNonProxied() {
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.specialChild = c;
attach.specialChild2 = 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.detachAll(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.assertTrue(loadedJavaObj.children instanceof Map<?, ?>);
Assert.assertTrue(loadedJavaObj.children.get("first") instanceof Child);
Assert.assertTrue(!(loadedJavaObj.children.get("first") instanceof Proxy));
Assert.assertEquals(loadedJavaObj.children.get("first").getName(), "Jesus");
Child cDetached = loadedJavaObj.children.get("first");
Assert.assertTrue(cDetached instanceof Child);
Assert.assertEquals(cDetached.getName(), "Jesus");
Assert.assertSame(loadedJavaObj.specialChild, loadedJavaObj.specialChild2);
Assert.assertEquals(cDetached, loadedJavaObj.specialChild);
Assert.assertSame(cDetached, loadedJavaObj.specialChild);
Assert.assertSame(cDetached, loadedJavaObj.specialChild2);
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);
}
Aggregations