package org.magicdroid.app.ui;
import java.io.File;
import java.util.Date;
import org.magicdroid.commons.Injector;
import org.magicdroid.commons.Injector.Inject;
import org.magicdroid.model.impl.StandardStateFeature;
import android.os.Bundle;
import android.util.Log;
import com.db4o.Db4oEmbedded;
import com.db4o.EmbeddedObjectContainer;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import com.db4o.config.EmbeddedConfiguration;
public class TestDb4oActivity extends MDActivity {
private EmbeddedObjectContainer container;
@Inject Injector injector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EmbeddedConfiguration configuration = Db4oEmbedded.newConfiguration();
// configuration.common().reflectWith(new LoggingReflector(this.getClassLoader()));
// configuration.common().reflectWith(new FakeThePOJOsReflector(this.getClassLoader()));
container = Db4oEmbedded.openFile(configuration, new File(this.getDir("db4o", MODE_PRIVATE), "store.db").getAbsolutePath());
this.injector.bind(DbTest.Person.class, new Class[] {
StandardStateFeature.StateConcern.class,
// PersonImpl.class,
// MetaFeature.MetaFeatureMixin.class,
});
}
@Override public void updateModel() {}
@Override public void updateUI() {}
@Override
protected void onResume() {
super.onResume();
DbTest.Person p = this.injector.create(DbTest.Person.class); {
p.setName("Peter");
p.setBirth(new Date());
}
ObjectContainer tx = this.container.openSession();
tx.store(p);
tx.commit();
ObjectContainer tx2 = this.container.openSession();
ObjectSet<DbTest.Person> objectSet = tx2.queryByExample(DbTest.Person.class);
while (objectSet.hasNext())
Log.d("query", objectSet.next().toString());
tx2.commit();
}
@Override
protected void onDestroy() {
super.onDestroy();
this.container.close();
}
}
|