/[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 494 by torben, Sun Nov 1 17:15:13 2009 UTC revision 958 by torben, Mon Jul 5 09:48:06 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 58  public class DumpResultSet extends HttpS Line 61  public class DumpResultSet extends HttpS
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 77  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 96  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                                                  "'<a href=\"http://www.bane.dk/visStation.asp?ArtikelID=4275&W=FJRN&S=' || stationcode_fjrn  || '\">Bane.dk Fjern</a>' as banedk1, " +                                                  "'<a href=\"http://www.bane.dk/visStation.asp?ArtikelID=4275&W=FJRN&S=' || stationcode_fjrn  || '\">Bane.dk Fjern</a>' as banedk1, " +
136                                                  "'<a href=\"http://www.bane.dk/visStation.asp?ArtikelID=4275&W=S2&S=' || stationcode_stog  || '\">Bane.dk stog</a>' as banedk2 " +                                                  "'<a href=\"http://www.bane.dk/visStation.asp?ArtikelID=4275&W=S2&S=' || stationcode_stog  || '\">Bane.dk stog</a>' as banedk2 " +
137                                                  "FROM trainstations ORDER BY id");                                                  "FROM trainstations ORDER BY id");
# Line 104  public class DumpResultSet extends HttpS Line 139  public class DumpResultSet extends HttpS
139                                  res = dumpResultset("SELECT * FROM trainstations WHERE enabled = false ORDER BY id");                                  res = dumpResultset("SELECT * FROM trainstations WHERE enabled = false ORDER BY id");
140                          } else if (dump.equals("noaddress")) {                          } else if (dump.equals("noaddress")) {
141                                  res = dumpResultset("SELECT * FROM trainstations WHERE address IS NULL or address = '' ");                                  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                            } else if (dump.equals("trainstatistics")) {
147                                    res = dumpResultset("SELECT statisticsdate, location+name+favorites AS station, location,name,favorites,departure,depcache,deperror,timetable,timecache,timeerror " +
148                                                    "FROM trainstatistics ORDER BY statisticsdate DESC");
149                            } else if (dump.equals("trainstatistics_avg")) {
150                                    res = dumpResultset("SELECT count(*) AS count, round(avg(location+name+favorites),1) AS station, round(avg(location),1) as location, round(avg(name),1) as name, round(avg(favorites),1) as favorites, " +
151                                                    "round(avg(departure),1) as departure, round(avg(depcache),1) as depcache, round(avg(deperror),1) as deperror, " +
152                                                    "round(avg(timetable),1) as timetable, round(avg(timecache),1) as timecache, round(avg(timeerror),1) as timeerror " +
153                                                    "FROM trainstatistics");
154                          }                          }
155                  }                  }
156                  if (res == null) {                  if (res == null) {
157                          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>";                          res = "<a href=DumpResultSet?dump=all>All</a><br>" +
158                                            "<a href=DumpResultSet?dump=allfull>All with links</a><br>" +
159                                            "<a href=DumpResultSet?dump=coords>Missing coords</a><br>" +
160                                            "<a href=DumpResultSet?dump=duplicate>Duplicate stations</a><br>" +
161                                            "<a href=DumpResultSet?dump=disabled>Disabled stations</a><br>" +
162                                            "<a href=DumpResultSet?dump=noaddress>No address</a><br>" +
163                                            "<a href=DumpResultSet?dump=aliases>Has aliases</a><br>" +
164                                            "<a href=DumpResultSet?dump=updatecoords>update coords</a><br>" +
165                                            "<a href=DumpResultSet?dump=trainstatistics>statistics</a><br>" +
166                                            "<a href=DumpResultSet?dump=trainstatistics_avg>stats_avg</a><br>";
167                  }                  }
168                                    
169                  resp.setContentType("text/html");                  resp.setContentType("text/html");

Legend:
Removed from v.494  
changed lines
  Added in v.958

  ViewVC Help
Powered by ViewVC 1.1.20