X-Git-Url: http://wpitchoune.net/gitweb/?a=blobdiff_plain;f=war%2Fsrc%2Fmain%2Fjava%2Fpnews%2Fservlet%2FArticleProvider.java;h=d3e4f3de76dde49e3262a3e97ea94c9b86cd6938;hb=f4a4051dca40f99db1d84e6967dafbb6b1af647d;hp=b28bbf5701aea8765e427b7c02d7a8cfed8dd6d1;hpb=14d5e6993de84967141710b3d3c44edf055a71ec;p=pnews.git diff --git a/war/src/main/java/pnews/servlet/ArticleProvider.java b/war/src/main/java/pnews/servlet/ArticleProvider.java index b28bbf5..d3e4f3d 100644 --- a/war/src/main/java/pnews/servlet/ArticleProvider.java +++ b/war/src/main/java/pnews/servlet/ArticleProvider.java @@ -120,10 +120,10 @@ public class ArticleProvider { return false; } - private Article toArticle(String link, Category cat, SyndEntry entry, SyndFeed feed) { + private static Article toArticle(String link, SyndEntry entry, SyndFeed feed) { String desc, title, thumbnail; Date date; - + thumbnail = null; for (SyndEnclosure e: entry.getEnclosures()) { if (e.getType().startsWith("image/")) @@ -149,36 +149,27 @@ public class ArticleProvider { if (date == null) LOG.severe("The article " + feed.getTitle() + " - " + title + " does not have a date"); - return new Article(link, cat, title, desc, thumbnail, date, title); + return new Article(link, title, desc, thumbnail, date, title); } - - private void addArticles(Category cat, SyndFeed feed) { - String thumbnail; - String desc, link, title, feedTitle, feedImage; - Date date; + String feedTitle; List
articles; Article a; feedTitle = feed.getTitle().trim(); - if (feed.getImage() != null) - feedImage = feed.getImage().getUrl(); - else - feedImage = null; - LOG.info("addArticles " + cat.getId() + " " + feedTitle + " number of articles: " + feed.getEntries().size()); for (SyndEntry entry: feed.getEntries()) { - link = entry.getLink().trim(); + String link = entry.getLink().trim(); articles = getArticlesForUpdate(cat); if (exists(link, articles)) { LOG.fine("addArticles " + link + " is already present"); continue ; } - a = toArticle(link, cat, entry, feed); + a = ArticleStore.singleton.getArticle(link, ()->toArticle(link, entry, feed)); synchronized (articles) { articles.add(a); @@ -194,14 +185,13 @@ public class ArticleProvider { return -1; return o2.publicationDate.compareTo(o1.publicationDate); } - }); } } LOG.info("addArticles done " + cat.getId()); } - + private void retrieveArticles(Category cat) throws IllegalArgumentException, MalformedURLException, FeedException, IOException { String[] feeds;