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}