/** Not for application use. */ public static BoxStoreBuilder createDebugWithoutModel() { return new BoxStoreBuilder(); }
public static BoxStoreBuilder builder() { BoxStoreBuilder builder = new BoxStoreBuilder(getModel()); builder.entity(ObfuscatedEntity_.__INSTANCE); return builder; }
@Test public void testOpenTwoBoxStoreTwoFiles() { File boxStoreDir2 = new File(boxStoreDir.getAbsolutePath() + "-2"); BoxStoreBuilder builder = new BoxStoreBuilder(createTestModel(false)).directory(boxStoreDir2); builder.entity(new TestEntity_()); }
@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()); }
@Before public void setUpBox() { BoxStore.clearDefaultStore(); builder = new BoxStoreBuilder(createTestModel(false)).directory(boxStoreDir); }
@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()); }
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; }
protected BoxStoreBuilder createBoxStoreBuilderWithTwoEntities(boolean withIndex) { BoxStoreBuilder builder = new BoxStoreBuilder(createTestModelWithTwoEntities(withIndex)).directory(boxStoreDir); builder.debugFlags(DebugFlags.LOG_TRANSACTIONS_READ | DebugFlags.LOG_TRANSACTIONS_WRITE); builder.entity(new TestEntity_()); builder.entity(new TestEntityMinimal_()); return builder; }
@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]); }
@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()); }