diff --git a/src/main/java/com/commafeed/backend/rome/RSS090DescriptionConverter.java b/src/main/java/com/commafeed/backend/rome/RSS090DescriptionConverter.java new file mode 100644 index 00000000..434986ec --- /dev/null +++ b/src/main/java/com/commafeed/backend/rome/RSS090DescriptionConverter.java @@ -0,0 +1,23 @@ +package com.commafeed.backend.rome; + +import com.sun.syndication.feed.rss.Description; +import com.sun.syndication.feed.rss.Item; +import com.sun.syndication.feed.synd.SyndContentImpl; +import com.sun.syndication.feed.synd.SyndEntry; +import com.sun.syndication.feed.synd.impl.ConverterForRSS090; + +public class RSS090DescriptionConverter extends ConverterForRSS090 { + + @Override + protected SyndEntry createSyndEntry(Item item, boolean preserveWireItem) { + SyndEntry entry = super.createSyndEntry(item, preserveWireItem); + Description desc = item.getDescription(); + if (desc != null) { + SyndContentImpl syndDesc = new SyndContentImpl(); + syndDesc.setValue(desc.getValue()); + entry.setDescription(syndDesc); + } + return entry; + } + +} diff --git a/src/main/java/com/commafeed/backend/rome/RSS090DescriptionParser.java b/src/main/java/com/commafeed/backend/rome/RSS090DescriptionParser.java new file mode 100644 index 00000000..055bf19f --- /dev/null +++ b/src/main/java/com/commafeed/backend/rome/RSS090DescriptionParser.java @@ -0,0 +1,25 @@ +package com.commafeed.backend.rome; + +import org.jdom.Element; + +import com.sun.syndication.feed.rss.Description; +import com.sun.syndication.feed.rss.Item; +import com.sun.syndication.io.impl.RSS090Parser; + +public class RSS090DescriptionParser extends RSS090Parser { + + @Override + protected Item parseItem(Element rssRoot, Element eItem) { + Item item = super.parseItem(rssRoot, eItem); + + Element e = eItem.getChild("description", getRSSNamespace()); + if (e != null) { + Description desc = new Description(); + desc.setValue(e.getText()); + item.setDescription(desc); + } + + return item; + } + +} diff --git a/src/main/resources/rome.properties b/src/main/resources/rome.properties index b735daff..642ea1b5 100644 --- a/src/main/resources/rome.properties +++ b/src/main/resources/rome.properties @@ -1 +1,6 @@ -WireFeedParser.classes=com.commafeed.backend.rome.OPML11Parser com.commafeed.backend.rome.RSSRDF10Parser \ No newline at end of file +WireFeedParser.classes= com.commafeed.backend.rome.OPML11Parser \ + com.commafeed.backend.rome.RSSRDF10Parser \ + com.commafeed.backend.rome.RSS090DescriptionParser + + +Converter.classes= com.commafeed.backend.rome.RSS090DescriptionConverter \ No newline at end of file