/[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 584 by torben, Fri Feb 5 13:57:39 2010 UTC revision 711 by torben, Wed May 5 20:11:03 2010 UTC
# Line 1  Line 1 
1  package dk.thoerup.traininfoservice.banedk;  package dk.thoerup.traininfoservice.banedk;
2    
3  import java.io.IOException;  import java.io.IOException;
 import java.sql.Connection;  
 import java.sql.ResultSet;  
 import java.sql.Statement;  
4  import java.util.List;  import java.util.List;
5  import java.util.logging.Level;  import java.util.logging.Level;
6  import java.util.logging.Logger;  import java.util.logging.Logger;
# Line 25  import org.w3c.dom.Document; Line 22  import org.w3c.dom.Document;
22  import org.w3c.dom.Element;  import org.w3c.dom.Element;
23    
24  import dk.thoerup.circuitbreaker.CircuitBreakerException;  import dk.thoerup.circuitbreaker.CircuitBreakerException;
25  import dk.thoerup.traininfoservice.DBConnection;  import dk.thoerup.traininfoservice.StationDAO;
26    import dk.thoerup.traininfoservice.Statistics;
27    
28  /**  /**
29   * Servlet implementation class DepartureServlet   * Servlet implementation class DepartureServlet
# Line 51  public class DepartureServlet extends Ht Line 49  public class DepartureServlet extends Ht
49          }          }
50    
51          @Override          @Override
52          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {          
53                  if (req.getParameter("station") == null) {                  if (req.getParameter("station") == null) {
54                          resp.sendError(400, "not enough parameters");                          resp.sendError(400, "not enough parameters");
55                          return;                          return;
56                  }                  }
57                    Statistics.getInstance().incrementDepartureLookups();
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    
62                  List<DepartureBean> beans;                  List<DepartureBean> beans;
63    
64                  String stationName = getStationName(station);                  String stationName = StationDAO.getStationName(station);
65    
66                  try {                  try {
67                          beans = fetcher.cachedLookupDepartures(station);                          beans = fetcher.cachedLookupDepartures(station);
# Line 87  public class DepartureServlet extends Ht Line 86  public class DepartureServlet extends Ht
86                          resp.setContentType("text/xml");                          resp.setContentType("text/xml");
87                          resp.getWriter().print( formatXml(beans, stationName) );                          resp.getWriter().print( formatXml(beans, stationName) );
88                  } else if (format.equalsIgnoreCase("html")) {                  } else if (format.equalsIgnoreCase("html")) {
89                            
90                            String advStr = req.getParameter("advanced");
91                            boolean advanced = advStr != null ? Boolean.parseBoolean(advStr) : false;
92                            
93                            req.setAttribute("advanced", advanced);
94                          req.setAttribute("stationname", stationName );                          req.setAttribute("stationname", stationName );
95                          req.setAttribute("departurebeans", beans);                          req.setAttribute("departurebeans", beans);
96                          req.setAttribute("stationID", station );                          req.setAttribute("stationID", station );
# Line 142  public class DepartureServlet extends Ht Line 146  public class DepartureServlet extends Ht
146                          note.setTextContent( departure.getNote() );                          note.setTextContent( departure.getNote() );
147                          train.appendChild(note);                          train.appendChild(note);
148                                                    
149                            Element type = doc.createElement("type");
150                            type.setTextContent( departure.getType() );
151                            train.appendChild(type);
152                            
153                          root.appendChild(train);                          root.appendChild(train);
154                  }                  }
155                                    
# Line 168  public class DepartureServlet extends Ht Line 176  public class DepartureServlet extends Ht
176                  return xml;                  return xml;
177          }          }
178    
         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;  
         }  
   
179  }  }

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

  ViewVC Help
Powered by ViewVC 1.1.20