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

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

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

revision 1698 by torben, Wed Feb 29 10:45:48 2012 UTC revision 1906 by torben, Fri Jan 4 10:37:36 2013 UTC
# Line 3  package dk.thoerup.traininfoservice.bane Line 3  package dk.thoerup.traininfoservice.bane
3  import java.io.IOException;  import java.io.IOException;
4  import java.io.PrintWriter;  import java.io.PrintWriter;
5  import java.net.URL;  import java.net.URL;
6    import java.net.URLDecoder;
7  import java.net.URLEncoder;  import java.net.URLEncoder;
8  import java.util.Map;  import java.util.Map;
9  import java.util.Set;  import java.util.Set;
# Line 32  import dk.thoerup.genericjavautils.Timeo Line 33  import dk.thoerup.genericjavautils.Timeo
33  public class CompareStations extends HttpServlet {  public class CompareStations extends HttpServlet {
34          private static final long serialVersionUID = 1L;          private static final long serialVersionUID = 1L;
35    
36          Map<String,String> cache = new TimeoutMap<String,String>(300 * 1000);          Map<String,String> cache = new TimeoutMap<String,String>(600 * 1000);
37                
38          protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {          protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
39                  try {                  try {
40                                            String data = "";
41                          String data = getData(request);                          String uri = request.getParameter("uri");
42    
43                            if (uri != null) {
44                                    boolean require = Boolean.parseBoolean( request.getParameter("requiredata") );
45                                    data = hasData(uri, require);
46                            } else {
47                                    data = getData(request);
48                            }
49    
50                          PrintWriter out = response.getWriter();                          PrintWriter out = response.getWriter();
51                          out.print(data);                          out.print(data);
52    
                         System.out.println("CompareStations completed");  
53                  } catch (Exception e) {                  } catch (Exception e) {
54                          throw new ServletException(e);                          throw new ServletException(e);
55                  }                  }
# Line 58  public class CompareStations extends Htt Line 65  public class CompareStations extends Htt
65                    
66                  StringBuilder sb = new StringBuilder();                  StringBuilder sb = new StringBuilder();
67                  sb.append("<html>");                  sb.append("<html>");
68                  sb.append("<head></head>");                  sb.append("<head>");
69                    sb.append("<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script>\n");
70                    sb.append("<script type='text/javascript' src='compareloader.js'></script>\n");
71    
72                    sb.append("</head>");
73                  sb.append("<body>");                  sb.append("<body>");
74                    
75                  StationDAO dao = new StationDAO();                  StationDAO dao = new StationDAO();
# Line 81  public class CompareStations extends Htt Line 92  public class CompareStations extends Htt
92                          sb.append("<ul>");                          sb.append("<ul>");
93    
94                          StationBean bean = dao.dumpAll();                          StationBean bean = dao.dumpAll();
95                          for (StationEntry station : bean.entries) {                          for (StationEntry station : bean.entries) {                            
96                                  if (station.isRegional() || station.isStrain()) {                                  if (station.isRegional() || station.isStrain()) {
97                                          if (station.isRegional() ) {                                                      String href = banedkStations.get(station.getName() );
98                                                  String id = URLEncoder.encode(station.getRegional(), "ISO-8859-1");                                          String hrefCode = "null";
99                                                  String uri = "/Trafikinformation/AfgangAnkomst/Afgang/" + id + "/Fjerntog";                                          if ( href != null) {
100                                                    String hrefParts[] = href.split("/");
101                                                    hrefCode = URLDecoder.decode(hrefParts[4], "UTF-8");
102                                            }
103                                                                                    
104                                                  String data = hasData(uri, true);                                          String id = "";
105                                            String uri = "";
106                                                  sb.append( "<li><a target='_blank' href='http://trafikinfo.bane.dk" + uri + "'>" + station.getName() + "</a>&nbsp;&nbsp;" + data + "</li>\n" );                                          if (station.isRegional() ) {            
107                                                    id = station.getRegional();
108                                                    uri = "/Trafikinformation/AfgangAnkomst/Afgang/" + id + "/Fjerntog";
109                                          }                                          }
110                                          if (station.isStrain() ) {                                                        if (station.isStrain() ) {              
111                                                  String id = URLEncoder.encode(station.getStrain(), "ISO-8859-1");                                                  id = station.getStrain();
112                                                  String uri = "/Trafikinformation/AfgangAnkomst/Afgang/" + id + "/S-Tog";                                                  uri = "/Trafikinformation/AfgangAnkomst/Afgang/" + id + "/S-Tog";
113                                            }
114                                                                                    
115                                                  String data = hasData(uri, true);                                          String idMismatch = "";
116                                            if (!hrefCode.equals(id) ) {
117                                                  sb.append( "<li><a target='_blank' href='http://trafikinfo.bane.dk" + uri + "'>" + station.getName() + "</a>&nbsp;&nbsp;" + data + "</li>\n" );                                                  idMismatch = " ID Mismatch (DB="+id+ ", BaneDK=" + hrefCode + ")";
118                                          }                                          }
119                                                    
120                                            
121                                            sb.append( "<li><a target='_blank' href='http://trafikinfo.bane.dk" + uri + "'>" + station.getName() + "</a> <span class='uri' requiredata='true' uri='" + uri + "'></span> " + idMismatch + "</li>\n" );
122    
123                                          dbStations.add(station.getName());                                          dbStations.add(station.getName());                                      
124                                  }                                  }
125                                    
126    
127                          }                          }
128                          sb.append("</ul>\n");                          sb.append("</ul>\n");
129                                                    
# Line 122  public class CompareStations extends Htt Line 144  public class CompareStations extends Htt
144                  for(String s : tmpBanedkStations) {                  for(String s : tmpBanedkStations) {
145                          String uri = banedkStations.get(s);                          String uri = banedkStations.get(s);
146                          String disabled = "";                          String disabled = "";
147                          String data = hasData(uri, false);                          //String data = hasData(uri, false);
148                                                    
149                          try {                          try {
150                                  boolean tmpdisabled = dao.hasDisabledStation(s);                                  boolean tmpdisabled = dao.hasDisabledStation(s);
151                                  if (tmpdisabled == true)                                  if (tmpdisabled == true)
152                                          disabled = "disabled";                                          disabled = " - disabled";
153                          } catch (Exception e) {                          } catch (Exception e) {
154                                  throw new ServletException(e);                                  throw new ServletException(e);
155                          }                          }
156                                                    
157                          sb.append( "<li><a target='_blank' href='http://trafikinfo.bane.dk" + uri + "'>" + s + "</a>&nbsp;&nbsp;" + data + " - " + disabled + "</li>\n" );                          sb.append( "<li><a target='_blank' href='http://trafikinfo.bane.dk" + uri + "'>" + s + "</a>&nbsp;<span class='uri' requiredata='false' uri='" + uri + "'></span>" + disabled + "</li>\n" );
158                  }                                                }                              
159                  sb.append("</ul>");                  sb.append("</ul>");
160    
# Line 146  public class CompareStations extends Htt Line 168  public class CompareStations extends Htt
168                          sb.append( "<li>" + s + "</li>\n" );                          sb.append( "<li>" + s + "</li>\n" );
169                  }                                                }                              
170                  sb.append("</ul>");                  sb.append("</ul>");
171                    sb.append("<font size='1' id='antal'></font>");
172                  sb.append("</body></html>\n");                  sb.append("</body></html>\n");
173                                    
174                  return sb.toString();                    return sb.toString();  
# Line 173  public class CompareStations extends Htt Line 195  public class CompareStations extends Htt
195          String hasDataWorker(String uri, boolean requiredata) throws Exception {          String hasDataWorker(String uri, boolean requiredata) throws Exception {
196                  String returnVal = "";                  String returnVal = "";
197                                    
198                    String parts[] = uri.split("\\/");
199                    String id = URLEncoder.encode(parts[4], "ISO-8859-1");
200                    String uri2 = "/TrafikInformation/AfgangAnkomst/Afgang/" + id + "/" + parts[5];
201    
202                  CircuitBreaker cb = CircuitBreakerManager.getManager().getCircuitBreaker("banedk");                  CircuitBreaker cb = CircuitBreakerManager.getManager().getCircuitBreaker("banedk");
203                                                    
204                  JsoupInvocation jsoup = new JsoupInvocation(new URL("http://trafikinfo.bane.dk" + uri), 2000);                  JsoupInvocation jsoup = new JsoupInvocation(new URL("http://trafikinfo.bane.dk" + uri2), 2000);
205                                                    
206                  Document doc = (Document) cb.invoke(jsoup);                  Document doc = (Document) cb.invoke(jsoup);
207                                                    

Legend:
Removed from v.1698  
changed lines
  Added in v.1906

  ViewVC Help
Powered by ViewVC 1.1.20