use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class CRUDObjectPhysicalTestSchemaFull 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 CRUDObjectPhysicalTestSchemaFull method paramQueryTest.
@Test(dependsOnMethods = "enumQueryTest")
public void paramQueryTest() {
JavaComplexTestClass testObject = database.newInstance(JavaComplexTestClass.class);
testObject.setName("Silvester");
Child child = database.newInstance(Child.class);
testObject.setChild(child);
testObject.setEnumField(EnumTest.ENUM1);
database.save(testObject);
ORID testObjectRid = database.getIdentity(testObject);
ORID childRid = database.getIdentity(child);
OSQLSynchQuery<JavaComplexTestClass> enumFieldQuery = new OSQLSynchQuery<JavaComplexTestClass>("select from JavaComplexTestClass where enumField = :enumField and child = :child");
Map<String, Object> params = new HashMap<String, Object>();
params.put("child", childRid);
params.put("enumField", EnumTest.ENUM1);
List<JavaComplexTestClass> result = database.query(enumFieldQuery, params);
Assert.assertEquals(result.size(), 1);
Assert.assertEquals(database.getIdentity(result.get(0)).getIdentity(), testObjectRid);
database.close();
database = OObjectDatabasePool.global().acquire(url, "admin", "admin");
enumFieldQuery = new OSQLSynchQuery<JavaComplexTestClass>("select from JavaComplexTestClass where enumField = :enumField and child = :child");
result = database.query(enumFieldQuery, params);
Assert.assertEquals(result.size(), 1);
Assert.assertEquals(database.getIdentity(result.get(0)).getIdentity(), testObjectRid);
}
use of com.orientechnologies.orient.test.domain.business.Child in project orientdb by orientechnologies.
the class CRUDObjectPhysicalTestSchemaFull 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 ObjectDetachingTestSchemaFull method testNonProxiedAttachDetach.
@Test(dependsOnMethods = "testDetachAll")
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 ObjectTreeTestSchemaFull 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