001 /*
002 * Copyright 1999,2004 The Apache Software Foundation.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016
017 package org.apache.commons.feedparser.test;
018
019 import junit.framework.TestCase;
020
021 import org.apache.commons.feedparser.DefaultFeedDirectoryParserListener;
022 import org.apache.commons.feedparser.FeedParser;
023 import org.apache.commons.feedparser.FeedParserException;
024 import org.apache.commons.feedparser.FeedParserFactory;
025 import org.apache.commons.feedparser.FeedParserListener;
026 import org.apache.commons.feedparser.FeedParserState;
027 import org.apache.commons.feedparser.network.ResourceRequest;
028 import org.apache.commons.feedparser.network.ResourceRequestFactory;
029
030 /**
031 *
032 * @author <a href="mailto:burton@peerfear.org">Kevin A. Burton</a>
033 * @version $Id: TestFeedParser.java 373622 2006-01-30 22:53:00Z mvdb $
034 */
035 public class TestFeedParser extends TestCase {
036
037 public TestFeedParser( String name ) throws Exception {
038 super( name );
039 }
040
041 public void testParseOPML() throws Exception {
042
043 String resource = "http://weblog.infoworld.com/udell/gems/mySubscriptions.opml";
044
045 FeedParser parser = FeedParserFactory.newFeedParser();
046
047 FeedParserListener listener = new DefaultFeedDirectoryParserListener() {
048
049 public void onItem( FeedParserState state,
050 String title,
051 String weblog,
052 String description,
053 String feed ) throws FeedParserException {
054
055 System.out.println( "title" + title );
056 System.out.println( "feed: " + feed );
057
058 }
059
060 public void onItemEnd() {}
061
062 public void finished() {}
063
064 };
065
066 listener.setContext( this );
067
068 ResourceRequest request = ResourceRequestFactory.getResourceRequest( resource );
069
070 parser.parse( listener, request.getInputStream(), resource );
071
072 }
073
074 public static void main( String[] args ) {
075
076 try {
077
078 TestFeedParser test = new TestFeedParser( null );
079
080 //test.testGetWeblogLinkForResource();
081 test.testParseOPML();
082
083 } catch ( Throwable t ) {
084
085 t.printStackTrace();
086
087 }
088
089 }
090
091 }
092