[jboss-svn-commits] JBL Code SVN: r19489 - in labs/jbosslabs/trunk/portal-extensions: forge-portlets and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Apr 8 17:23:34 EDT 2008
Author: wrzep
Date: 2008-04-08 17:23:34 -0400 (Tue, 08 Apr 2008)
New Revision: 19489
Modified:
labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/informa/jars/informa.jar
labs/jbosslabs/trunk/portal-extensions/forge-portlets/project.xml
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/podcast/Podcast.java
Log:
podcast (or rather informa lib) switched to atom
Modified: labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/informa/jars/informa.jar
===================================================================
(Binary files differ)
Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/project.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/project.xml 2008-04-08 21:22:57 UTC (rev 19488)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/project.xml 2008-04-08 21:23:34 UTC (rev 19489)
@@ -159,7 +159,6 @@
<dependency>
<groupId>informa</groupId>
<artifactId>informa</artifactId>
- <version>0.6.5</version>
<jar>informa.jar</jar>
</dependency>
<dependency>
Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/podcast/Podcast.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/podcast/Podcast.java 2008-04-08 21:22:57 UTC (rev 19488)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/podcast/Podcast.java 2008-04-08 21:23:34 UTC (rev 19489)
@@ -23,6 +23,7 @@
package org.jboss.forge.podcast;
import java.util.Collection;
+import java.util.Comparator;
import java.util.Iterator;
import java.util.Map;
import java.util.HashMap;
@@ -43,6 +44,8 @@
import org.jboss.portal.core.servlet.jsp.taglib.context.DelegateContext;
import org.jboss.shotoku.ContentManager;
import org.jboss.logging.Logger;
+import org.jdom.JDOMException;
+import org.jdom.input.SAXBuilder;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -50,7 +53,7 @@
import de.nava.informa.core.ChannelIF;
import de.nava.informa.impl.basic.ChannelBuilder;
-import de.nava.informa.parsers.FeedParser;
+import de.nava.informa.parsers.Atom_1_0_Parser;
import de.nava.informa.utils.ItemComparator;
import de.nava.informa.core.ItemIF;
import de.nava.informa.core.ItemEnclosureIF;
@@ -91,9 +94,12 @@
/**
* <code>allItemsArr</code> - Array if ItemIF objects, containing items from all feeds.
*/
- private Object[] allItemsArr;
+ private ItemIF[] allItemsArr;
@SuppressWarnings("unchecked") Podcast(String serverAdress, Node root) {
+
+ log.debug("Updating podcast");
+
this.serverAdress = serverAdress;
log = Logger.getLogger(this.getClass());
@@ -125,9 +131,15 @@
// Parse and sort the items
Map<String,String> urls = getURLs(nodes);
+
+ Set<ItemIF> itemsSet = getAllItems(urls);
+
+ allItemsArr = new ItemIF[itemsSet.size()];
+ allItemsArr = (ItemIF[]) itemsSet.toArray(allItemsArr);
- allItemsArr = getAllItems(urls).toArray();
- java.util.Arrays.sort((Object[]) allItemsArr, new ItemComparator(true));
+ Comparator<ItemIF> ic = new ItemComparator(true);
+
+ java.util.Arrays.sort(allItemsArr, ic);
}
/**
@@ -166,9 +178,6 @@
}
nodeContext.put("description", description);
- //System.out.println("getDescription " + description);
- //System.out.println("get('description') " + item.getElementValue("description"));
-
// item date
Date date = item.getDate();
if (date != null) {
@@ -444,7 +453,15 @@
conn.connect();
is = conn.getInputStream();
- ChannelIF channel = FeedParser.parse(new ChannelBuilder(), is);
+ SAXBuilder saxBuilder = new SAXBuilder(false);
+
+ org.jdom.Document doc = saxBuilder.build(is);
+ org.jdom.Element root = doc.getRootElement();
+
+ Atom_1_0_Parser a = Atom_1_0_Parser.getInstance();
+
+ ChannelIF channel = a.parse(new ChannelBuilder(), root);
+
if (channel != null) {
Collection items = channel.getItems();
if ((items != null) && (!items.isEmpty())) {
@@ -454,9 +471,10 @@
} catch (IOException e) {
log.warn(urlString + " could not be found.");
- //e.printStackTrace();
+ } catch (JDOMException e) {
+ log.warn("DOM error: " + urlString, e);
} catch (ParseException e) {
- log.warn("Parse error: " + urlString);
+ log.warn("Parse error: " + urlString, e);
} finally {
try {
if (is != null) {
More information about the jboss-svn-commits
mailing list