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) {