Author: tchemit Date: 2009-11-02 04:33:09 +0100 (Mon, 02 Nov 2009) New Revision: 157 Modified: trunk/src/main/java/org/nuiton/rss/RSSHelper.java Log: reformat + improve code Modified: trunk/src/main/java/org/nuiton/rss/RSSHelper.java =================================================================== --- trunk/src/main/java/org/nuiton/rss/RSSHelper.java 2009-10-11 11:27:51 UTC (rev 156) +++ trunk/src/main/java/org/nuiton/rss/RSSHelper.java 2009-11-02 03:33:09 UTC (rev 157) @@ -20,54 +20,57 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ - package org.nuiton.rss; import com.sun.syndication.feed.synd.SyndEntry; import com.sun.syndication.feed.synd.SyndFeed; -import java.net.MalformedURLException; -import java.util.List; import org.apache.commons.collections.map.ReferenceMap; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import java.net.MalformedURLException; +import java.util.List; + /** - * * @author poussin */ public class RSSHelper { - /** to use log facility, just put in your code: log.info(\"...\"); */ + /** + * to use log facility, just put in your code: log.info(\"...\"); + */ static final Log log = LogFactory.getLog(RSSHelper.class); /** - * * @return une nouvelle instance de RssHelper en utilisant les implantations - * definies dans RSSConfig. + * definies dans RSSConfig. * @throws java.lang.Exception pour tout pb lors de l'instanciation des objects */ public static RSSHelper newDefaultInstance() throws Exception { FeedURLResolver r = RSSConfig.DEFAULT_RESOLVER_CLASS.newInstance(); - FeedRenderer rr = RSSConfig.DEFAULT_RENDERER_CLASS.newInstance(); - RSSHelper helper = new RSSHelper(r,rr); + FeedRenderer rr = RSSConfig.DEFAULT_RENDERER_CLASS.newInstance(); + RSSHelper helper = new RSSHelper(r, rr); return helper; } - - /** La classe permettant de resoudre les urls */ + + /** + * La classe permettant de resoudre les urls + */ protected FeedURLResolver resolver = null; - /** on utilise des soft reference pour eviter de trop utiliser la memoire - key: String, value: FeedData */ + /** + * on utilise des soft reference pour eviter de trop utiliser la memoire + * key: String, value: FeedData + */ protected ReferenceMap feeds = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT); - protected FeedRenderer renderer = null; - + /** * Utilise un SimpleFeedURLResolver comme resolver de feed */ public RSSHelper() { this(new SimpleFeedURLResolver(), new FeedHTMLRenderer(new HTMLScriptCleaner())); } - + public RSSHelper(FeedURLResolver resolver, FeedRenderer renderer) { this.resolver = resolver; this.renderer = renderer; @@ -88,18 +91,18 @@ public FeedURLResolver getResolver() { return resolver; } - - public void removeFeed(String feedName) { + + public void removeFeed(String feedName) { feeds.remove(feedName); } - + /** * Permet de recuperer un certain nombre d'item du feed demande - * - * @param feedName nom du feed souhaite, l'url sera resolu avec le FeedURLResolver + * + * @param feedName nom du feed souhaite, l'url sera resolu avec le FeedURLResolver * @param representation indique les champs en sortie souhaites (ex: n-nt) - * @param nbItem le nombre d'item du feed souhaite - * @param forceReload un flag pour forcer la relecture du feed + * @param nbItem le nombre d'item du feed souhaite + * @param forceReload un flag pour forcer la relecture du feed * @return le code html representant le feed */ public String getHTML(String feedName, String representation, Integer nbItem, boolean forceReload) { @@ -107,8 +110,8 @@ FeedData feed = (FeedData) feeds.get(feedName); if (forceReload || feed == null || feed.getLastRetrived() + RSSConfig.TIME_FORCE_RETRIEVED < System.currentTimeMillis()) { feed = resolver.resolv(feedName); - if (feed==null) { - log.warn("could not find feed for "+feedName); + if (feed == null) { + log.warn("could not find feed for " + feedName); return "<span class='feed-error'>No feed found for " + feedName + "</span>"; } feeds.put(feedName, feed); @@ -120,22 +123,22 @@ } else { c = feed.getRendererConfig(); } - + int nb; if (nbItem != null) { nb = nbItem; } else { nb = feed.getNbItem(); } - + SyndFeed sf = feed.getFeed(); //TODO Deal with NPE... if feed is null - List syndEntries = sf.getEntries(); + List<?> syndEntries = sf.getEntries(); if (nb >= 0 && syndEntries.size() >= nb) { syndEntries = syndEntries.subList(syndEntries.size() - nb, syndEntries.size()); } - SyndEntry [] items = (SyndEntry[])syndEntries.toArray(new SyndEntry[syndEntries.size()]); - + SyndEntry[] items = syndEntries.toArray(new SyndEntry[syndEntries.size()]); + String result = renderer.render(c, sf, items); return result; } catch (MalformedURLException eee) {
participants (1)
-
tchemit@users.nuiton.org