1 20 package org.openi.xml; 21 22 import junit.framework.TestCase; 23 import org.apache.log4j.Logger; 24 import org.openi.menu.Menu; 25 import org.openi.menu.MenuItem; 26 import org.openi.project.ProjectContext; 27 import org.openi.test.Util; 28 import org.openi.xml.RssFeedGenerator; 29 30 import de.nava.informa.core.ChannelIF; 31 import de.nava.informa.core.ParseException; 32 import de.nava.informa.impl.basic.ChannelBuilder; 33 import de.nava.informa.impl.basic.Item; 34 import de.nava.informa.parsers.FeedParser; 35 36 import java.io.FileInputStream ; 37 import java.io.IOException ; 38 import java.io.InputStream ; 39 import java.io.StringBufferInputStream ; 40 import java.io.StringWriter ; 41 import java.util.Collection ; 42 import java.util.Iterator ; 43 44 import javax.xml.transform.TransformerException ; 45 46 47 public class RssTest extends TestCase { 48 private static Logger logger = Logger.getLogger(RssTest.class); 49 50 public RssTest(String arg0) { 51 super(arg0); 52 } 53 54 protected void setUp() throws Exception { 55 super.setUp(); 56 Util.setupLog4j(); 57 } 58 59 protected void tearDown() throws Exception { 60 super.tearDown(); 61 } 62 63 public void testCreateRss() throws Exception { 64 StringWriter writer = new StringWriter (); 65 RssFeedGenerator.exportFeed(writer, RssFeedGenerator.createStaticChannel()); 66 assertTrue(writer.toString().length() > 0); 67 68 } 70 71 private void printChannel(ChannelIF channel){ 72 Iterator items = channel.getItems().iterator(); 73 System.out.println(channel.getTitle()); 75 while(items.hasNext()){ 76 Item item = (Item)items.next(); 77 System.out.println(item.getTitle()); 78 } 79 } 80 81 public void testGetRss() throws IOException , ParseException{ 82 String feed = "http://digg.com/rss/index.xml"; 85 ChannelIF channel = FeedParser.parse(new ChannelBuilder(), feed); 87 printChannel(channel); 88 } 89 90 public void testCreateRssFromMenu() throws IOException , TransformerException { 91 ProjectContext context = Util.createTestProjectContext("projectUser"); 92 93 Menu menu = context.buildMenu(); 94 String menuXml = new BeanStorage().toXmlString(menu); 95 InputStream xslStream = new FileInputStream (Util.findTestDirectory() + "/../web/WEB-INF/openi/menu2rss.xsl"); 96 InputStream xmlStream = new StringBufferInputStream (menuXml); 97 String rss = XMLTransformer.transform(xslStream, xmlStream); 98 logger.debug(rss); 99 } 100 101 102 103 104 } 105 | Popular Tags |