From 0d33f51f9e0a509dc8530d2a2ecb81333b35b067 Mon Sep 17 00:00:00 2001 From: Rahul Rudragoudar Date: Sat, 24 Apr 2021 19:36:48 +0530 Subject: [PATCH] Move random number generator to HelperFunctions Signed-off-by: Rahul Rudragoudar --- src/main/java/lc/misc/HelperFunctions.java | 16 +++++++++++++--- src/main/scala/lc/core/config.scala | 8 ++------ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main/java/lc/misc/HelperFunctions.java b/src/main/java/lc/misc/HelperFunctions.java index bda31b8..bb7c868 100644 --- a/src/main/java/lc/misc/HelperFunctions.java +++ b/src/main/java/lc/misc/HelperFunctions.java @@ -1,9 +1,14 @@ package lc.misc; import java.awt.*; +import java.util.Random; public class HelperFunctions { + public static int seed; + + private static Random random = new Random(seed); + public static void setRenderingHints(Graphics2D g2d) { g2d.setRenderingHint( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); @@ -25,13 +30,18 @@ public class HelperFunctions { public static String randomString(final int n, final String characters) { final StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < n; i++) { - int index = (int) (characters.length() * Math.random()); + int index = randomNumber(characters.length()); stringBuilder.append(characters.charAt(index)); } return stringBuilder.toString(); } - public static int randomNumber(int min, int max) { - return (int) (Math.random() * ((max - min) + 1)) + min; + synchronized public static int randomNumber(int min, int max) { + return (random.nextInt() * ((max - min) + 1)) + min; } + + synchronized public static int randomNumber(int bound) { + return random.nextInt(bound); + } + } diff --git a/src/main/scala/lc/core/config.scala b/src/main/scala/lc/core/config.scala index 367104a..fb08994 100644 --- a/src/main/scala/lc/core/config.scala +++ b/src/main/scala/lc/core/config.scala @@ -6,6 +6,7 @@ import org.json4s.jackson.JsonMethods.{parse, render, pretty} import org.json4s.JsonDSL._ import java.io.{FileNotFoundException, File, PrintWriter} import java.{util => ju} +import lc.misc.HelperFunctions object Config { @@ -49,12 +50,7 @@ object Config { val allowedMedia: Set[String] = captchaConfig.flatMap(_.allowedMedia).toSet val allowedInputType: Set[String] = captchaConfig.flatMap(_.allowedInputType).toSet - private val random = new scala.util.Random(seed) - - def getNextRandomInt(max: Int): Int = - random.synchronized { - random.nextInt(max) - } + HelperFunctions.seed = seed private def getDefaultConfig(): String = { val defaultConfigMap =