use of com.sun.syndication.feed.synd.SyndFeed in project play-cookbook by spinscale.
the class FeedTest method testThatRss20Works.
@Test
public void testThatRss20Works() throws Exception {
Response response = GET("/feed/posts.rss2");
assertIsOk(response);
assertContentType("application/rss+xml", response);
assertCharset("utf-8", response);
SyndFeed feed = getFeed(response);
assertEquals("rss_2.0", feed.getFeedType());
}
use of com.sun.syndication.feed.synd.SyndFeed in project apex-malhar by apache.
the class RomeSyndicationOperator method run.
/**
* Thread processing of the syndication feeds
*/
@Override
public void run() {
try {
while (true) {
InputStreamReader isr = null;
try {
isr = new InputStreamReader(getFeedInputStream());
SyndFeedInput feedInput = new SyndFeedInput();
SyndFeed feed = feedInput.build(isr);
List entries = feed.getEntries();
List<RomeFeedEntry> nfeedItems = new ArrayList<RomeFeedEntry>();
boolean oldEntries = false;
for (int i = 0; i < entries.size(); ++i) {
SyndEntry syndEntry = (SyndEntry) entries.get(i);
RomeFeedEntry romeFeedEntry = getSerializableEntry(syndEntry);
if (!oldEntries) {
if (!feedItems.contains(romeFeedEntry)) {
outputPort.emit(romeFeedEntry);
} else if (orderedUpdate) {
oldEntries = true;
}
}
nfeedItems.add(romeFeedEntry);
}
feedItems = nfeedItems;
} catch (Exception e) {
logger.error(e.getMessage());
} finally {
if (isr != null) {
try {
isr.close();
} catch (Exception ce) {
logger.error(ce.getMessage());
}
}
}
Thread.sleep(interval);
}
} catch (InterruptedException ie) {
logger.error("Interrupted: " + ie.getMessage());
}
}
use of com.sun.syndication.feed.synd.SyndFeed in project quickstarts by jboss-switchyard.
the class CamelRSSPollTest method shouldRetrieveGreetings.
@Test
public void shouldRetrieveGreetings() throws Exception {
_testKit.removeService("PrintService");
final MockHandler printService = _testKit.registerInOnlyService("PrintService");
Thread.sleep(10001);
final LinkedBlockingQueue<Exchange> receivedMessages = printService.getMessages();
for (Exchange e : receivedMessages) {
SyndFeed feed = (SyndFeed) e.getMessage().getContent();
@SuppressWarnings("unchecked") List<SyndEntry> entries = feed.getEntries();
Assert.assertEquals(feed.getEntries().size(), 1);
Iterator<SyndEntry> itEntries = entries.iterator();
while (itEntries.hasNext()) {
SyndEntry entry = (SyndEntry) itEntries.next();
Assert.assertTrue(entry.getTitle().equals(SONG_TITLE));
Assert.assertTrue(entry.getLink().equals(SONG_URL));
Assert.assertTrue(entry.getDescription().getValue().equals(SONG_DESCRIPTION));
}
}
}
use of com.sun.syndication.feed.synd.SyndFeed in project jersey by jersey.
the class FeedDownloader method apply.
@Override
@SuppressWarnings("unchecked")
public List<SyndEntry> apply(URL url) {
try (XmlReader xmlReader = new XmlReader(url)) {
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(xmlReader);
return feed.getEntries();
} catch (Exception e) {
LOG.warn("An error during downloading and parsing a given feed: " + url, e);
}
return Collections.emptyList();
}
use of com.sun.syndication.feed.synd.SyndFeed in project jersey by jersey.
the class FeedEntriesAtomBodyWriter method writeTo.
@Override
public void writeTo(List<FeedEntry> entries, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException, WebApplicationException {
List<SyndEntry> syndEntries = entries.parallelStream().map(entry -> {
SyndContent description = new SyndContentImpl();
description.setType(MediaType.TEXT_PLAIN);
description.setValue(entry.getDescription());
SyndEntry syndEntry = new SyndEntryImpl();
syndEntry.setTitle(entry.getTitle());
syndEntry.setLink(entry.getLink());
syndEntry.setPublishedDate(entry.getPublishDate());
syndEntry.setDescription(description);
return syndEntry;
}).collect(Collectors.toList());
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType("atom_1.0");
feed.setTitle("Combined Feed");
feed.setDescription("Combined Feed created by a feed-combiner application");
feed.setPublishedDate(new Date());
feed.setEntries(syndEntries);
writeSyndFeed(entityStream, feed);
}
Aggregations