KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > edu > rice > rubbos > servlets > SubmitStory


1 /**
2  * RUBBoS: Rice University Bulletin Board System.
3  * Copyright (C) 2001-2004 Rice University and French National Institute For
4  * Research In Computer Science And Control (INRIA).
5  * Contact: jmob@objectweb.org
6  *
7  * This library is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU Lesser General Public License as published by the
9  * Free Software Foundation; either version 2.1 of the License, or any later
10  * version.
11  *
12  * This library is distributed in the hope that it will be useful, but WITHOUT
13  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
15  * for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public License
18  * along with this library; if not, write to the Free Software Foundation,
19  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
20  *
21  * Initial developer(s): Emmanuel Cecchet.
22  * Contributor(s): Niraj Tolia.
23  */

24
25 package edu.rice.rubbos.servlets;
26
27 import java.io.IOException JavaDoc;
28 import java.sql.Connection JavaDoc;
29 import java.sql.PreparedStatement JavaDoc;
30 import java.sql.ResultSet JavaDoc;
31
32 import javax.servlet.ServletException JavaDoc;
33 import javax.servlet.http.HttpServletRequest JavaDoc;
34 import javax.servlet.http.HttpServletResponse JavaDoc;
35
36 public class SubmitStory extends RubbosHttpServlet
37 {
38
39   public int getPoolSize()
40   {
41     return Config.BrowseCategoriesPoolSize;
42   }
43
44   private void closeConnection(PreparedStatement JavaDoc stmt, Connection JavaDoc conn)
45   {
46     try
47     {
48       if (stmt != null)
49         stmt.close(); // close statement
50
}
51     catch (Exception JavaDoc ignore)
52     {
53     }
54
55     try
56     {
57       if (conn != null)
58           releaseConnection(conn);
59     }
60     catch (Exception JavaDoc ignore)
61     {
62     }
63
64   }
65
66   /** Build the html page for the response */
67   public void doGet(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
68       throws IOException JavaDoc, ServletException JavaDoc
69   {
70
71     ServletPrinter sp = null;
72     PreparedStatement JavaDoc stmt = null;
73     Connection JavaDoc conn = null;
74     ResultSet JavaDoc rs = null;
75
76     sp = new ServletPrinter(response, "Submit Story");
77     sp.printHTMLheader("RUBBoS: Story submission");
78     sp.printHTML("<center><h2>Submit your incredible story !</h2><br>\n");
79     sp
80         .printHTML("<form action=\"/rubbos/servlet/edu.rice.rubbos.servlets.StoreStory\" method=POST>\n"
81             + "<center><table>\n"
82             + "<tr><td><b>Nickname</b><td><input type=text size=20 name=nickname>\n"
83             + "<tr><td><b>Password</b><td><input type=text size=20 name=password>\n"
84             + "<tr><td><b>Story title</b><td><input type=text size=100 name=title>\n"
85             + "<tr><td><b>Category</b><td><SELECT name=category>\n");
86
87     conn = getConnection();
88
89     // int storyId =
90
// (Integer.valueOf(request.getParameter("storyId"))).intValue();
91

92     /*
93      * if (storyId == 0) { sp.printHTML( " <h3> You must provide a story
94      * identifier ! <br></h3> "); return; }
95      */

96
97     try
98     {
99       stmt = conn.prepareStatement("SELECT * FROM categories");
100       rs = stmt.executeQuery();
101     }
102     catch (Exception JavaDoc e)
103     {
104       sp.printHTML(" Failed to execute Query for SubmitStory: " + e);
105       closeConnection(stmt, conn);
106       return;
107     }
108
109     try
110     {
111       if (!rs.first())
112       {
113         sp
114             .printHTML("<h3>ERROR: Sorry, but this story does not exist.</h3><br>");
115         closeConnection(stmt, conn);
116         return;
117       }
118
119       //Add story to database
120

121       String JavaDoc Name;
122       int Id;
123       do
124       {
125         Name = rs.getString("name");
126         Id = rs.getInt("id");
127         sp.printHTML("<OPTION value=\"" + Id + "\">" + Name + "</OPTION>\n");
128       }
129       while (rs.next());
130     }
131     catch (Exception JavaDoc e)
132     {
133       sp.printHTML("Exception accepting stories: " + e + "<br>");
134     }
135     
136     closeConnection(stmt, conn);
137
138
139     sp
140         .printHTML("</SELECT></table><p><br>\n"
141             + "<TEXTAREA rows=\"20\" cols=\"80\" name=\"body\">Write your story here</TEXTAREA><br><p>\n"
142             + "<input type=submit value=\"Submit this story now!\"></center><p>\n");
143     sp.printHTMLfooter();
144
145   }
146
147   public void doPost(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
148       throws IOException JavaDoc, ServletException JavaDoc
149   {
150     doGet(request, response);
151   }
152
153 }
154
Popular Tags