--- android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/DepartureServlet.java 2010/02/02 18:42:38 580 +++ android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/DepartureServlet.java 2010/04/19 19:04:34 650 @@ -1,9 +1,6 @@ package dk.thoerup.traininfoservice.banedk; import java.io.IOException; -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.Statement; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; @@ -25,7 +22,7 @@ import org.w3c.dom.Element; import dk.thoerup.circuitbreaker.CircuitBreakerException; -import dk.thoerup.traininfoservice.DBConnection; +import dk.thoerup.traininfoservice.StationDAO; /** * Servlet implementation class DepartureServlet @@ -43,10 +40,11 @@ @Override public void init() throws ServletException { super.init(); - - boolean useTempSite = Boolean.parseBoolean( getInitParameter("usetempsite") ); - logger.info( "DepartureServlet, use temp site=" + useTempSite ); - fetcher = new DepartureFetcher(useTempSite); + + boolean useTempSite = Boolean.parseBoolean( getServletContext().getInitParameter("usetempsite") ); + int cacheTimeout = Integer.parseInt( getServletContext().getInitParameter("cache_timeout") ); + logger.info( "DepartureServlet, use temp site=" + useTempSite + ", cache=" + cacheTimeout); + fetcher = new DepartureFetcher(useTempSite, cacheTimeout); } @Override @@ -61,7 +59,7 @@ List beans; - String stationName = getStationName(station); + String stationName = StationDAO.getStationName(station); try { beans = fetcher.cachedLookupDepartures(station); @@ -86,6 +84,11 @@ resp.setContentType("text/xml"); resp.getWriter().print( formatXml(beans, stationName) ); } else if (format.equalsIgnoreCase("html")) { + + String advStr = req.getParameter("advanced"); + boolean advanced = advStr != null ? Boolean.parseBoolean(advStr) : false; + + req.setAttribute("advanced", advanced); req.setAttribute("stationname", stationName ); req.setAttribute("departurebeans", beans); req.setAttribute("stationID", station ); @@ -167,27 +170,4 @@ return xml; } - protected String getStationName(int stationID) { - String station = ""; - - Connection conn = null; - try { - conn = DBConnection.getConnection(); - Statement stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery("SELECT name FROM trainstations WHERE id=" + stationID); - if (rs.next()) { - station = rs.getString(1); - } - - } catch (Exception e) { - } finally { - try { - if (conn != null && !conn.isClosed()) - conn.close(); - } catch (Exception e) {} - } - - return station; - } - }