public void testQuery() { createData(); EmbeddedObjectContainer database = Db4oEmbedded.openFile(aliasConfig(), tempFile()); database.query(B.class); database.query(A.class); database.close(); querydb(Db4oEmbedded.newConfiguration(), new int[] {1, 0}, A.class, B.class); }
private EmbeddedConfiguration aliasConfig() { EmbeddedConfiguration configuration = Db4oEmbedded.newConfiguration(); configuration .common() .addAlias( new TypeAlias( CrossPlatformServices.fullyQualifiedName(A.class), CrossPlatformServices.fullyQualifiedName(B.class))); return configuration; }
public <T, T1> void querydb( EmbeddedConfiguration config, int[] count, Class<T> class1, Class<T1> class2) { EmbeddedObjectContainer database = Db4oEmbedded.openFile(config, tempFile()); try { List<T> list = database.query(class1); Assert.areEqual( count[0], list.size(), "Unexpected result querying for " + class1.getSimpleName()); if (count[0] > 0) { // System.out.println("Querying for " + class1.getSimpleName() + " getting " + // list.get(0).getClass().getSimpleName()); } List<T1> list1 = database.query(class2); Assert.areEqual( count[1], list1.size(), "Unexpected result querying for " + class2.getSimpleName()); if (count[1] > 0) { // System.out.println("Querying for " + class2.getSimpleName() + " getting " + // list1.get(0).getClass().getSimpleName()); } } finally { database.close(); } }
private void createData() { EmbeddedObjectContainer database = Db4oEmbedded.openFile(tempFile()); database.store(new A("Item1")); database.commit(); database.close(); }