*/
@Test
public void testAddUpdateAndGetBookMark() {
BookMarkListener bookMarkListener = null;
try {
final BookMark initialBookMark = (BookMark) createBookMark();
final BookMark[] updatedBookMark = new BookMark[1];
final boolean[] bookMarkAddedCalled = new boolean[] { false };
final boolean[] bookMarkUpdatedCalled = new boolean[] { false };
bookMarkListener = new BookMarkAdapter() {
@Override
public void bookMarkAdded(Set<BookMarkEvent> events) {
BookMarkEvent event = events.iterator().next();
try {
bookMarkAddedCalled[0] = true;
BookMark dbBookMark = (BookMark) event.getEntity();
initialBookMark.setId(dbBookMark.getId());
assertTrue(initialBookMark.isIdentical(dbBookMark));
dbBookMark.setName("Another name");
updatedBookMark[0] = dbBookMark;
fModelDAO.saveBookMark(dbBookMark);
} catch (PersistenceException e) {
fail(e.getMessage());
}
}
@Override
public void bookMarkUpdated(Set<BookMarkEvent> events) {
BookMarkEvent event = events.iterator().next();
bookMarkUpdatedCalled[0] = true;
BookMark dbBookMark = (BookMark) event.getEntity();
assertTrue(updatedBookMark[0].isIdentical(dbBookMark));
}
};
NewsModel.getDefault().addBookMarkListener(bookMarkListener);
fModelDAO.saveBookMark(initialBookMark);