/[projects]/android/TrainInfoService/src/dk/thoerup/traininfoservice/DumpResultSet.java
ViewVC logotype

Contents of /android/TrainInfoService/src/dk/thoerup/traininfoservice/DumpResultSet.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 497 - (show annotations) (download)
Wed Nov 4 11:09:19 2009 UTC (14 years, 6 months ago) by torben
File size: 3770 byte(s)
use maps.google.dk for more correct naming
1 package dk.thoerup.traininfoservice;
2
3 import java.io.IOException;
4 import java.sql.Connection;
5 import java.sql.ResultSet;
6 import java.sql.ResultSetMetaData;
7 import java.sql.Statement;
8
9 import javax.servlet.ServletException;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13
14 public class DumpResultSet extends HttpServlet {
15
16 public DumpResultSet() {
17 super();
18 }
19
20
21 private static final long serialVersionUID = 1L;
22
23 String dumpResultset(String sql) throws ServletException {
24 StringBuilder sb = new StringBuilder();
25
26 Connection conn = null;
27 Statement stmt = null;
28 ResultSet rs = null;
29
30 try {
31 int count = 0;
32
33 conn = DBConnection.getConnection();
34 stmt = conn.createStatement();
35
36 rs = stmt.executeQuery(sql);
37 ResultSetMetaData meta = rs.getMetaData();
38 int columns = meta.getColumnCount();
39
40 sb.append("<h2>").append(sql).append("</h2>");
41 sb.append("<table border=1><tr>");
42 for (int i=1; i<=columns; i++) {
43 sb.append("<th>").append( meta.getColumnName(i)).append("</th>");
44 }
45 sb.append("</tr>\n\n");
46 while(rs.next())
47 {
48 count++;
49
50 sb.append("<tr>");
51 for (int i=1; i<=columns; i++) {
52 String value = rs.getString(i);
53 if (value != null) {
54 value = value.replace("\n", "<br>");
55 }
56 sb.append("<td>").append( value ).append("</td>");
57 }
58 sb.append("</tr>\n");
59 }
60 sb.append("</table>");
61 sb.append("Rowcount: ").append(count);
62 } catch (Exception e) {
63 throw new ServletException(e);
64 } finally {
65
66 try {
67 if (rs != null && !rs.isClosed())
68 rs.close();
69 } catch (Exception e) {}
70 try {
71 if (stmt != null && !stmt.isClosed())
72 stmt.close();
73 } catch (Exception e) {}
74
75 try {
76 if (conn != null && !conn.isClosed())
77 conn.close();
78 } catch (Exception e) {}
79 }
80
81 return sb.toString();
82 }
83
84 @Override
85 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
86 String dump = req.getParameter("dump");
87
88 String res = null;
89
90 if (dump != null) {
91 if (dump.equals("all")) {
92 res = dumpResultset("SELECT * FROM trainstations ORDER BY id");
93 } else if (dump.equals("coords")) {
94 res = dumpResultset("SELECT * FROM trainstations WHERE latitude IS NULL OR longitude IS NULL ORDER BY id");
95 } else if (dump.equals("duplicate")) {
96 res = dumpResultset("SELECT name,count(*) FROM trainstations GROUP BY name HAVING count(*) > 1");
97 } else if (dump.equals("allfull")) {
98 res = dumpResultset("select *, " +
99 "'<a href=\"http://maps.google.dk/?q=' ||latitude || ',' || longitude || '\">Maps</a>' AS maps, " +
100 "'<a href=\"http://www.bane.dk/visStation.asp?ArtikelID=4275&W=FJRN&S=' || stationcode_fjrn || '\">Bane.dk Fjern</a>' as banedk1, " +
101 "'<a href=\"http://www.bane.dk/visStation.asp?ArtikelID=4275&W=S2&S=' || stationcode_stog || '\">Bane.dk stog</a>' as banedk2 " +
102 "FROM trainstations ORDER BY id");
103 } else if (dump.equals("disabled")) {
104 res = dumpResultset("SELECT * FROM trainstations WHERE enabled = false ORDER BY id");
105 } else if (dump.equals("noaddress")) {
106 res = dumpResultset("SELECT * FROM trainstations WHERE address IS NULL or address = '' ");
107 }
108 }
109 if (res == null) {
110 res = "<a href=DumpResultSet?dump=all>All</a><br><a href=DumpResultSet?dump=allfull>All with links</a><br><a href=DumpResultSet?dump=coords>Missing coords</a><br><a href=DumpResultSet?dump=duplicate>Duplicate stations</a><br><a href=DumpResultSet?dump=disabled>Disabled stations</a><br><a href=DumpResultSet?dump=noaddress>No address</a>";
111 }
112
113 resp.setContentType("text/html");
114 resp.getWriter().println(res);
115 }
116
117 }

  ViewVC Help
Powered by ViewVC 1.1.20