try {
feedListener = new FeedAdapter() {
@Override
public void entitiesAdded(Set<FeedEvent> events) {
try {
FeedEvent event = events.iterator().next();
Feed dbFeed = (Feed) event.getEntity();
dbFeed.setDescription("feed description2");
dbFeed.setTitle("feed title2");
dbFeed.getImage().setDescription("Some new description");
dbFeed.getImage().setTitle("yet another title");
dbFeed.getImage().setHomepage(createURI("http://www.newimageuri.com"));
updatedFeed[0] = dbFeed;
DynamicDAO.save(dbFeed);
} catch (PersistenceException e) {
TestUtils.fail(e);
}
}
@Override
public void entitiesUpdated(Set<FeedEvent> events) {
try {
FeedEvent event = events.iterator().next();
// TODO Add method to load entities without using the cache and
// then use it here. Atm, this test won't actually show the bug
// we want it to show because it's getting the feed from the cache
// bypassing the db inconsistency
Feed dbFeed = (Feed) event.getEntity();
assertEquals(feedLink.toString(), dbFeed.getLink().toString());
} catch (RuntimeException re) {
fail(re.getMessage());
}
}