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

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

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

revision 801 by torben, Mon Jun 7 11:29:55 2010 UTC revision 803 by torben, Mon Jun 7 12:01:42 2010 UTC
# Line 10  import java.text.SimpleDateFormat; Line 10  import java.text.SimpleDateFormat;
10  import java.util.ArrayList;  import java.util.ArrayList;
11  import java.util.Date;  import java.util.Date;
12  import java.util.List;  import java.util.List;
13    import java.util.Map;
14  import java.util.logging.Level;  import java.util.logging.Level;
15  import java.util.logging.Logger;  import java.util.logging.Logger;
16  import java.util.zip.ZipEntry;  import java.util.zip.ZipEntry;
# Line 20  import javax.servlet.http.HttpServlet; Line 21  import javax.servlet.http.HttpServlet;
21  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletRequest;
22  import javax.servlet.http.HttpServletResponse;  import javax.servlet.http.HttpServletResponse;
23    
24    import dk.thoerup.traininfoservice.banedk.TimeoutMap;
25    
26  public class RequestPlotter extends HttpServlet {  public class RequestPlotter extends HttpServlet {
27          private static final long serialVersionUID = 1L;          private static final long serialVersionUID = 1L;
28    
# Line 27  public class RequestPlotter extends Http Line 30  public class RequestPlotter extends Http
30    
31          static final String KML = "application/vnd.google-earth.kml";          static final String KML = "application/vnd.google-earth.kml";
32          static final String KMZ = "application/vnd.google-earth.kmz";          static final String KMZ = "application/vnd.google-earth.kmz";
33            
34            Map<String,String> cache = new TimeoutMap<String,String>(2*60*1000);
35    
36          class RequestPosition {          class RequestPosition {
37                  public String ip;                  public String ip;
# Line 154  public class RequestPlotter extends Http Line 159  public class RequestPlotter extends Http
159    
160          @Override          @Override
161          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
162                    final String KEY = "kmldata";
163                    
164                    String kmlData = cache.get(KEY);
165                    
166                    if (kmlData == null) {
167                            kmlData = formatXml( getRequestsFromFile() );
168                            cache.put(KEY, kmlData);
169                            kmlData += "<!-- from source -->";                      
170                    } else {
171                            kmlData += "<!-- cached -->";
172                    }
173    
174                  String data = formatXml( getRequestsFromFile() );                  
175    
176                  if (req.getParameter("zip") != null) {                  if (req.getParameter("zip") != null) {
177    
# Line 163  public class RequestPlotter extends Http Line 179  public class RequestPlotter extends Http
179    
180                          ZipOutputStream zip = new ZipOutputStream(baos);                          ZipOutputStream zip = new ZipOutputStream(baos);
181                          zip.putNextEntry( new ZipEntry("trains.kml") );                          zip.putNextEntry( new ZipEntry("trains.kml") );
182                          zip.write( data.getBytes() );                          zip.write( kmlData.getBytes() );
183                          zip.closeEntry();                          zip.closeEntry();
184                          zip.close();                          zip.close();
185    
# Line 175  public class RequestPlotter extends Http Line 191  public class RequestPlotter extends Http
191    
192                  } else {                  } else {
193                          resp.setContentType(KML);                          resp.setContentType(KML);
194                          resp.getWriter().print( data );                          resp.getWriter().print( kmlData );
195                  }                  }
196          }          }
197  }  }

Legend:
Removed from v.801  
changed lines
  Added in v.803

  ViewVC Help
Powered by ViewVC 1.1.20