use of org.liberty.android.fantastischmemo.dao.CategoryDao in project AnyMemo by helloworld1.
the class CSVExporter method convert.
@Override
public void convert(String src, String dest) throws Exception {
new File(dest).delete();
AnyMemoDBOpenHelper helper = AnyMemoDBOpenHelperManager.getHelper(src);
final CardDao cardDao = helper.getCardDao();
final CategoryDao categoryDao = helper.getCategoryDao();
CSVWriter writer;
if (separator == null) {
writer = new CSVWriter(new FileWriter(dest));
} else {
writer = new CSVWriter(new FileWriter(dest), separator);
}
try {
final List<Card> cardList = cardDao.queryForAll();
// Populate all category field in a transaction.
categoryDao.callBatchTasks(new Callable<Void>() {
public Void call() throws Exception {
for (Card c : cardList) {
categoryDao.refresh(c.getCategory());
}
return null;
}
});
AnyMemoDBOpenHelperManager.releaseHelper(helper);
if (cardList.size() == 0) {
throw new IOException("Can't retrieve cards for database: " + src);
}
String[] entries = new String[4];
for (Card card : cardList) {
entries[0] = card.getQuestion();
entries[1] = card.getAnswer();
entries[2] = card.getCategory().getName();
entries[3] = card.getNote();
writer.writeNext(entries);
}
} finally {
writer.close();
}
}
use of org.liberty.android.fantastischmemo.dao.CategoryDao in project AnyMemo by helloworld1.
the class TabTxtImporterTest method verify.
@Override
protected void verify(String destFilePath) throws Exception {
AnyMemoDBOpenHelper helper = AnyMemoDBOpenHelperManager.getHelper(getContext(), destFilePath);
try {
CardDao cardDao = helper.getCardDao();
CategoryDao categoryDao = helper.getCategoryDao();
List<Card> cards = cardDao.queryForAll();
List<Category> categories = categoryDao.queryForAll();
for (Card c : cards) {
categoryDao.refresh(c.getCategory());
}
assertEquals(4, cards.size());
assertEquals(3, categories.size());
assertEquals("Question1", cards.get(0).getQuestion());
assertEquals("Answer1", cards.get(0).getAnswer());
assertEquals("Category1", cards.get(0).getCategory().getName());
assertEquals("Question2", cards.get(1).getQuestion());
assertEquals("Answer2", cards.get(1).getAnswer());
assertEquals("Category1", cards.get(1).getCategory().getName());
assertEquals("Question3", cards.get(2).getQuestion());
assertEquals("Answer3", cards.get(2).getAnswer());
assertEquals("Category2", cards.get(2).getCategory().getName());
assertEquals("Question4", cards.get(3).getQuestion());
assertEquals("Answer4", cards.get(3).getAnswer());
assertEquals("", cards.get(3).getCategory().getName());
} finally {
helper.close();
}
}
use of org.liberty.android.fantastischmemo.dao.CategoryDao in project AnyMemo by helloworld1.
the class CardDaoTest method testSearchLastOrdinalWithcategoryIfExists.
@SmallTest
@Test
public void testSearchLastOrdinalWithcategoryIfExists() throws Exception {
setupThreeCategories();
CardDao cardDao = helper.getCardDao();
CategoryDao categoryDao = helper.getCategoryDao();
List<Category> cts = categoryDao.queryForEq("name", "My category");
Category ct = cts.get(0);
Card c = cardDao.queryLastOrdinal(ct);
assertEquals(8, (int) c.getId());
}
Aggregations