Package com.pugh.sockso.web.action

Source Code of com.pugh.sockso.web.action.Feeder

/*
* Feeder.java
*
* Created on Jun 16, 2007, 1:00:54 PM
*
* Outputs RSS feeds
*
*/

package com.pugh.sockso.web.action;

import com.pugh.sockso.music.Track;
import com.pugh.sockso.web.Request;
import com.pugh.sockso.web.BadRequestException;
import com.pugh.sockso.templates.TRSSLatest;

import java.sql.SQLException;
import java.io.IOException;
import java.util.List;

public class Feeder extends BaseAction {

    private String host;
   
    /**
     *  constructor.
     *
     *  @param db the database connection
     *
     */
   
    public void init( final String host ) {

        this.host = host;

    }

    /**
     *  handles the rss command which generates rss feeds
     *
     *  @param res the response object
     *  @param args the command arguments
     *
     *  @throws SQLException
     *  @throws IOException
     *  @throws BadRequestException
     *
     */
   
    public void handleRequest() throws SQLException, IOException, BadRequestException {
       
        final Request req = getRequest();
        final String type = req.getUrlParam( 1 );
       
        if ( type.equals("latest") )
            latest( getLatestTracks(20) );
       
        else throw new BadRequestException( "Unknown feed type (" + type + ")", 400 );
       
    }

    /**
     *  outputs the latest tracks added to the collection as an rss feed
     *
     *  @param res the response object
     *
     *  @throws SQLException
     *  @throws IOException
     *
     */
   
    public void latest( final List<Track> tracks ) throws SQLException, IOException {
       
        final TRSSLatest tpl = new TRSSLatest();
       
        tpl.setProperties( getProperties() );
        tpl.setHost( host );
        tpl.setTracks( tracks );
       
        getResponse().showRss( tpl.makeRenderer() );
                   
    }

}
TOP

Related Classes of com.pugh.sockso.web.action.Feeder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.