Просмотр исходного кода

Fix random number usage in servlet code (#3239)

Radoslav Petrov 7 лет назад
Родитель
Сommit
a3a0b53254

+ 1 - 2
frameworks/Java/servlet/src/main/java/hello/Cache2kPostgresServlet.java

@@ -20,7 +20,6 @@ import org.cache2k.Cache2kBuilder;
 public class Cache2kPostgresServlet extends HttpServlet {
 	// Database details.
 	private static final int DB_ROWS = 10000;
-	private static final int LIMIT = DB_ROWS + 1;
 	
 	// Database connection pool.
 	@Resource(name = "jdbc/hello_world")
@@ -56,7 +55,7 @@ public class Cache2kPostgresServlet extends HttpServlet {
 		//TODO prevent duplicate numbers to be added
 		List<Integer> keys = new ArrayList<Integer>(count);
 		for (int i = 0; i < count; i++) {
-			keys.add(new Integer(random.nextInt(LIMIT)));
+			keys.add(new Integer(random.nextInt(DB_ROWS) + 1));
 		}
 		
 		// Set content type to JSON

+ 1 - 2
frameworks/Java/servlet/src/main/java/hello/DbPoolServlet.java

@@ -23,7 +23,6 @@ public class DbPoolServlet extends HttpServlet {
 	// Database details.
 	private static final String DB_QUERY = "SELECT * FROM World WHERE id = ?";
 	private static final int DB_ROWS = 10000;
-	private static final int LIMIT = DB_ROWS + 1;
 
 	// Database connection pool.
 	@Resource(name = "jdbc/hello_world")
@@ -44,7 +43,7 @@ public class DbPoolServlet extends HttpServlet {
 					ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)) {
 				// Run the query the number of times requested.
 				for (int i = 0; i < count; i++) {
-					final int id = random.nextInt(LIMIT);
+					final int id = random.nextInt(DB_ROWS) + 1;
 					statement.setInt(1, id);
 
 					try (ResultSet results = statement.executeQuery()) {

+ 2 - 3
frameworks/Java/servlet/src/main/java/hello/PostgresUpdateServlet.java

@@ -25,7 +25,6 @@ public class PostgresUpdateServlet extends HttpServlet {
 	private static final String DB_QUERY = "SELECT * FROM World WHERE id = ?";
 	private static final String UPDATE_QUERY = "UPDATE World SET randomNumber = ? WHERE id = ?";
 	private static final int DB_ROWS = 10000;
-	private static final int LIMIT = DB_ROWS + 1;
 
 	// Database connection pool.
 	@Resource(name = "jdbc/hello_world")
@@ -46,7 +45,7 @@ public class PostgresUpdateServlet extends HttpServlet {
 				PreparedStatement statement2 = conn.prepareStatement(UPDATE_QUERY)) {
 			// Run the query the number of times requested.
 			for (int i = 0; i < count; i++) {
-				final int id = random.nextInt(LIMIT);
+				final int id = random.nextInt(DB_ROWS) + 1;
 				statement.setInt(1, id);
 
 				try (ResultSet results = statement.executeQuery()) {
@@ -54,7 +53,7 @@ public class PostgresUpdateServlet extends HttpServlet {
 						worlds[i] = new World(id, results.getInt("randomNumber"));
 
 						// Update row
-						worlds[i].setRandomNumber(random.nextInt(LIMIT));
+						worlds[i].setRandomNumber(random.nextInt(DB_ROWS) + 1);
 						statement2.setInt(1, worlds[i].getRandomNumber());
 						statement2.setInt(2, id);
 

+ 2 - 3
frameworks/Java/servlet/src/main/java/hello/UpdateServlet.java

@@ -25,7 +25,6 @@ public class UpdateServlet extends HttpServlet {
 	private static final String DB_QUERY = "SELECT * FROM World WHERE id = ?";
 	private static final String UPDATE_QUERY = "UPDATE World SET randomNumber = ? WHERE id = ?";
 	private static final int DB_ROWS = 10000;
-	private static final int LIMIT = DB_ROWS + 1;
 
 	// Database connection pool.
 	@Resource(name = "jdbc/hello_world")
@@ -47,7 +46,7 @@ public class UpdateServlet extends HttpServlet {
 						ResultSet.TYPE_FORWARD_ONLY)) {
 			// Run the query the number of times requested.
 			for (int i = 0; i < count; i++) {
-				final int id = random.nextInt(LIMIT);
+				final int id = random.nextInt(DB_ROWS) + 1;
 				statement.setInt(1, id);
 
 				try (ResultSet results = statement.executeQuery()) {
@@ -55,7 +54,7 @@ public class UpdateServlet extends HttpServlet {
 						worlds[i] = new World(id, results.getInt("randomNumber"));
 
 						// Update row
-						worlds[i].setRandomNumber(random.nextInt(LIMIT));
+						worlds[i].setRandomNumber(random.nextInt(DB_ROWS) + 1);
 						statement2.setInt(1, worlds[i].getRandomNumber());
 						statement2.setInt(2, id);