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

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

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

revision 581 by torben, Tue Feb 2 18:47:55 2010 UTC revision 711 by torben, Wed May 5 20:11:03 2010 UTC
# Line 8  import java.util.List; Line 8  import java.util.List;
8  import java.util.Map;  import java.util.Map;
9  import java.util.logging.Logger;  import java.util.logging.Logger;
10    
11    import com.gargoylesoftware.htmlunit.BrowserVersion;
12  import com.gargoylesoftware.htmlunit.Page;  import com.gargoylesoftware.htmlunit.Page;
13  import com.gargoylesoftware.htmlunit.RefreshHandler;  import com.gargoylesoftware.htmlunit.RefreshHandler;
14  import com.gargoylesoftware.htmlunit.WebClient;  import com.gargoylesoftware.htmlunit.WebClient;
# Line 17  import com.gargoylesoftware.htmlunit.htm Line 18  import com.gargoylesoftware.htmlunit.htm
18    
19  import dk.thoerup.circuitbreaker.CircuitBreaker;  import dk.thoerup.circuitbreaker.CircuitBreaker;
20  import dk.thoerup.circuitbreaker.CircuitBreakerManager;  import dk.thoerup.circuitbreaker.CircuitBreakerManager;
21    import dk.thoerup.traininfoservice.Statistics;
22    
23  public class TimetableFetcher {  public class TimetableFetcher {
24                    
# Line 26  public class TimetableFetcher { Line 28  public class TimetableFetcher {
28                                    
29          }          }
30                                    
31          Map<String, List<TimetableBean>> cache = new TimeoutMap<String,List<TimetableBean>>(120 * 1000);          Map<String, List<TimetableBean>> cache;
32                    
33                    
34          Logger logger = Logger.getLogger(TimetableFetcher.class.getName());          Logger logger = Logger.getLogger(TimetableFetcher.class.getName());
35                    
36          private boolean useTempSite;          private boolean useTempSite;
37                    
38          public TimetableFetcher(boolean tmpSite) {          public TimetableFetcher(boolean tmpSite, int cacheTimeout) {
39                  useTempSite = tmpSite;                  useTempSite = tmpSite;
40                    
41                    cache = new TimeoutMap<String,List<TimetableBean>>(cacheTimeout);
42          }          }
43                    
44                    
# Line 46  public class TimetableFetcher { Line 50  public class TimetableFetcher {
50                          list = lookupTimetable(trainID,type);                          list = lookupTimetable(trainID,type);
51                          cache.put(key, list);                          cache.put(key, list);
52                  } else {                  } else {
53                            Statistics.getInstance().incrementTimetableCacheHits();
54                          logger.info("Timetable: Cache hit " + trainID);                          logger.info("Timetable: Cache hit " + trainID);
55                  }                  }
56                  return list;                  return list;
# Line 65  public class TimetableFetcher { Line 70  public class TimetableFetcher {
70                  String url = "http://www.bane.dk/visRute.asp?W=" + type + "&TogNr=" + trainID + "&artikelId=4276";                  String url = "http://www.bane.dk/visRute.asp?W=" + type + "&TogNr=" + trainID + "&artikelId=4276";
71                                                                    
72    
73              final WebClient webClient = new WebClient();              final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3);
74              webClient.setTimeout(2500);              webClient.setTimeout(2500);
75              webClient.setJavaScriptEnabled(false);                      webClient.setJavaScriptEnabled(false);        
76              webClient.setRefreshHandler( new NullRefreshHandler() );              webClient.setRefreshHandler( new NullRefreshHandler() );
# Line 116  public class TimetableFetcher { Line 121  public class TimetableFetcher {
121              } else {              } else {
122                  logger.warning("No time table found, trainID=" + trainID + " type=" + type);                  logger.warning("No time table found, trainID=" + trainID + " type=" + type);
123              }              }
124                webClient.closeAllWindows();
125                                    
126                  return timetableList;                  return timetableList;
127          }          }

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

  ViewVC Help
Powered by ViewVC 1.1.20