/** Test of parse method, of class com.totsp.xml.syndication.itunes.ITunesParser. */ public void testParse() throws Exception { File feed = new File(this.getTestFile("/test/xml/leshow.xml")); SyndFeedInput input = new SyndFeedInput(); SyndFeed syndfeed = input.build(new XmlReader(feed.toURL())); Module module = syndfeed.getModule(AbstractITunesObject.URI); FeedInformationImpl feedInfo = (FeedInformationImpl) module; assertEquals("owner", "Harry Shearer", feedInfo.getOwnerName()); assertEquals("email", "", feedInfo.getOwnerEmailAddress()); assertEquals( "image", "http://a1.phobos.apple.com/Music/y2005/m06/d26/h21/mcdrrifv.jpg", feedInfo.getImage().toExternalForm()); assertEquals("category", "Comedy", ((Category) feedInfo.getCategories().get(0)).getName()); assertEquals( "summary", "A weekly, hour-long romp through the worlds of media, politics, sports and show business, leavened with an eclectic mix of mysterious music, hosted by Harry Shearer.", feedInfo.getSummary()); List entries = syndfeed.getEntries(); Iterator it = entries.iterator(); while (it.hasNext()) { SyndEntry entry = (SyndEntry) it.next(); EntryInformationImpl entryInfo = (EntryInformationImpl) entry.getModule(AbstractITunesObject.URI); System.out.println(entryInfo); } feed = new File(this.getTestFile("/test/xml/rsr.xml")); syndfeed = input.build(new XmlReader(feed.toURL())); entries = syndfeed.getEntries(); it = entries.iterator(); while (it.hasNext()) { SyndEntry entry = (SyndEntry) it.next(); EntryInformationImpl entryInfo = (EntryInformationImpl) entry.getModule(AbstractITunesObject.URI); System.out.println(entryInfo.getDuration()); } }
public void copyInto(WireFeed feed, SyndFeed syndFeed) { Channel channel = (Channel) feed; super.copyInto(channel, syndFeed); syndFeed.setLanguage(channel.getLanguage()); // c syndFeed.setCopyright(channel.getCopyright()); // c Date pubDate = channel.getPubDate(); if (pubDate != null) { syndFeed.setPublishedDate(pubDate); // c } else if (channel.getLastBuildDate() != null) { syndFeed.setPublishedDate(channel.getLastBuildDate()); // c } String author = channel.getManagingEditor(); if (author != null) { List creators = ((DCModule) syndFeed.getModule(DCModule.URI)).getCreators(); if (!creators.contains(author)) { Set s = new HashSet(); // using a set to remove duplicates s.addAll(creators); // DC creators s.add(author); // feed native author creators.clear(); creators.addAll(s); } } }