/** * Builds the default {@link BoxStore} instance, which can be acquired using {@link BoxStore#getDefault()}. * For testability, please see the comment of {@link BoxStore#getDefault()}. * <p> * May be called once only (throws otherwise). */ public BoxStore buildDefault() { BoxStore store = build(); BoxStore.setDefault(store); return store; } }
protected BoxStoreBuilder createBoxStoreBuilder(boolean withIndex) { BoxStoreBuilder builder = new BoxStoreBuilder(createTestModel(withIndex)).directory(boxStoreDir); builder.debugFlags(DebugFlags.LOG_TRANSACTIONS_READ | DebugFlags.LOG_TRANSACTIONS_WRITE); builder.entity(new TestEntity_()); return builder; }
public static BoxStoreBuilder builder() { BoxStoreBuilder builder = new BoxStoreBuilder(getModel()); builder.entity(ObfuscatedEntity_.__INSTANCE); return builder; }
@Override protected BoxStore createBoxStore() { return MyObjectBox.builder().baseDirectory(boxStoreDir).debugTransactions().build(); }
@Override public void onCreate() { super.onCreate(); boxStore = MyObjectBox.builder().androidContext(App.this).build(); }
@Test // TODO can we improve? More than just "still works"? public void testQueryAttempts() { store.close(); BoxStoreBuilder builder = new BoxStoreBuilder(createTestModel(false)).directory(boxStoreDir) .queryAttempts(5) .failedReadTxAttemptCallback(new TxCallback() { @Override public void txFinished(@Nullable Object result, @Nullable Throwable error) { error.printStackTrace(); } }); builder.entity(new TestEntity_()); store = builder.build(); putTestEntitiesScalars(); Query<TestEntity> query = store.boxFor(TestEntity.class).query().equal(simpleInt, 2007).build(); assertEquals(2007, query.findFirst().getSimpleInt()); }
@Test public void testCallInReadTxWithRetry_callback() { closeStoreForTest(); final int[] countHolder = {0}; final int[] countHolderCallback = {0}; BoxStoreBuilder builder = new BoxStoreBuilder(createTestModel(false)).directory(boxStoreDir) .failedReadTxAttemptCallback(new TxCallback() { @Override public void txFinished(@Nullable Object result, @Nullable Throwable error) { assertNotNull(error); countHolderCallback[0]++; } }); store = builder.build(); String value = store.callInReadTxWithRetry(createTestCallable(countHolder), 5, 0, true); assertEquals("42", value); assertEquals(5, countHolder[0]); assertEquals(4, countHolderCallback[0]); }
public void setUp(Context context, PerfTestRunner testRunner) { super.setUp(context, testRunner); store = MyObjectBox.builder().androidContext(context).build(); store.close(); store.deleteAllFiles(); store = MyObjectBox.builder().androidContext(context).maxSizeInKByte(200 * 1024).build(); box = store.boxFor(SimpleEntity.class); boxIndexed = store.boxFor(SimpleEntityIndexed.class); if (!versionLoggedOnce) { String versionNative = BoxStore.getVersionNative(); String versionJava = BoxStore.getVersion(); if (versionJava.equals(versionNative)) { log("ObjectBox " + versionNative); } else { log("ObjectBox " + versionNative + " (Java: " + versionJava + ")"); } versionLoggedOnce = true; } }
@Test public void testDeleteAllFiles_staticDir() { closeStoreForTest(); File boxStoreDir2 = new File(boxStoreDir.getAbsolutePath() + "-2"); BoxStoreBuilder builder = new BoxStoreBuilder(createTestModel(false)).directory(boxStoreDir2); BoxStore store2 = builder.build(); store2.close(); assertTrue(boxStoreDir2.exists()); assertTrue(BoxStore.deleteAllFiles(boxStoreDir2)); assertFalse(boxStoreDir2.exists()); }
@Test public void testDeleteAllFiles_baseDirName() { closeStoreForTest(); File basedir = new File("test-base-dir"); String name = "mydb"; basedir.mkdir(); assertTrue(basedir.isDirectory()); File dbDir = new File(basedir, name); assertFalse(dbDir.exists()); BoxStoreBuilder builder = new BoxStoreBuilder(createTestModel(false)).baseDirectory(basedir).name(name); BoxStore store2 = builder.build(); store2.close(); assertTrue(dbDir.exists()); assertTrue(BoxStore.deleteAllFiles(basedir, name)); assertFalse(dbDir.exists()); assertTrue(basedir.delete()); }
@Test public void testDebugCursor_seekOrNext_get_withoutModel() { TestEntity entity1 = putTestEntity("foo", 23); TestEntity entity2 = putTestEntity("bar", 42); store.close(); store = BoxStoreBuilder.createDebugWithoutModel().directory(boxStoreDir).build(); runTest(entity1, entity2); }
@Before public void setUp() throws Exception { // delete database files before each test to start with a clean database BoxStore.deleteAllFiles(TEST_DIRECTORY); store = MyObjectBox.builder() // add directory flag to change where ObjectBox puts its database files .directory(TEST_DIRECTORY) // optional: add debug flags for more detailed ObjectBox log output .debugFlags(DebugFlags.LOG_QUERIES | DebugFlags.LOG_QUERY_PARAMETERS) .build(); }
@Test public void testDateParam() { store.close(); assertTrue(store.deleteAllFiles()); store = MyObjectBox.builder().baseDirectory(boxStoreDir).debugFlags(DebugFlags.LOG_QUERY_PARAMETERS).build(); Date now = new Date(); Order order = new Order(); order.setDate(now); Box<Order> box = store.boxFor(Order.class); box.put(order); Query<Order> query = box.query().equal(Order_.date, 0).build(); assertEquals(0, query.count()); query.setParameter(Order_.date, now); }
public static void main(String[] args) { BoxStore store = MyObjectBox.builder().name("objectbox-notes-db").build(); Box<Note> box = store.boxFor(Note.class); String text = args.length > 0 ? String.join(" ", args) : "No text given"; box.put(new Note(text)); System.out.println(box.count() + " notes in ObjectBox database:"); for (Note note : box.getAll()) { System.out.println(note); } store.close(); } }
@Test public void testMaxReaders() throws InterruptedException { builder = createBoxStoreBuilder(false); store = builder.maxReaders(1).build(); final Exception[] exHolder = {null}; final Thread thread = new Thread(new Runnable() {
@Test public void testOpenTwoBoxStoreTwoFiles() { File boxStoreDir2 = new File(boxStoreDir.getAbsolutePath() + "-2"); BoxStoreBuilder builder = new BoxStoreBuilder(createTestModel(false)).directory(boxStoreDir2); builder.entity(new TestEntity_()); }
@Before public void setUpBox() { BoxStore.clearDefaultStore(); builder = new BoxStoreBuilder(createTestModel(false)).directory(boxStoreDir); }
/** Not for application use. */ public static BoxStoreBuilder createDebugWithoutModel() { return new BoxStoreBuilder(); }
@Override protected BoxStoreBuilder createBoxStoreBuilder(boolean withIndex) { return super.createBoxStoreBuilder(withIndex).debugFlags(DebugFlags.LOG_QUERY_PARAMETERS); }