--- android/TrainInfoService/src/dk/thoerup/traininfoservice/RequestPlotter.java 2010/06/07 11:29:55 801 +++ android/TrainInfoService/src/dk/thoerup/traininfoservice/RequestPlotter.java 2010/06/07 11:46:25 802 @@ -10,6 +10,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import java.util.zip.ZipEntry; @@ -20,6 +21,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import dk.thoerup.traininfoservice.banedk.TimeoutMap; + public class RequestPlotter extends HttpServlet { private static final long serialVersionUID = 1L; @@ -27,6 +30,8 @@ static final String KML = "application/vnd.google-earth.kml"; static final String KMZ = "application/vnd.google-earth.kmz"; + + Map cache = new TimeoutMap(2*60*1000); class RequestPosition { public String ip; @@ -154,8 +159,18 @@ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + + String data = cache.get("data"); + + if (data == null) { + data = formatXml( getRequestsFromFile() ); + cache.put("data", data); + data += ""; + } else { + data += ""; + } - String data = formatXml( getRequestsFromFile() ); + if (req.getParameter("zip") != null) {