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

Annotation of /android/TrainInfoService/src/dk/thoerup/traininfoservice/db/TestServlet.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1256 - (hide annotations) (download)
Mon Apr 4 11:58:30 2011 UTC (13 years, 1 month ago) by torben
File size: 2589 byte(s)
Small refactoring to db test code
1 torben 1255 package dk.thoerup.traininfoservice.db;
2 torben 735
3     import java.io.IOException;
4     import java.sql.SQLException;
5     import java.util.Random;
6    
7     import javax.servlet.ServletException;
8 torben 958 import javax.servlet.annotation.WebServlet;
9 torben 735 import javax.servlet.http.HttpServlet;
10     import javax.servlet.http.HttpServletRequest;
11     import javax.servlet.http.HttpServletResponse;
12    
13 torben 1255
14 torben 958 @WebServlet(urlPatterns={"/TestServlet"})
15 torben 735 public class TestServlet extends HttpServlet {
16     private static final long serialVersionUID = 1L;
17 torben 851
18     Random r = new Random();
19 torben 735
20 torben 852 //South-West corner= 54.5, 8.0
21 torben 853 //North-East corner= 57.8, 12.7
22     //Latitude span=3.3
23     //Longitude span=4.7
24 torben 851 void testFindNearest(int count) throws SQLException {
25 torben 735
26     StationDAO db = new StationDAO();
27    
28    
29 torben 736 for (int i=0; i<count; i++) {
30 torben 853 float lat = (r.nextFloat()*3.3F) + 54.5F;
31     float lng = (r.nextFloat()*4.7F) + 8.0F;
32 torben 735 db.getByLocation(lat, lng);
33     }
34     }
35    
36 torben 736 void testFindName(int count) throws SQLException {
37 torben 735
38     StationDAO db = new StationDAO();
39    
40 torben 736 for (int i=0; i<count; i++) {
41 torben 1256 char c1 = getRandomCharacter();
42     char c2 = getRandomCharacter();
43 torben 735
44     String search = "" + c1 + c2;
45     System.out.println(search);
46    
47     db.getByName(search);
48     }
49 torben 740 }
50 torben 1256
51     private char getRandomCharacter() {
52     char c1 = ((char)r.nextInt(26));
53     c1 += 'a';
54     return c1;
55     }
56 torben 740
57     void testFindFavorites(int count) throws SQLException {
58    
59     StationDAO db = new StationDAO();
60    
61     for (int i=0; i<count; i++) {
62     final int MAX = 8;
63    
64     StringBuilder sb = new StringBuilder();
65     sb.append('(');
66     for (int j=0; j<MAX;j++) {
67     if (j>0)
68     sb.append(',');
69     sb.append(r.nextInt(400));
70     }
71     sb.append(')');
72 torben 735
73    
74 torben 740 db.getByList(sb.toString());
75     }
76 torben 735 }
77    
78     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
79 torben 736
80    
81     String test = request.getParameter("test");
82     String strCount = request.getParameter("count");
83     int count = Integer.parseInt(strCount);
84    
85    
86 torben 735 try {
87     long start = System.currentTimeMillis();
88 torben 736
89     if ( test.equals("name") ) {
90     testFindName(count);
91     } else if ( test.equals("nearest") ) {
92     testFindNearest(count);
93 torben 740 } else if ( test.equals("favorites") ) {
94     testFindFavorites(count);
95 torben 736 } else {
96     throw new ServletException("No parameter test");
97     }
98    
99 torben 735 long stop = System.currentTimeMillis();
100    
101     long elapsed = stop-start;
102    
103 torben 736 float avg = ((float)elapsed) / count;
104 torben 735
105 torben 736 String out = "Count=" + count + "\n" +
106 torben 735 "Elapsed=" + elapsed + "\n" +
107     "Avg.=" + avg;
108    
109     response.getWriter().print( out );
110    
111    
112     } catch (Exception e) {
113     throw new ServletException(e);
114     }
115     }
116    
117     }

  ViewVC Help
Powered by ViewVC 1.1.20