FileDocCategorySizeDatePackage
MovieInfo.javaAPI DocExample3639Sun Mar 02 09:44:56 GMT 2003com.mediamania.appserver

MovieInfo.java

package com.mediamania.appserver;

import javax.servlet.*;
import javax.servlet.http.*;

import javax.jdo.PersistenceManagerFactory;
import javax.jdo.PersistenceManager;
import javax.jdo.JDOHelper;
import javax.jdo.Extent;
import javax.jdo.JDOException;

import java.util.Properties;
import java.util.Iterator;

import java.io.InputStream;
import java.io.IOException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import com.mediamania.content.Movie;

public class MovieInfo extends HttpServlet {
    PersistenceManagerFactory persistenceManagerFactory;
    PersistenceManager pm;
    public void init() throws ServletException {
        try {
            ServletContext ctx = getServletContext();
            InputStream in = ctx.getResourceAsStream("WEB-INF/pmf.properties");
            Properties props = new Properties();
            props.load(in);
            persistenceManagerFactory = 
                JDOHelper.getPersistenceManagerFactory(props);
        } catch (IOException ex) {
            throw new ServletException("Unable to load PMF properties.", ex);
        } catch (JDOException ex) {
            throw new ServletException("Unable to create PMF resource.", ex);
        } catch (Exception ex) {
            throw new ServletException("Unable to initialize.", ex);
        }
        
    }
            
    /**
       Destroys the servlet.
     */
    public void destroy() {
    }
    
    /** Processes requests for both HTTP <code>GET</code>
     * and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    protected void processRequest(HttpServletRequest request, 
        HttpServletResponse response)
            throws ServletException, java.io.IOException {
        pm = persistenceManagerFactory.getPersistenceManager();
        response.setContentType("text/html");
        java.io.PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet</title>");
        out.println("</head>");
        out.println("<body>");
        out.print(formatMovieInfo());
        out.println("</body>");
        out.println("</html>");
        out.close();
        pm.close();
    }
    
    protected String formatMovieInfo() {
        StringBuffer result = new StringBuffer();
        Extent movies = pm.getExtent(Movie.class, true);
        Iterator it = movies.iterator();
        while (it.hasNext()) {
            result.append("<P>");
            Movie movie = (Movie)it.next();
            result.append(movie.getDescription());
        }
        return result.toString();
    }
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request,
        HttpServletResponse response)
            throws ServletException, java.io.IOException {
        processRequest(request, response);
    }
    
    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, 
        HttpServletResponse response)
            throws ServletException, java.io.IOException {
        processRequest(request, response);
    }
    
    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Movie Information";
    }
    
}