1 17 package com.sun.syndication.feed.synd.impl; 18 19 import com.sun.syndication.feed.WireFeed; 20 import com.sun.syndication.feed.rss.Channel; 21 import com.sun.syndication.feed.rss.Guid; 22 import com.sun.syndication.feed.rss.Item; 23 import com.sun.syndication.feed.synd.SyndEntry; 24 import com.sun.syndication.feed.synd.SyndFeed; 25 26 import java.util.ArrayList ; 27 import java.util.HashSet ; 28 import java.util.List ; 29 import java.util.Set ; 30 31 33 public class ConverterForRSS094 extends ConverterForRSS093 { 34 35 public ConverterForRSS094() { 36 this("rss_0.94"); 37 } 38 39 protected ConverterForRSS094(String type) { 40 super(type); 41 } 42 43 public void copyInto(WireFeed feed,SyndFeed syndFeed) { 44 Channel channel = (Channel) feed; 45 super.copyInto(channel,syndFeed); 46 List cats = channel.getCategories(); if (cats.size()>0) { 48 Set s = new HashSet (); s.addAll(createSyndCategories(cats)); s.addAll(syndFeed.getCategories()); syndFeed.setCategories(new ArrayList (s)); 52 } 53 } 54 55 protected SyndEntry createSyndEntry(Item item) { 56 SyndEntry syndEntry = super.createSyndEntry(item); 57 syndEntry.setAuthor(item.getAuthor()); 59 Guid guid = item.getGuid(); 60 if (guid!=null) { 61 syndEntry.setUri(guid.getValue()); 62 if (item.getLink()==null && guid.isPermaLink()) { 63 syndEntry.setLink(guid.getValue()); 64 } 65 } 66 else { 67 syndEntry.setUri(item.getLink()); 68 } 69 return syndEntry; 70 } 71 72 73 protected WireFeed createRealFeed(String type,SyndFeed syndFeed) { 74 Channel channel = (Channel) super.createRealFeed(type,syndFeed); 75 List cats = syndFeed.getCategories(); if (cats.size()>0) { 77 channel.setCategories(createRSSCategories(cats)); 78 } 79 return channel; 80 } 81 82 protected Item createRSSItem(SyndEntry sEntry) { 83 Item item = super.createRSSItem(sEntry); 84 item.setAuthor(sEntry.getAuthor()); 86 Guid guid = null; 87 String uri = sEntry.getUri(); 88 if (uri!=null) { 89 guid = new Guid(); 90 guid.setPermaLink(false); 91 guid.setValue(uri); 92 } 93 else { 94 String link = sEntry.getLink(); 95 if (link!=null) { 96 guid = new Guid(); 97 guid.setPermaLink(true); 98 guid.setValue(link); 99 } 100 } 101 item.setGuid(guid); 102 103 return item; 104 } 105 106 } 107 | Popular Tags |