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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 296 by torben, Tue Sep 1 22:18:41 2009 UTC revision 733 by torben, Tue May 18 17:56:43 2010 UTC
# Line 13  import javax.servlet.http.HttpServletRes Line 13  import javax.servlet.http.HttpServletRes
13    
14  public class DumpResultSet extends HttpServlet {  public class DumpResultSet extends HttpServlet {
15    
16        public DumpResultSet() {
17            super();
18        }
19    
20    
21          private static final long serialVersionUID = 1L;          private static final long serialVersionUID = 1L;
22    
# Line 22  public class DumpResultSet extends HttpS Line 26  public class DumpResultSet extends HttpS
26                  Connection conn = null;                  Connection conn = null;
27                  Statement stmt = null;                  Statement stmt = null;
28                  ResultSet rs = null;                  ResultSet rs = null;
29                    
30                  try {                  try {
31                            int count = 0;
32                            
33                          conn =  DBConnection.getConnection();                          conn =  DBConnection.getConnection();
34                          stmt = conn.createStatement();                          stmt = conn.createStatement();
35                                                    
# Line 31  public class DumpResultSet extends HttpS Line 38  public class DumpResultSet extends HttpS
38                          int columns = meta.getColumnCount();                          int columns = meta.getColumnCount();
39                                                    
40                          sb.append("<h2>").append(sql).append("</h2>");                          sb.append("<h2>").append(sql).append("</h2>");
41                          sb.append("<table><tr>");                          sb.append("<table border=1><tr>");
42                          for (int i=1; i<=columns; i++) {                          for (int i=1; i<=columns; i++) {
43                                  sb.append("<th>").append( meta.getColumnName(i)).append("</th>");                                  sb.append("<th>").append( meta.getColumnName(i)).append("</th>");
44                          }                          }
45                          sb.append("</tr>");                          sb.append("</tr>\n\n");
46                          while(rs.next())                          while(rs.next())
47                          {                          {
48                                    count++;
49                                    
50                                  sb.append("<tr>");                                  sb.append("<tr>");
51                                  for (int i=1; i<=columns; i++) {                                  for (int i=1; i<=columns; i++) {
52                                          sb.append("<td>").append(rs.getString(i)).append("</td>");                                          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>");                                  sb.append("</tr>\n");
59                          }                          }
60                          sb.append("</table>");                          sb.append("</table>");
61                            sb.append("Rowcount: ").append(count);
62                  } catch (Exception e) {                  } catch (Exception e) {
63                          throw new ServletException(e);                          throw new ServletException(e);
64                  } finally {                  } finally {
# Line 67  public class DumpResultSet extends HttpS Line 81  public class DumpResultSet extends HttpS
81                  return sb.toString();                  return sb.toString();
82          }          }
83                    
84            String dumpUpdate(String query) throws ServletException {
85                    StringBuilder sb = new StringBuilder();
86    
87                    Connection conn = null;
88                    Statement stmt = null;
89                    try {
90                            conn =  DBConnection.getConnection();
91                            stmt = conn.createStatement();
92                            stmt.execute(query);
93                            int count = stmt.getUpdateCount();
94                            
95                            sb.append("<h2>").append(query).append("</h2>");
96                            sb.append("Affected rows: ").append(count);
97                    } catch (Exception e) {
98                            throw new ServletException(e);
99                    } finally {
100                            try {
101                                    if (stmt != null && !stmt.isClosed())
102                                            stmt.close();
103                            } catch (Exception e) {}
104                            
105                            try {
106                                    if (conn != null && !conn.isClosed())
107                                            conn.close();
108                            } catch (Exception e) {}
109                    }
110                    
111                    return sb.toString();
112            }
113            
114            
115            
116          @Override          @Override
117          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
118                  String dump = req.getParameter("dump");                  String dump = req.getParameter("dump");
119                                    
120                  String res = "invalid dump parameter";                  String res = null;
121                    
122                  if (dump.equals("all")) {                  if (dump != null) {
123                          res = dumpResultset("SELECT * FROM trainstations");                          if (dump.equals("all")) {
124                  } else if (dump.equals("coords")) {                                  res = dumpResultset("SELECT * FROM trainstations ORDER BY id");
125                          res = dumpResultset("SELECT * FROM trainstations WHERE latitude IS NULL OR longitude IS NULL");                                          } else if (dump.equals("coords")) {
126                                    res = dumpResultset("SELECT * FROM trainstations WHERE latitude IS NULL OR longitude IS NULL ORDER BY id");                    
127                            } else if (dump.equals("duplicate")) {
128                                    res = dumpResultset("SELECT name,count(*) FROM trainstations GROUP BY name HAVING count(*) > 1");
129                            } else if (dump.equals("allfull")) {
130                                    res = dumpResultset("select *, " +
131                                                    "'<a href=\"http://maps.google.dk/?q=' ||latitude || ',' || longitude || '\">Maps</a>' AS maps, " +
132                                                    "'<a href=\"http://www.bane.dk/visStation.asp?ArtikelID=4275&W=FJRN&S=' || stationcode_fjrn  || '\">Bane.dk Fjern</a>' as banedk1, " +
133                                                    "'<a href=\"http://www.bane.dk/visStation.asp?ArtikelID=4275&W=S2&S=' || stationcode_stog  || '\">Bane.dk stog</a>' as banedk2 " +
134                                                    "FROM trainstations ORDER BY id");
135                            } else if (dump.equals("disabled")) {
136                                    res = dumpResultset("SELECT * FROM trainstations WHERE enabled = false ORDER BY id");
137                            } else if (dump.equals("noaddress")) {
138                                    res = dumpResultset("SELECT * FROM trainstations WHERE address IS NULL or address = '' ");
139                            } else if (dump.equals("aliases")) {
140                                    res = dumpResultset("SELECT * FROM trainstations WHERE aliases IS NOT null");
141                            } else if (dump.equals("updatecoords")) {
142                                    res = dumpUpdate("UPDATE trainstations SET earth_coord = ll_to_earth(latitude,longitude)");
143                            }
144                  }                  }
145                    if (res == null) {
146                            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><br><a href=DumpResultSet?dump=aliases>Has aliases</a><br><a href=DumpResultSet?dump=updatecoords>update coords</a>";
147                    }
148                    
149                  resp.setContentType("text/html");                  resp.setContentType("text/html");
150                  resp.getWriter().println(res);                  resp.getWriter().println(res);
151          }          }

Legend:
Removed from v.296  
changed lines
  Added in v.733

  ViewVC Help
Powered by ViewVC 1.1.20