/[projects]/android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/DepartureServlet.java
ViewVC logotype

Diff of /android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/DepartureServlet.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 387 by torben, Fri Oct 2 15:06:08 2009 UTC revision 584 by torben, Fri Feb 5 13:57:39 2010 UTC
# Line 24  import org.w3c.dom.DOMImplementation; Line 24  import org.w3c.dom.DOMImplementation;
24  import org.w3c.dom.Document;  import org.w3c.dom.Document;
25  import org.w3c.dom.Element;  import org.w3c.dom.Element;
26    
27    import dk.thoerup.circuitbreaker.CircuitBreakerException;
28  import dk.thoerup.traininfoservice.DBConnection;  import dk.thoerup.traininfoservice.DBConnection;
29    
30  /**  /**
# Line 34  public class DepartureServlet extends Ht Line 35  public class DepartureServlet extends Ht
35                    
36          Logger logger = Logger.getLogger( DepartureServlet.class.getName() );          Logger logger = Logger.getLogger( DepartureServlet.class.getName() );
37    
38          DepartureFetcher fetcher = new DepartureFetcher();          DepartureFetcher fetcher;
39      TransformerFactory transformerFactory = TransformerFactory.newInstance();      TransformerFactory transformerFactory = TransformerFactory.newInstance();
40          DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();          DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
41                    
42    
43            @Override
44            public void init() throws ServletException {
45                    super.init();
46    
47                    boolean useTempSite =  Boolean.parseBoolean( getServletContext().getInitParameter("usetempsite") );
48                    int cacheTimeout =  Integer.parseInt( getServletContext().getInitParameter("cache_timeout") );
49                    logger.info( "DepartureServlet, use temp site=" + useTempSite + ", cache=" + cacheTimeout);
50                    fetcher = new DepartureFetcher(useTempSite, cacheTimeout);
51            }
52    
53            @Override
54          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
55                    if (req.getParameter("station") == null) {
56                            resp.sendError(400, "not enough parameters");
57                            return;
58                    }
59                    
60                  int station = Integer.parseInt( req.getParameter("station") );                  int station = Integer.parseInt( req.getParameter("station") );
61                  String format = req.getParameter("format");                  String format = req.getParameter("format");
62    
# Line 49  public class DepartureServlet extends Ht Line 66  public class DepartureServlet extends Ht
66    
67                  try {                  try {
68                          beans = fetcher.cachedLookupDepartures(station);                          beans = fetcher.cachedLookupDepartures(station);
69                  } catch (java.net.SocketTimeoutException ste) {                  } catch (java.io.IOException ioe) {
70                          logger.warning("Read timed out, station="+station);                          logger.warning("Read failed, station="+station + ". " + ioe.getMessage() );
71                            resp.sendError(500);
72                            return;
73                    } catch (CircuitBreakerException cbe) {
74                            logger.warning("Circuitbreaker - failing fast");
75                          resp.sendError(500);                          resp.sendError(500);
76                          return;                          return;
77                  } catch (Exception e) {                  } catch (Exception e) {                
78                          logger.log(Level.WARNING, "Unknown exception, station=" +station, e);                          logger.log(Level.WARNING, "Unknown exception, station=" +station, e);
79                          resp.sendError(500);                          resp.sendError(500);
80                          return;                          return;

Legend:
Removed from v.387  
changed lines
  Added in v.584

  ViewVC Help
Powered by ViewVC 1.1.20