Package org.apache.ojb.servlet

Source Code of org.apache.ojb.servlet.TestServlet

package org.apache.ojb.servlet;

/* Copyright 2002-2005 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.ojb.broker.PBFactoryException;
import org.apache.ojb.broker.PersistenceBroker;
import org.apache.ojb.broker.PersistenceBrokerFactory;
import org.apache.ojb.broker.query.Criteria;
import org.apache.ojb.broker.query.Query;
import org.apache.ojb.broker.query.QueryFactory;
import org.apache.ojb.tutorial1.Product;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;

/**
* A simple servlet looking up the Producs table and printing the results
* as an HTML table.
*/
public class TestServlet extends HttpServlet
{
    /**
     * Creates a new servlet instance.
     */
    public TestServlet()
    {
        super();
    }

    /*
     * @see javax.servlet.HttpServlet#doGet(HttpServletRequest, HttpServletResponse)
     */
    protected void doGet(HttpServletRequest req, HttpServletResponse response)
        throws ServletException, IOException
    {
        PersistenceBroker broker = null;

        try
        {
            broker = getBroker();
        }
        catch (Exception ex)
        {
            throw new IOException(ex.getMessage());
        }

        response.setContentType("text/html");
       
        PrintWriter writer = response.getWriter();

        writeHeader(writer);
        writeTable(getProducts(broker), writer);
         writeFooter(writer);

        broker.close();
    }

    /**
     * Writes the page header to the given writer.
     *
     * @param writer The writer
     */
    protected void writeHeader(PrintWriter writer)
    {
        writer.println("<html><head><title>OJB sample servlet</title></head>");
        writer.println("<body><h1>OJB sample servlet</h1>");
         writer.println(new Date().toString())
         writer.println("<hr>");
    }
   
    /**
     * Writes the page footer to the given writer.
     *
     * @param writer The writer
     */
    protected void writeFooter(PrintWriter writer)
    {
        writer.println("<hr>");
        writer.println("</body></html>");
    }
   
    /**
     * Writes a table containg the given products to the writer.
     *
     * @param products The products to write
     * @param writer   The writer
     */
    protected void writeTable(Collection products, PrintWriter writer)
    {
        writer.println("<table border=\"1\">");
        writer.println("<tr><td><b>ID</b></td> <td><b>NAME</b></td> <td><b>PRICE</b></td> <td><b>STOCK</b></td></tr>");
        if (products != null)
        {
            for (Iterator it = products.iterator(); it.hasNext();)
            {
               Product a = (Product)it.next();
   
                writer.println("<tr><td>" + a.getId() + "</td> <td>" + a.getName() + "</td> <td>" + a.getPrice()+ "</td> <td>" + a.getStock() + "</td></tr>");  
            }
        }
        writer.println("</table>");
       
    }

    /**
     * Retrieves the products to write.
     *
     * @return The products
     */
    protected Collection getProducts(PersistenceBroker broker) throws IOException
    {
        Criteria   selectAll = null;
        Query      query     = QueryFactory.newQuery(Product.class, selectAll);

        return broker.getCollectionByQuery(query);
    }

    /**
     * Returns the persistence broker to use for database operations.
     *
     * @return The persistence broker
     */
    protected PersistenceBroker getBroker() throws PBFactoryException
    {
       return PersistenceBrokerFactory.defaultPersistenceBroker();
    }
}


TOP

Related Classes of org.apache.ojb.servlet.TestServlet

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.