use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class CRUDObjectPhysicalTest method testNoGenericCollections.
@SuppressWarnings("unchecked")
@Test(dependsOnMethods = "embeddedMapObjectTest")
public void testNoGenericCollections() {
JavaNoGenericCollectionsTestClass p = database.newInstance(JavaNoGenericCollectionsTestClass.class);
Child c1 = new Child();
c1.setName("1");
Child c2 = new Child();
c2.setName("2");
Child c3 = new Child();
c3.setName("3");
Child c4 = new Child();
c4.setName("4");
p.getList().add(c1);
p.getList().add(c2);
p.getList().add(c3);
p.getList().add(c4);
p.getSet().add(c1);
p.getSet().add(c2);
p.getSet().add(c3);
p.getSet().add(c4);
p.getMap().put("1", c1);
p.getMap().put("2", c2);
p.getMap().put("3", c3);
p.getMap().put("4", c4);
p = database.save(p);
ORID rid = database.getIdentity(p);
database.close();
database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
p = database.load(rid);
Assert.assertEquals(p.getList().size(), 4);
Assert.assertEquals(p.getSet().size(), 4);
Assert.assertEquals(p.getMap().size(), 4);
for (int i = 0; i < 4; i++) {
Object o = p.getList().get(i);
Assert.assertTrue(o instanceof Child);
Assert.assertEquals(((Child) o).getName(), (i + 1) + "");
o = p.getMap().get((i + 1) + "");
Assert.assertTrue(o instanceof Child);
Assert.assertEquals(((Child) o).getName(), (i + 1) + "");
}
for (Object o : p.getSet()) {
Assert.assertTrue(o instanceof Child);
int nameToInt = Integer.valueOf(((Child) o).getName());
Assert.assertTrue(nameToInt > 0 && nameToInt < 5);
}
JavaSimpleTestClass other = new JavaSimpleTestClass();
p.getList().add(other);
p.getSet().add(other);
p.getMap().put("5", other);
database.save(p);
database.close();
database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
p = database.load(rid);
Assert.assertEquals(p.getList().size(), 5);
Object o = p.getList().get(4);
Assert.assertTrue(o instanceof JavaSimpleTestClass);
o = p.getMap().get("5");
Assert.assertTrue(o instanceof JavaSimpleTestClass);
boolean hasOther = false;
for (Object obj : p.getSet()) {
hasOther = hasOther || (obj instanceof JavaSimpleTestClass);
}
Assert.assertTrue(hasOther);
}
use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class CRUDObjectPhysicalTest method collectionsDocumentTypeTestPhaseThree.
@Test(dependsOnMethods = "collectionsDocumentTypeTestPhaseTwo")
public void collectionsDocumentTypeTestPhaseThree() {
JavaComplexTestClass a = database.newInstance(JavaComplexTestClass.class);
for (int i = 0; i < 100; 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 mapObjectsListEmbeddedTest.
@Test(dependsOnMethods = "listObjectsIterationTest")
public void mapObjectsListEmbeddedTest() {
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.getEmbeddedList().add(c1);
p.getEmbeddedList().add(c2);
p.getEmbeddedList().add(c3);
p.getEmbeddedList().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.getEmbeddedList().size(), 4);
Assert.assertTrue(database.getRecordByUserObject(loaded.getEmbeddedList().get(0), false).isEmbedded());
Assert.assertTrue(database.getRecordByUserObject(loaded.getEmbeddedList().get(1), false).isEmbedded());
Assert.assertTrue(database.getRecordByUserObject(loaded.getEmbeddedList().get(2), false).isEmbedded());
Assert.assertTrue(database.getRecordByUserObject(loaded.getEmbeddedList().get(3), false).isEmbedded());
Assert.assertTrue(loaded.getEmbeddedList().get(0) instanceof Child);
Assert.assertTrue(loaded.getEmbeddedList().get(1) instanceof Child);
Assert.assertTrue(loaded.getEmbeddedList().get(2) instanceof Child);
Assert.assertTrue(loaded.getEmbeddedList().get(3) instanceof Child);
Assert.assertEquals(loaded.getEmbeddedList().get(0).getName(), "Jack");
Assert.assertEquals(loaded.getEmbeddedList().get(1).getName(), "Bob");
Assert.assertEquals(loaded.getEmbeddedList().get(2).getName(), "Sam");
Assert.assertEquals(loaded.getEmbeddedList().get(3).getName(), "Dean");
}
use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class CRUDObjectPhysicalTest method mapObjectsNonExistingKeyTest.
@Test(dependsOnMethods = "mapObjectsLinkTest")
public void mapObjectsNonExistingKeyTest() {
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());
Assert.assertEquals(loaded.getChildren().get("fifth"), null);
}
use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class CRUDObjectPhysicalTest method mapObjectsLinkUpdateDatabaseNewInstanceTest.
@Test(dependsOnMethods = "mapObjectsLinkTest")
public void mapObjectsLinkUpdateDatabaseNewInstanceTest() {
// TEST WITH NEW INSTANCE
JavaComplexTestClass p = database.newInstance(JavaComplexTestClass.class);
p.setName("Fringe");
Child c = database.newInstance(Child.class);
c.setName("Peter");
Child c1 = database.newInstance(Child.class);
c1.setName("Walter");
Child c2 = database.newInstance(Child.class);
c2.setName("Olivia");
Child c3 = database.newInstance(Child.class);
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);
// database.begin();
database.save(p);
// database.commit();
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 = database.newInstance(Child.class);
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());
}
}
Aggregations