package dk.thoerup.traininfoservice.banedk; import java.net.URL; import java.util.logging.Logger; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import dk.thoerup.android.traininfo.common.DepartureBean; import dk.thoerup.android.traininfo.common.DepartureEntry; import dk.thoerup.android.traininfo.common.StationEntry; import dk.thoerup.circuitbreaker.CircuitBreaker; import dk.thoerup.circuitbreaker.CircuitBreakerManager; import dk.thoerup.traininfoservice.TraininfoSettings; public class TritinfoFetcher { Logger logger = Logger.getLogger( TritinfoFetcher.class.getName() ); TraininfoSettings settings; public TritinfoFetcher(TraininfoSettings settings) { this.settings = settings; } public void injectTritinfoData(DepartureBean departureBean, StationEntry station) throws Exception { String uri = "http://tritinfo.pallas.dk/webtavle?page=stationcontent&staid=" + station.getTritStation(); logger.fine("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