--- android/TrainInfoService/src/dk/thoerup/traininfoservice/DumpResultSet.java 2009/11/04 11:09:19 497 +++ android/TrainInfoService/src/dk/thoerup/traininfoservice/db/DumpResultSet.java 2011/04/04 10:56:44 1255 @@ -1,16 +1,20 @@ -package dk.thoerup.traininfoservice; +package dk.thoerup.traininfoservice.db; import java.io.IOException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; +import java.util.Date; import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +@WebServlet(urlPatterns={"/DumpResultSet"}) public class DumpResultSet extends HttpServlet { public DumpResultSet() { @@ -58,7 +62,8 @@ sb.append("\n"); } sb.append(""); - sb.append("Rowcount: ").append(count); + sb.append("Rowcount: ").append(count).append("
\n"); + sb.append("Generated: ").append(new Date()).append("
\n"); } catch (Exception e) { throw new ServletException(e); } finally { @@ -77,10 +82,41 @@ conn.close(); } catch (Exception e) {} } + return sb.toString(); + } + + String dumpUpdate(String query) throws ServletException { + StringBuilder sb = new StringBuilder(); + + Connection conn = null; + Statement stmt = null; + try { + conn = DBConnection.getConnection(); + stmt = conn.createStatement(); + stmt.execute(query); + int count = stmt.getUpdateCount(); + + sb.append("

").append(query).append("

"); + sb.append("Affected rows: ").append(count); + } catch (Exception e) { + throw new ServletException(e); + } finally { + try { + if (stmt != null && !stmt.isClosed()) + stmt.close(); + } catch (Exception e) {} + + try { + if (conn != null && !conn.isClosed()) + conn.close(); + } catch (Exception e) {} + } return sb.toString(); } + + @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String dump = req.getParameter("dump"); @@ -104,10 +140,21 @@ res = dumpResultset("SELECT * FROM trainstations WHERE enabled = false ORDER BY id"); } else if (dump.equals("noaddress")) { res = dumpResultset("SELECT * FROM trainstations WHERE address IS NULL or address = '' "); - } + } else if (dump.equals("aliases")) { + res = dumpResultset("SELECT * FROM trainstations WHERE aliases IS NOT null"); + } else if (dump.equals("updatecoords")) { + res = dumpUpdate("UPDATE trainstations SET earth_coord = ll_to_earth(latitude,longitude)"); + } } if (res == null) { - res = "All
All with links
Missing coords
Duplicate stations
Disabled stations
No address"; + res = "All
" + + "All with links
" + + "Missing coords
" + + "Duplicate stations
" + + "Disabled stations
" + + "No address
" + + "Has aliases
" + + "update coords
"; } resp.setContentType("text/html");