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;
018    
019    import java.io.FileInputStream;
020    import java.io.InputStream;
021    import java.net.URL;
022    
023    import org.apache.commons.feedparser.impl.DebugFeedParserListener;
024    
025    /**
026     * Provides a mechanism to quickly test feed parsing from the command line.
027     *
028     * @author <a href="mailto:burton@apache.org">Kevin A. Burton (burtonator)</a>
029     * @version $Id: Main.java 373614 2006-01-30 22:31:21Z mvdb $
030     */
031    public class Main {
032    
033        public static void main( String[] args ) throws Exception {
034    
035            FeedParser parser = FeedParserFactory.newFeedParser();
036    
037            FeedParserListener listener = new DebugFeedParserListener();
038    
039            if ( args.length != 1 ) {
040    
041                System.err.println( "SYNTAX: " + Main.class.getName() + " file|url" );
042                
043                System.exit( 1 );
044                
045            }
046            
047            String resource = args[0];
048    
049            InputStream is = null;
050    
051            if ( resource.startsWith( "http://" ) ) {
052                is = new URL( resource ).openStream();
053            } else {
054    
055                System.out.println( "Opening from file: " + resource );
056                is = new FileInputStream( resource );
057            }
058    
059            parser.parse( listener, is, resource );
060    
061        }
062    
063    }