001package bradleyross.j2ee.servlets;
002import java.io.IOException;
003import java.io.PrintWriter;
004import java.sql.SQLException;
005import java.sql.ResultSet;
006import javax.servlet.ServletConfig;
007import javax.servlet.ServletException;
008import javax.servlet.http.HttpServlet;
009import javax.servlet.http.HttpServletRequest;
010import javax.servlet.http.HttpServletResponse;
011import bradleyross.library.helpers.SpreadsheetHelpers;
012import bradleyross.local.databases.DatabaseConnection;
013import bradleyross.library.database.DatabaseProperties;
014/**
015 * Test servlet for bradleyross.library.helpers.SpreadsheetHelpers.
016 * 
017 * <p>It makes use of a database named <i>sample</i> that is located
018 *    on my laptop computer.</p>
019 * @author Bradley Ross
020 * @see bradleyross.library.helpers.SpreadsheetHelpers
021 *
022 */
023public class TestSpreadsheetHelpers extends HttpServlet
024{
025        /**
026         * Inserted in order to satisfy serializable interface
027         */
028        private static final long serialVersionUID = 1L;
029        public void init(ServletConfig config) throws ServletException
030        {
031                super.init(config);
032        }
033        public void destroy()
034        {
035                super.destroy();
036        }
037        /**
038         * Creates the web page.
039         * <p>The methods setHeader and setContentType for the HttpServletResponse
040         *    object are used to set the properties of the file being downloaded.</p>
041         * @see HttpServletRequest
042         * @see HttpServletResponse
043         */
044        public void service (HttpServletRequest req, HttpServletResponse res) throws IOException
045        {
046                String mimeCode = "application/vnd.ms-excel";
047                res.setHeader("Content-Disposition", "attachment;filename=" +
048                                "spreadsheet");
049                PrintWriter out = res.getWriter();
050                res.setContentType(mimeCode);
051                DatabaseProperties data = new DatabaseConnection("sample");
052                System.out.println(data.showAttributes());
053                SpreadsheetHelpers  helper = new SpreadsheetHelpers();
054                try
055                {
056                        data.connect();
057                }
058                catch (SQLException e)
059                {
060                        System.out.println(e.getClass().getName() + e.getMessage());
061                }
062                try
063                {
064                        String sqlCode = "SELECT * FROM " + data.prefixTableName("STATES") +
065                        " ORDER BY NAME ";
066                        ResultSet rs = data.executeQuery(sqlCode);
067                        out.println(helper.startWorkbook());
068                        out.println(helper.newWorksheet("first", rs));
069                        out.println(helper.endWorkbook());
070                }
071                catch (SQLException e)
072                {
073                        System.out.println(e.getClass().getName() + " " + e.getMessage());
074                }
075                try
076                {
077                        data.close();
078                }
079                catch (SQLException e)
080                {
081                        out.println(e.getClass().getName() + " " + e.getMessage());
082                }
083        }
084}