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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.20