[Lutinweb-commits] r17 - trunk/lutinrss/src/main/java/org/codelutin/rss
Author: tchemit Date: 2008-04-25 07:30:28 +0000 (Fri, 25 Apr 2008) New Revision: 17 Modified: trunk/lutinrss/src/main/java/org/codelutin/rss/RSSHelper.java Log: ajout methode newDefaultInstance pour obtenir une nouvelle instance de RssHelper avec les implanations trouvees dans RSSConfig Modified: trunk/lutinrss/src/main/java/org/codelutin/rss/RSSHelper.java =================================================================== --- trunk/lutinrss/src/main/java/org/codelutin/rss/RSSHelper.java 2008-04-24 13:06:57 UTC (rev 16) +++ trunk/lutinrss/src/main/java/org/codelutin/rss/RSSHelper.java 2008-04-25 07:30:28 UTC (rev 17) @@ -21,6 +21,19 @@ /** to use log facility, just put in your code: log.info(\"...\"); */ private static final Log log = LogFactory.getLog(RSSHelper.class); + + /** + * + * @return une nouvelle instance de RssHelper en utilisant les implantations + * 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); + return helper; + } /** La classe permettant de resoudre les urls */ protected FeedURLResolver resolver = null; @@ -57,20 +70,29 @@ public FeedURLResolver getResolver() { return resolver; } - + + 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 representation indique les champs en sortie souhaites (ex: n-nt) * @param nbItem le nombre d'item du feed souhaite + * @param forceResolv un flag pour forcer la resolution * @return le code html representant le feed */ - public String getHTML(String feedName, String representation, Integer nbItem) { + public String getHTML(String feedName, String representation, Integer nbItem,boolean forceResolv) { try { FeedData feed = (FeedData) feeds.get(feedName); - if (feed == null) { + if (feed == null || forceResolv) { feed = resolver.resolv(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); }
participants (1)
-
tchemit@users.labs.libre-entreprise.org