/[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 1312 by torben, Tue Apr 19 16:39:07 2011 UTC revision 1429 by torben, Mon May 2 18:33:11 2011 UTC
# Line 26  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 78  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);  
# Line 267  public class RequestPlotter extends Http Line 267  public class RequestPlotter extends Http
267                  for(RequestPosition current : list) {                  for(RequestPosition current : list) {
268                          String id = color + count++;                          String id = color + count++;
269                          sb.append( " <Placemark id=\"" + id + "\">\n" );                          sb.append( " <Placemark id=\"" + id + "\">\n" );
270                            sb.append( "  <name>").append(current.time).append("</name>\n" );
271                          sb.append( "  <styleUrl>#").append(color).append("</styleUrl>\n" );                          sb.append( "  <styleUrl>#").append(color).append("</styleUrl>\n" );
272                          sb.append( "  <description><![CDATA[IP=").append(current.ip).append("<br/>Time=").append(current.time).append("]]></description>\n" );                          sb.append( "  <description><![CDATA[IP=").append(current.ip).append("<br/> ]]></description>\n" );
273                          sb.append( "  <Point><coordinates>").append(current.lng).append(",").append(current.lat).append(",0</coordinates></Point>\n" );                          sb.append( "  <Point><coordinates>").append(current.lng).append(",").append(current.lat).append(",0</coordinates></Point>\n" );
274                          sb.append( " </Placemark>\n" );                                          sb.append( " </Placemark>\n" );                
275                  }                                }              
# Line 368  public class RequestPlotter extends Http Line 369  public class RequestPlotter extends Http
369                  return (p != 0);                  return (p != 0);
370          }          }
371    
372            int getCount(String param) {
373                    if (param == null || param.equals("")) {
374                            return 1;
375                    }
376                                    
377                    return Integer.parseInt(param);
378            }
379    
380            
381          @Override          @Override
382          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
383                                    
384                                    
385                  int count = Integer.parseInt( req.getParameter("count") );                  int count = getCount( req.getParameter("count") );
386                                    
387                  if (count > 30) //limit to 30 days                  if (count > 30) //limit to 30 days
388                          count = 30;                          count = 30;
389                    if (count < 0) //negative count is not allowed
390                            count = 0;
391                                    
392                  String kmlData = getRequestsFromFile(count);                  String kmlData = getRequestsFromFile(count);
393                                    
# Line 392  public class RequestPlotter extends Http Line 404  public class RequestPlotter extends Http
404                          byte bytes[] = baos.toByteArray();                          byte bytes[] = baos.toByteArray();
405    
406                          resp.setContentType(KMZ);                          resp.setContentType(KMZ);
407                          resp.setContentLength( bytes.length );                          resp.setHeader("Content-Disposition", "attachment; filename=Traininfo-requestplotter.kmz");
408                            resp.setContentLength( bytes.length );                  
409                          resp.getOutputStream().write(bytes);                          resp.getOutputStream().write(bytes);
410    
411                  } else {                  } else {
412                          resp.setContentType(KML);                          byte bytes[] = kmlData.getBytes();
413                          resp.getWriter().print( kmlData );                          
414                            resp.setContentType(KML);                      
415                            resp.setContentLength( bytes.length );
416                            resp.getOutputStream().write(bytes);
417                  }                  }
418          }          }
419  }  }

Legend:
Removed from v.1312  
changed lines
  Added in v.1429

  ViewVC Help
Powered by ViewVC 1.1.20