/[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 304 by torben, Tue Sep 8 11:51:21 2009 UTC revision 961 by torben, Wed Jul 7 09:12:32 2010 UTC
# Line 5  import java.sql.Connection; Line 5  import java.sql.Connection;
5  import java.sql.ResultSet;  import java.sql.ResultSet;
6  import java.sql.ResultSetMetaData;  import java.sql.ResultSetMetaData;
7  import java.sql.Statement;  import java.sql.Statement;
8    import java.util.Date;
9    
10  import javax.servlet.ServletException;  import javax.servlet.ServletException;
11    import javax.servlet.annotation.WebServlet;
12  import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServlet;
13  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletRequest;
14  import javax.servlet.http.HttpServletResponse;  import javax.servlet.http.HttpServletResponse;
15    
16    @WebServlet(urlPatterns={"/DumpResultSet"})
17  public class DumpResultSet extends HttpServlet {  public class DumpResultSet extends HttpServlet {
18    
19      public DumpResultSet() {      public DumpResultSet() {
# Line 49  public class DumpResultSet extends HttpS Line 52  public class DumpResultSet extends HttpS
52                                                                    
53                                  sb.append("<tr>");                                  sb.append("<tr>");
54                                  for (int i=1; i<=columns; i++) {                                  for (int i=1; i<=columns; i++) {
55                                          sb.append("<td>").append(rs.getString(i)).append("</td>");                                          String value = rs.getString(i);
56                                            if (value != null) {
57                                                    value = value.replace("\n", "<br>");
58                                            }
59                                            sb.append("<td>").append( value ).append("</td>");
60                                  }                                  }
61                                  sb.append("</tr>\n");                                  sb.append("</tr>\n");
62                          }                          }
63                          sb.append("</table>");                          sb.append("</table>");
64                          sb.append("Rowcount: ").append(count);                          sb.append("Rowcount: ").append(count).append("<br>\n");
65                            sb.append("Generated: ").append(new Date()).append("<br>\n");
66                  } catch (Exception e) {                  } catch (Exception e) {
67                          throw new ServletException(e);                          throw new ServletException(e);
68                  } finally {                  } finally {
# Line 73  public class DumpResultSet extends HttpS Line 81  public class DumpResultSet extends HttpS
81                                          conn.close();                                          conn.close();
82                          } catch (Exception e) {}                          } catch (Exception e) {}
83                  }                  }
84                    return sb.toString();
85            }
86            
87            String dumpUpdate(String query) throws ServletException {
88                    StringBuilder sb = new StringBuilder();
89    
90                    Connection conn = null;
91                    Statement stmt = null;
92                    try {
93                            conn =  DBConnection.getConnection();
94                            stmt = conn.createStatement();
95                            stmt.execute(query);
96                            int count = stmt.getUpdateCount();
97                            
98                            sb.append("<h2>").append(query).append("</h2>");
99                            sb.append("Affected rows: ").append(count);
100                    } catch (Exception e) {
101                            throw new ServletException(e);
102                    } finally {
103                            try {
104                                    if (stmt != null && !stmt.isClosed())
105                                            stmt.close();
106                            } catch (Exception e) {}
107                            
108                            try {
109                                    if (conn != null && !conn.isClosed())
110                                            conn.close();
111                            } catch (Exception e) {}
112                    }
113                                    
114                  return sb.toString();                  return sb.toString();
115          }          }
116                    
117            
118            
119          @Override          @Override
120          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
121                  String dump = req.getParameter("dump");                  String dump = req.getParameter("dump");
# Line 92  public class DumpResultSet extends HttpS Line 131  public class DumpResultSet extends HttpS
131                                  res = dumpResultset("SELECT name,count(*) FROM trainstations GROUP BY name HAVING count(*) > 1");                                  res = dumpResultset("SELECT name,count(*) FROM trainstations GROUP BY name HAVING count(*) > 1");
132                          } else if (dump.equals("allfull")) {                          } else if (dump.equals("allfull")) {
133                                  res = dumpResultset("select *, " +                                  res = dumpResultset("select *, " +
134                                                  "'<a href=\"http://maps.google.com/?q=' ||latitude || ',' || longitude || '\">Maps</a>' AS maps, " +                                                  "'<a href=\"http://maps.google.dk/?q=' ||latitude || ',' || longitude || '\">Maps</a>' AS maps, " +
135                                                  "CASE WHEN stog = false THEN '<a href=\"http://www.bane.dk/visStation.asp?ArtikelID=4275&W=FJRN&S=' || stationcode  || '\">Bane.dk</a>' " +                                                  "'<a href=\"http://www.bane.dk/visStation.asp?ArtikelID=4275&W=FJRN&S=' || stationcode_fjrn  || '\">Bane.dk Fjern</a>' as banedk1, " +
136                                                  "ELSE '<a href=\"http://www.bane.dk/visStation.asp?ArtikelID=4275&W=S2&S=' || stationcode  || '\">Bane.dk</a>' " +                                                  "'<a href=\"http://www.bane.dk/visStation.asp?ArtikelID=4275&W=S2&S=' || stationcode_stog  || '\">Bane.dk stog</a>' as banedk2 " +
137                                                  "END as banedk FROM trainstations ORDER BY id");                                                  "FROM trainstations ORDER BY id");
138                          }                          } else if (dump.equals("disabled")) {
139                                    res = dumpResultset("SELECT * FROM trainstations WHERE enabled = false ORDER BY id");
140                            } else if (dump.equals("noaddress")) {
141                                    res = dumpResultset("SELECT * FROM trainstations WHERE address IS NULL or address = '' ");
142                            } else if (dump.equals("aliases")) {
143                                    res = dumpResultset("SELECT * FROM trainstations WHERE aliases IS NOT null");
144                            } else if (dump.equals("updatecoords")) {
145                                    res = dumpUpdate("UPDATE trainstations SET earth_coord = ll_to_earth(latitude,longitude)");
146                            }
147                  }                  }
148                  if (res == null) {                  if (res == null) {
149                          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>";                          res = "<a href=DumpResultSet?dump=all>All</a><br>" +
150                                            "<a href=DumpResultSet?dump=allfull>All with links</a><br>" +
151                                            "<a href=DumpResultSet?dump=coords>Missing coords</a><br>" +
152                                            "<a href=DumpResultSet?dump=duplicate>Duplicate stations</a><br>" +
153                                            "<a href=DumpResultSet?dump=disabled>Disabled stations</a><br>" +
154                                            "<a href=DumpResultSet?dump=noaddress>No address</a><br>" +
155                                            "<a href=DumpResultSet?dump=aliases>Has aliases</a><br>" +
156                                            "<a href=DumpResultSet?dump=updatecoords>update coords</a><br>";
157                  }                  }
158                                    
159                  resp.setContentType("text/html");                  resp.setContentType("text/html");

Legend:
Removed from v.304  
changed lines
  Added in v.961

  ViewVC Help
Powered by ViewVC 1.1.20