59 |
StationBean station = stationDao.getById(stationID); |
StationBean station = stationDao.getById(stationID); |
60 |
|
|
61 |
if (station.getRegional() != null) { |
if (station.getRegional() != null) { |
62 |
List<DepartureBean> list = lookupDepartures(station.getRegional(), "FJRN", arrival); |
List<DepartureBean> list = lookupDepartures(station.getRegional(), "Fjerntog", arrival); |
63 |
departureList.addAll(list); |
departureList.addAll(list); |
64 |
} |
} |
65 |
|
|
66 |
if (station.getStrain() != null) { |
if (station.getStrain() != null) { |
67 |
List<DepartureBean> list = lookupDepartures(station.getStrain(), "S2", arrival); |
List<DepartureBean> list = lookupDepartures(station.getStrain(), "S-Tog", arrival); |
68 |
departureList.addAll(list); |
departureList.addAll(list); |
69 |
} |
} |
70 |
|
|
89 |
final WebClient webClient = new WebClient( BrowserVersion.FIREFOX_3 ); |
final WebClient webClient = new WebClient( BrowserVersion.FIREFOX_3 ); |
90 |
webClient.setTimeout(2500); |
webClient.setTimeout(2500); |
91 |
webClient.setJavaScriptEnabled(false); |
webClient.setJavaScriptEnabled(false); |
92 |
|
|
93 |
|
String arrivalDeparture = (arrival==false) ? "Afgang" : "Ankomst"; |
94 |
|
|
95 |
String uri = "http://www.bane.dk/visStation.asp?ArtikelID=4275&W=" + type + "&S=" + stationcode; |
//String uri = "http://www.bane.dk/visStation.asp?ArtikelID=4275&W=" + type + "&S=" + stationcode; |
96 |
BanedkInvocation wrapper = new BanedkInvocation(webClient, uri); |
String uri = "http://trafikinfo.bane.dk/Trafikinformation/AfgangAnkomst/" + arrivalDeparture + "/" + stationcode + "/" +type + "/UdvidetVisning"; |
97 |
|
|
98 |
|
logger.info("URI: " + uri); |
99 |
|
HtmlunitInvocation wrapper = new HtmlunitInvocation(webClient, uri); |
100 |
CircuitBreaker breaker = CircuitBreakerManager.getManager().getCircuitBreaker("banedk"); |
CircuitBreaker breaker = CircuitBreakerManager.getManager().getCircuitBreaker("banedk"); |
101 |
|
|
102 |
HtmlPage page = (HtmlPage) breaker.invoke(wrapper); |
HtmlPage page = (HtmlPage) breaker.invoke(wrapper); |
123 |
departure.setUpdated(updated); |
departure.setUpdated(updated); |
124 |
|
|
125 |
String trainNumber = fields.get(2).asText(); |
String trainNumber = fields.get(2).asText(); |
126 |
if (type.equalsIgnoreCase("S2")) //If it is S-train we need to extract the trainNumber |
if (type.equalsIgnoreCase("S-Tog")) //If it is S-train we need to extract the trainNumber |
127 |
trainNumber = trainNumber + " " + extractTrainNumber(fields.get(2)); |
trainNumber = trainNumber + " " + extractTrainNumber(fields.get(2)); |
128 |
departure.setTrainNumber(trainNumber); |
departure.setTrainNumber(trainNumber); |
129 |
|
|
136 |
String location = fields.get(5).asText(); |
String location = fields.get(5).asText(); |
137 |
departure.setLocation(location); |
departure.setLocation(location); |
138 |
|
|
139 |
String status = fields.get(6).asText(); |
String status = fields.get(6).asText().trim(); |
140 |
departure.setStatus(status); |
departure.setStatus(status); |
141 |
|
|
142 |
String note = extractNote( fields.get(7) ); |
String note = extractNote( fields.get(7) ); |
166 |
|
|
167 |
String uri = "http://bane.dk/lite/station.asp?w=" + type + "&s=" + stationcode; |
String uri = "http://bane.dk/lite/station.asp?w=" + type + "&s=" + stationcode; |
168 |
|
|
169 |
BanedkInvocation wrapper = new BanedkInvocation(webClient, uri); |
HtmlunitInvocation wrapper = new HtmlunitInvocation(webClient, uri); |
170 |
CircuitBreaker breaker = CircuitBreakerManager.getManager().getCircuitBreaker("banedk"); |
CircuitBreaker breaker = CircuitBreakerManager.getManager().getCircuitBreaker("banedk"); |
171 |
|
|
172 |
HtmlPage page = (HtmlPage) breaker.invoke(wrapper); |
HtmlPage page = (HtmlPage) breaker.invoke(wrapper); |
251 |
} |
} |
252 |
|
|
253 |
private String extractTrainNumber(HtmlElement trainTd) { |
private String extractTrainNumber(HtmlElement trainTd) { |
254 |
|
logger.info("Extract traininfo " + trainTd.toString() ); |
255 |
String number = ""; |
String number = ""; |
256 |
HtmlElement anchorElement = trainTd.getElementsByTagName("a").get(0); |
HtmlElement anchorElement = trainTd.getElementsByTagName("a").get(0); |
257 |
String href = anchorElement.getAttribute("href"); |
String href = anchorElement.getAttribute("href"); |
258 |
String argstring = href.substring( href.indexOf('?') + 1); |
String argstring = href.substring( href.indexOf('?') + 1); |
259 |
|
|
260 |
String args[] = argstring.split("&"); |
String args[] = argstring.split("/"); |
261 |
for (String arg : args) { |
number = args[args.length-1]; |
262 |
|
|
263 |
|
/*for (String arg : args) { |
264 |
String pair[] = arg.split("="); // Key=pair[0], Value=pair[1] |
String pair[] = arg.split("="); // Key=pair[0], Value=pair[1] |
265 |
|
|
266 |
if (pair[0].equalsIgnoreCase("TogNr")) |
if (pair[0].equalsIgnoreCase("TogNr")) |
267 |
number = pair[1]; |
number = pair[1]; |
268 |
} |
}*/ |
269 |
|
|
270 |
|
|
271 |
return number; |
return number; |