in taverna-interaction-activity/src/main/java/org/apache/taverna/activities/interaction/FeedReader.java [50:103]
public void run() {
try {
final Parser parser = new FOMParser();
Date lastCheckedDate = new Date();
while (true) {
try {
sleep(5000);
} catch (final InterruptedException e1) {
logger.error(e1);
}
InputStream openStream = null;
try {
final Date newLastCheckedDate = new Date();
final URL url = getInteractionPreference().getFeedUrl();
openStream = url.openStream();
final Document<Feed> doc = parser.parse(openStream,
url.toString());
final Feed feed = doc.getRoot().sortEntriesByEdited(true);
for (final Entry entry : feed.getEntries()) {
Date d = entry.getEdited();
if (d == null) {
d = entry.getUpdated();
}
if (d == null) {
d = entry.getPublished();
}
if (d.before(lastCheckedDate)) {
break;
}
this.considerEntry(entry);
}
lastCheckedDate = newLastCheckedDate;
} catch (final MalformedURLException e) {
logger.error(e);
} catch (final ParseException e) {
logger.error(e);
} catch (final IOException e) {
logger.error(e);
} finally {
try {
if (openStream != null) {
openStream.close();
}
} catch (final IOException e) {
logger.error(e);
}
}
}
} catch (final Exception e) {
logger.error(e);
}
}