--- android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/DepartureFetcher.java 2012/08/20 21:15:20 1831 +++ android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/DepartureFetcher.java 2012/08/20 21:15:37 1832 @@ -134,6 +134,15 @@ if (type == FetchTrainType.BOTH) { //if we have both S-tog and regional order by departure/arrival time Collections.sort( departureBean.entries, departureTimeComparator); } + + System.out.println("Trit: " + settings.isTritinfoEnabled() + " " + station.getTritStation() ); + if ( settings.isTritinfoEnabled() && station.getTritStation() != -1) { + try { + injectTritinfoData(departureBean, station); + } catch (Exception ex) { //det er ikke kritisk at vi får perron numre med + ex.printStackTrace(); + } + } return departureBean; @@ -543,6 +552,49 @@ return number; } + + + private void injectTritinfoData(DepartureBean departureBean, StationEntry station) throws Exception { + String uri = "http://tritinfo.pallas.dk/webtavle?page=stationcontent&staid=" + station.getTritStation(); + logger.fine("URI:" + uri); + System.out.println("URI:" + uri); + + + JsoupInvocation wrapper = new JsoupInvocation( new URL(uri), settings.getReplyTimeout() ); + CircuitBreaker breaker = CircuitBreakerManager.getManager().getCircuitBreaker("tritinfo"); + + Element page = (Element) breaker.invoke(wrapper); + + Element table = page.getElementsByClass("passages").get(0); + + Elements trains = table.getElementsByClass("train"); + + for (int i=0; i