XmlReader r;
r = new XmlReader(new URL(u));
- XmlReader.setDefaultEncoding("UTF-8");
return new SyndFeedInput().build(r);
}
result.put(Category.TOP,
new String[] {
+ "http://www.europe1.fr/var/export/rss/europe1/actus.xml",
"http://www.francetvinfo.fr/titres.rss",
"http://www.rfi.fr/general/rss",
"http://www.cnews.fr/rss/une",
});
result.put(Category.SPORT,
- new String[] { "http://www.france24.com/fr/sports/rss" });
+ new String[] { "http://www.europe1.fr/var/export/rss/europe1/sport.xml",
+ "http://www.sportune.fr/feed",
+ "http://www.france24.com/fr/sports/rss" });
result.put(Category.FRANCE,
new String[] { "http://www.france24.com/fr/france/rss",
+ "http://www.francetvinfo.fr/france.rss",
"http://www.rfi.fr/france/rss"});
result.put(Category.EUROPE,
new String[] { "http://www.france24.com/fr/europe/rss" });
result.put(Category.MONDE,
- new String[] { "http://www.france24.com/fr/actualites/rss" });
+ new String[] { "http://www.europe1.fr/var/export/rss/europe1/international.xml",
+ "http://www.france24.com/fr/actualites/rss" });
result.put(Category.ECO,
new String[] { "http://www.france24.com/fr/economie/rss",
+ "http://www.europe1.fr/var/export/rss/europe1/economie.xml",
"http://www.rfi.fr/economie/rss" });
result.put(Category.ESSONNE,
});
result.put(Category.TECHNOLOGIE,
- new String[] { "http://feeds.feedburner.com/lesnumeriques/news",
- "http://www.zdnet.fr/feeds/rss/actualites/"});
+ new String[] { "http://www.generation-nt.com/export/rss.xml",
+ "http://www.europe1.fr/var/export/rss/europe1/sciences.xml",
+ "http://feeds.feedburner.com/lesnumeriques/news",
+ "http://www.zdnet.fr/feeds/rss/actualites/",
+ "http://www.frandroid.com/feed",
+ "http://www.silicon.fr/feed",
+ "http://www.fredzone.org/feed",
+ "http://www.futura-sciences.com/rss/actualites.xml",
+ "https://www-03.ibm.com/press/fr/fr/rssfeed.wss?keyword=null&maxFeed=&feedType=RSS&topic=all"});
return result;
}
}
private static Article toArticle(String link, SyndEntry entry, SyndFeed feed) {
- String desc, title, thumbnail, feedTitle;
+ String desc, title, thumbnail, feedTitle, str;
Date date;
feedTitle = feed.getTitle();
- if (feedTitle != null)
+ if (feedTitle != null) {
feedTitle = feedTitle.trim();
+ }
thumbnail = null;
for (SyndEnclosure e: entry.getEnclosures()) {
if (thumbnail == null && feed.getImage() != null)
thumbnail = feed.getImage().getUrl();
-
+
+
title = entry.getTitle().trim();
- if (entry.getDescription() != null) {
- desc = Jsoup.parse(entry.getDescription().getValue()).text();
+ if (entry.getDescription() != null) {
+ str = entry.getDescription().getValue();
+ desc = Jsoup.parse(str).text();
} else {
desc = null;
LOG.severe("No description for " + feedTitle + " - " + title);
}
@Override
- public void run() {
- List<Article> articles;
-
+ public void run() {
LOG.info("refresher "+ category.getId());
try {
retrieveArticles(category);
-
- synchronized (articlesByCategory) {
- articles = articlesByCategory.get(category);
- if (articles != null && articles.size() > 100) {
- articlesByCategory.put(category,
- articles.subList(0, 100));
-
- }
- LOG.info("refresher " + category.getId() + " number of articles: " + articles.size());
- }
} catch (IllegalArgumentException | FeedException | IOException e) {
LOG.log(Level.SEVERE, "refresher failure", e);
}