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

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

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

revision 313 by torben, Fri Sep 11 07:13:46 2009 UTC revision 348 by torben, Sun Sep 27 19:14:39 2009 UTC
# Line 6  import java.sql.Statement; Line 6  import java.sql.Statement;
6  import java.util.ArrayList;  import java.util.ArrayList;
7  import java.util.Collections;  import java.util.Collections;
8  import java.util.List;  import java.util.List;
9    import java.util.logging.Logger;
10    
11  import com.gargoylesoftware.htmlunit.ProxyConfig;  import com.gargoylesoftware.htmlunit.ProxyConfig;
12  import com.gargoylesoftware.htmlunit.WebClient;  import com.gargoylesoftware.htmlunit.WebClient;
# Line 16  import com.gargoylesoftware.htmlunit.htm Line 17  import com.gargoylesoftware.htmlunit.htm
17  import dk.thoerup.traininfoservice.DBConnection;  import dk.thoerup.traininfoservice.DBConnection;
18    
19  public class DepartureFetcher {  public class DepartureFetcher {
20            
21            Logger logger = Logger.getLogger(DepartureFetcher.class.getName());
22                                    
23    
24          public List<DepartureBean> lookupDepartures(int stationID) throws Exception {          public List<DepartureBean> lookupDepartures(int stationID) throws Exception {
# Line 67  public class DepartureFetcher { Line 70  public class DepartureFetcher {
70              final HtmlPage page = webClient.getPage("http://www.bane.dk/visStation.asp?ArtikelID=4275&W=" + type + "&S=" + stationcode);              final HtmlPage page = webClient.getPage("http://www.bane.dk/visStation.asp?ArtikelID=4275&W=" + type + "&S=" + stationcode);
71                            
72              HtmlElement table = page.getElementById("afgangtabel");              HtmlElement table = page.getElementById("afgangtabel");
             DomNodeList<HtmlElement> tableRows =  table.getElementsByTagName("tr");  
73                            
74              for (HtmlElement currentRow : tableRows) {              if (table != null) {
75                  String rowClass = currentRow.getAttribute("class");                      DomNodeList<HtmlElement> tableRows =  table.getElementsByTagName("tr");
76                  if (rowClass != null && rowClass.toLowerCase().contains("station") ) {                      
77                          DomNodeList<HtmlElement> fields = currentRow.getElementsByTagName("td");                      for (HtmlElement currentRow : tableRows) {
78                            String rowClass = currentRow.getAttribute("class");
79                          DepartureBean departure = new DepartureBean();                          if (rowClass != null && rowClass.toLowerCase().contains("station") ) {
80                                                            DomNodeList<HtmlElement> fields = currentRow.getElementsByTagName("td");
81                          String time = fields.get(0).asText();          
82                          departure.setTime(time);                                  DepartureBean departure = new DepartureBean();
83                                                            
84                          int updated = extractUpdated( fields.get(1) );                                  String time = fields.get(0).asText();
85                          departure.setUpdated(updated);                                  departure.setTime(time);
86                                                            
87                          String trainNumber = fields.get(2).asText();                                  int updated = extractUpdated( fields.get(1) );
88                          departure.setTrainNumber(trainNumber);                                  departure.setUpdated(updated);
89                                                            
90                          String destination = fields.get(3).asText();                                  String trainNumber = fields.get(2).asText();
91                          departure.setDestination(destination);                                  departure.setTrainNumber(trainNumber);
92                                                            
93                          String origin = fields.get(4).asText();                                  String destination = fields.get(3).asText();
94                          departure.setOrigin(origin);                                  departure.setDestination(destination);
95                                                            
96                          String location = fields.get(5).asText();                                  String origin = fields.get(4).asText();
97                          departure.setLocation(location);                                  departure.setOrigin(origin);
98                                                            
99                          String status = fields.get(6).asText();                                  String location = fields.get(5).asText();
100                          departure.setStatus(status);                                  departure.setLocation(location);
101                                                            
102                          String note = extractNote( fields.get(7) );                                  String status = fields.get(6).asText();
103                          departure.setNote(note);                                  departure.setStatus(status);
104                                                            
105                          departureList.add(departure);                                  String note = extractNote( fields.get(7) );
106                  }                                  departure.setNote(note);
107                                    
108                                    departureList.add(departure);
109                            }
110                        }
111                } else {
112                    logger.warning("No departures found for station=" + stationcode + ", type=" + type);
113              }              }
114                            
115              return departureList;              return departureList;

Legend:
Removed from v.313  
changed lines
  Added in v.348

  ViewVC Help
Powered by ViewVC 1.1.20