--- android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/CompareStations.java 2012/02/29 13:03:30 1699 +++ android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/CompareStations.java 2012/02/29 14:20:31 1700 @@ -36,13 +36,19 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { - - String data = getData(request); + String data = ""; + String uri = request.getParameter("uri"); + + if (uri != null) { + boolean require = Boolean.parseBoolean( request.getParameter("requiredata") ); + data = hasData(uri, require); + } else { + data = getData(request); + } PrintWriter out = response.getWriter(); out.print(data); - System.out.println("CompareStations completed"); } catch (Exception e) { throw new ServletException(e); } @@ -58,7 +64,11 @@ StringBuilder sb = new StringBuilder(); sb.append(""); - sb.append(""); + sb.append(""); + sb.append("\n"); + sb.append("\n"); + + sb.append(""); sb.append(""); StationDAO dao = new StationDAO(); @@ -84,20 +94,20 @@ for (StationEntry station : bean.entries) { if (station.isRegional() || station.isStrain()) { if (station.isRegional() ) { - String id = URLEncoder.encode(station.getRegional(), "ISO-8859-1"); + //String id = URLEncoder.encode(station.getRegional(), "ISO-8859-1"); + String id = station.getRegional(); String uri = "/Trafikinformation/AfgangAnkomst/Afgang/" + id + "/Fjerntog"; - String data = hasData(uri, true); - sb.append( "
  • " + station.getName() + "  " + data + "
  • \n" ); + sb.append( "
  • " + station.getName() + "
  • \n" ); } if (station.isStrain() ) { - String id = URLEncoder.encode(station.getStrain(), "ISO-8859-1"); + //String id = URLEncoder.encode(station.getStrain(), "ISO-8859-1"); + String id = station.getStrain(); String uri = "/Trafikinformation/AfgangAnkomst/Afgang/" + id + "/S-Tog"; - String data = hasData(uri, true); - sb.append( "
  • " + station.getName() + "  " + data + "
  • \n" ); + sb.append( "
  • " + station.getName() + "
  • \n" ); } dbStations.add(station.getName()); @@ -122,7 +132,7 @@ for(String s : tmpBanedkStations) { String uri = banedkStations.get(s); String disabled = ""; - String data = hasData(uri, false); + //String data = hasData(uri, false); try { boolean tmpdisabled = dao.hasDisabledStation(s); @@ -132,7 +142,7 @@ throw new ServletException(e); } - sb.append( "
  • " + s + "  " + data + "" + disabled + "
  • \n" ); + sb.append( "
  • " + s + " " + disabled + "
  • \n" ); } sb.append(""); @@ -173,9 +183,13 @@ String hasDataWorker(String uri, boolean requiredata) throws Exception { String returnVal = ""; + String parts[] = uri.split("\\/"); + String id = URLEncoder.encode(parts[4], "ISO-8859-1"); + String uri2 = "/TrafikInformation/AfgangAnkomst/Afgang/" + id + "/" + parts[5]; + CircuitBreaker cb = CircuitBreakerManager.getManager().getCircuitBreaker("banedk"); - JsoupInvocation jsoup = new JsoupInvocation(new URL("http://trafikinfo.bane.dk" + uri), 2000); + JsoupInvocation jsoup = new JsoupInvocation(new URL("http://trafikinfo.bane.dk" + uri2), 2000); Document doc = (Document) cb.invoke(jsoup);