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

Contents of /android/TrainInfoService/src/dk/thoerup/traininfoservice/RequestPlotter.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 795 - (show annotations) (download)
Thu Jun 3 14:12:56 2010 UTC (13 years, 11 months ago) by torben
File size: 2069 byte(s)
First version of station-plotter
1 package dk.thoerup.traininfoservice;
2
3 import java.io.BufferedReader;
4 import java.io.FileInputStream;
5 import java.io.IOException;
6 import java.io.InputStreamReader;
7
8
9 import javax.servlet.ServletException;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13
14 public class RequestPlotter extends HttpServlet {
15 private static final long serialVersionUID = 1L;
16
17 protected String getKml() {
18 StringBuilder sb = new StringBuilder();
19 try {
20 FileInputStream fis = new FileInputStream("/var/log/apache2/access.log");
21 BufferedReader in = new BufferedReader( new InputStreamReader(fis) );
22
23
24 sb.append( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" );
25 sb.append( "<kml xmlns=\"http://www.opengis.net/kml/2.2\">\n" );
26 sb.append( "<Document>\n" );
27
28 String line;
29 while ( (line=in.readLine()) != null) {
30 if (line.indexOf("LocateStation") == -1 ){
31 continue;
32 }
33
34 if (line.indexOf("latitude") == -1 ) {
35 continue;
36 }
37
38 String toks[] = line.split(" ");
39 String ip = toks[0];
40 String time = toks[3].replace("[", "");
41 String argpart = toks[6].split("?")[1];
42
43 String args[] = argpart.split("&");
44
45 String lat = args[0].split("=")[1];
46 String lng = args[0].split("=")[1];
47
48 sb.append( " <Placemark>" );
49 sb.append( " <description>IP=" + ip + " Time=" + time + "</description>" );
50 sb.append( " <Point><coordinates>" + lng + "," + lat + ",0</coordinates></Point>" );
51 sb.append( " </Placemark>" );
52
53 }
54
55 sb.append( "</Document>\n" );
56 sb.append( "</kml>\n" );
57
58 } catch (Exception e) {
59 sb.append("<!-- error -->");
60 }
61
62 return sb.toString();
63 }
64
65 @Override
66 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
67 resp.setContentType("application/vnd.google-earth.kml");
68 resp.getWriter().print( getKml() );
69 }
70
71
72
73 }

  ViewVC Help
Powered by ViewVC 1.1.20