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);
}
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);
}
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));
}
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);
}
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);
}
Aggregations