/[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 307 by torben, Thu Sep 10 18:11:53 2009 UTC revision 580 by torben, Tue Feb 2 18:42:38 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.Statement;  import java.sql.Statement;
7  import java.util.List;  import java.util.List;
8    import java.util.logging.Level;
9    import java.util.logging.Logger;
10    
11  import javax.servlet.ServletException;  import javax.servlet.ServletException;
12  import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServlet;
# Line 22  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 29  import dk.thoerup.traininfoservice.DBCon Line 32  import dk.thoerup.traininfoservice.DBCon
32   */   */
33  public class DepartureServlet extends HttpServlet {  public class DepartureServlet extends HttpServlet {
34          private static final long serialVersionUID = 1L;          private static final long serialVersionUID = 1L;
35            
36            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( getInitParameter("usetempsite") );
48                    logger.info( "DepartureServlet, use temp site=" + useTempSite );
49                    fetcher = new DepartureFetcher(useTempSite);
50            }
51    
52            @Override
53          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
54                    if (req.getParameter("station") == null) {
55                            resp.sendError(400, "not enough parameters");
56                            return;
57                    }
58                    
59                  int station = Integer.parseInt( req.getParameter("station") );                  int station = Integer.parseInt( req.getParameter("station") );
60                  String format = req.getParameter("format");                  String format = req.getParameter("format");
61    
# Line 44  public class DepartureServlet extends Ht Line 64  public class DepartureServlet extends Ht
64                  String stationName = getStationName(station);                  String stationName = getStationName(station);
65    
66                  try {                  try {
67                          beans = fetcher.lookupDepartures(station);                          beans = fetcher.cachedLookupDepartures(station);
68                  } catch (Exception e) {                  } catch (java.io.IOException ioe) {
69                          throw new ServletException(e);                          logger.warning("Read failed, station="+station + ". " + ioe.getMessage() );
70                            resp.sendError(500);
71                            return;
72                    } catch (CircuitBreakerException cbe) {
73                            logger.warning("Circuitbreaker - failing fast");
74                            resp.sendError(500);
75                            return;
76                    } catch (Exception e) {                
77                            logger.log(Level.WARNING, "Unknown exception, station=" +station, e);
78                            resp.sendError(500);
79                            return;
80                  }                  }
81                                    
82                  resp.setDateHeader("Expires", 0);                  resp.setDateHeader("Expires", 0);

Legend:
Removed from v.307  
changed lines
  Added in v.580

  ViewVC Help
Powered by ViewVC 1.1.20