/**
* Tests adding, updating and getting a folder with no parent.
*/
@Test
public void testAddUpdateAndGetFolder() {
final Folder initialFolder = (Folder) createFolder();
final Folder[] updatedFolder = new Folder[1];
final boolean[] folderAddedCalled = new boolean[] { false };
final boolean[] folderUpdatedCalled = new boolean[] { false };
FolderListener folderListener = null;
try {
folderListener = new FolderAdapter() {
@Override
public void folderAdded(Set<FolderEvent> events) {
for (FolderEvent event : events) {
try {
folderAddedCalled[0] = true;
Folder dbFolder = (Folder) event.getEntity();
initialFolder.setId(dbFolder.getId());
assertTrue(NOT_IDENTICAL_MESSAGE, initialFolder.isIdentical(dbFolder));
dbFolder.setBlogrollUrl(createURI("http://www.newuri.com"));
dbFolder.setName("New name");
updatedFolder[0] = dbFolder;
fModelDAO.saveFolder(dbFolder);
} catch (PersistenceException e) {
fail(e.getMessage());
}
}
}
@Override
public void folderUpdated(Set<FolderEvent> events) {
for (FolderEvent event : events) {
folderUpdatedCalled[0] = true;
Folder dbFolder = (Folder) event.getEntity();
assertTrue(updatedFolder[0].isIdentical(dbFolder));
}
}
};
NewsModel.getDefault().addFolderListener(folderListener);