--- android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/DepartureServlet.java 2009/10/21 08:43:45 462 +++ android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/DepartureServlet.java 2010/02/05 19:15:12 585 @@ -24,7 +24,7 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; -import dk.thoerup.curcuitbreaker.CircuitBreakerException; +import dk.thoerup.circuitbreaker.CircuitBreakerException; import dk.thoerup.traininfoservice.DBConnection; /** @@ -35,12 +35,22 @@ Logger logger = Logger.getLogger( DepartureServlet.class.getName() ); - DepartureFetcher fetcher = new DepartureFetcher(); + DepartureFetcher fetcher; TransformerFactory transformerFactory = TransformerFactory.newInstance(); DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); @Override + public void init() throws ServletException { + super.init(); + + 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 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { if (req.getParameter("station") == null) { resp.sendError(400, "not enough parameters"); @@ -77,6 +87,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 );