use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class ObjectTreeTest 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 CRUDObjectPhysicalTest method mapObjectsLinkUpdateJavaNewInstanceTest.
@Test(dependsOnMethods = "mapObjectsLinkUpdateDatabaseNewInstanceTest")
public void mapObjectsLinkUpdateJavaNewInstanceTest() {
// TEST WITH NEW INSTANCE
JavaComplexTestClass p = new JavaComplexTestClass();
p.setName("Fringe");
Child c = new Child();
c.setName("Peter");
Child c1 = new Child();
c1.setName("Walter");
Child c2 = new Child();
c2.setName("Olivia");
Child c3 = new Child();
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);
p = database.save(p);
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 = new Child();
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());
}
}
use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class CRUDObjectPhysicalTest method collectionsDocumentTypeTestPhaseOne.
@Test(dependsOnMethods = "testSimpleArrayTypes")
public void collectionsDocumentTypeTestPhaseOne() {
JavaComplexTestClass a = database.newInstance(JavaComplexTestClass.class);
for (int i = 0; i < 3; 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);
}
use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class CRUDObjectPhysicalTest 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());
}
use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class CRUDObjectPhysicalTest 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"));
}
}
Aggregations