/[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 1311 by torben, Tue Apr 19 16:31:11 2011 UTC revision 1370 by torben, Wed Apr 20 21:31:45 2011 UTC
# Line 17  import java.util.List; Line 17  import java.util.List;
17  import java.util.Map;  import java.util.Map;
18  import java.util.logging.Level;  import java.util.logging.Level;
19  import java.util.logging.Logger;  import java.util.logging.Logger;
 import java.util.zip.GZIPInputStream;  
20  import java.util.zip.ZipEntry;  import java.util.zip.ZipEntry;
21  import java.util.zip.ZipOutputStream;  import java.util.zip.ZipOutputStream;
22    
# Line 27  import javax.servlet.http.HttpServlet; Line 26  import javax.servlet.http.HttpServlet;
26  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletRequest;
27  import javax.servlet.http.HttpServletResponse;  import javax.servlet.http.HttpServletResponse;
28    
29  import dk.thoerup.traininfoservice.banedk.TimeoutMap;  import dk.thoerup.genericjavautils.TimeoutMap;
30    
31  @WebServlet(urlPatterns={"/RequestPlotter"})  @WebServlet(urlPatterns={"/RequestPlotter"})
32  public class RequestPlotter extends HttpServlet {  public class RequestPlotter extends HttpServlet {
# Line 79  public class RequestPlotter extends Http Line 78  public class RequestPlotter extends Http
78                          return empty;                          return empty;
79                  }                  }
80                                    
81                  int from = logFiles.length - (count);                  int from = (count>logFiles.length) ? 0 : logFiles.length - (count);
82                  int to = logFiles.length;                  int to = logFiles.length;
83                                                                    
84                  return Arrays.copyOfRange(logFiles, from, to);                    return Arrays.copyOfRange(logFiles, from, to);  
85          }          }
86                    
87          protected PositionContainer getRequestsFromFileWorker(boolean multiple) throws IOException{          protected PositionContainer getRequestsFromFileWorker(int  count) throws IOException{
88                  PositionContainer positions = new PositionContainer();                  PositionContainer positions = new PositionContainer();
89    
90                  try {                  try {                  
                           
                         int count;  
                           
                         if (multiple == false) {  
                                 count = 1;  
                         } else {  
                                 count = 4;  
                         }  
91                                                    
92                          File files[] = getFiles(count);                          File files[] = getFiles(count);
93    
# Line 345  public class RequestPlotter extends Http Line 336  public class RequestPlotter extends Http
336                  return sb.toString();                  return sb.toString();
337          }          }
338                    
339          protected String getRequestsFromFile(boolean multiple) throws IOException {                      protected String getRequestsFromFile(int count) throws IOException {            
340                  String kmlData = null;                  String kmlData = null;
341                  String key;                  String key;
342                                    
343                  if (multiple == false)  {                  key = "kmldata-" + count;
                         key = "kmldata";  
                 } else {  
                         key = "kmldata-multi";  
                 }  
344                                                                                    
345                  kmlData = null;// = cache.get(key);                  kmlData = cache.get(key);
346                                                    
347                  if (kmlData == null) {                  if (kmlData == null) {
348                          kmlData = formatXml( getRequestsFromFileWorker(multiple) );                          kmlData = formatXml( getRequestsFromFileWorker(count) );
349                          cache.put(key, kmlData);                          cache.put(key, kmlData);
350                          kmlData += "<!-- from source -->";                                                kmlData += "<!-- from source -->";                      
351                  } else {                  } else {
# Line 381  public class RequestPlotter extends Http Line 368  public class RequestPlotter extends Http
368                  return (p != 0);                  return (p != 0);
369          }          }
370    
371            int getCount(String param) {
372                    if (param == null || param.equals("")) {
373                            return 1;
374                    }
375                                    
376                    return Integer.parseInt(param);
377            }
378    
379            
380          @Override          @Override
381          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
382                                    
                 boolean multiple = enabled( req.getParameter("multi") );  
383                                    
384                  String kmlData = getRequestsFromFile(multiple);                  int count = getCount( req.getParameter("count") );
385                    
386                    if (count > 30) //limit to 30 days
387                            count = 30;
388                    if (count < 0) //negative count is not allowed
389                            count = 0;
390                    
391                    String kmlData = getRequestsFromFile(count);
392                                    
393                  if ( enabled(req.getParameter("zip")) ) {                  if ( enabled(req.getParameter("zip")) ) {
394    

Legend:
Removed from v.1311  
changed lines
  Added in v.1370

  ViewVC Help
Powered by ViewVC 1.1.20