diff --git a/circuit-breaker/src/main/java/com/iluwatar/circuitbreaker/App.java b/circuit-breaker/src/main/java/com/iluwatar/circuitbreaker/App.java index d1d361b16..2520b64ce 100644 --- a/circuit-breaker/src/main/java/com/iluwatar/circuitbreaker/App.java +++ b/circuit-breaker/src/main/java/com/iluwatar/circuitbreaker/App.java @@ -66,6 +66,7 @@ public class App { * * @param args command line args */ + @SuppressWarnings("squid:S2189") public static void main(String[] args) { //Create an object of monitoring service which makes both local and remote calls var obj = new MonitoringService(); diff --git a/commander/src/main/java/com/iluwatar/commander/Order.java b/commander/src/main/java/com/iluwatar/commander/Order.java index 9a454a5f7..959ebd93c 100644 --- a/commander/src/main/java/com/iluwatar/commander/Order.java +++ b/commander/src/main/java/com/iluwatar/commander/Order.java @@ -44,6 +44,7 @@ public class Order { //can store all transactions ids also public final String id; final float price; final long createdTime; + private static final Random RANDOM = new Random(); private static final String ALL_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; private static final Hashtable USED_IDS = new Hashtable(); PaymentStatus paid; @@ -70,9 +71,8 @@ public class Order { //can store all transactions ids also String createUniqueId() { StringBuilder random = new StringBuilder(); - Random rand = new Random(); while (random.length() < 12) { // length of the random string. - int index = (int) (rand.nextFloat() * ALL_CHARS.length()); + int index = (int) (RANDOM.nextFloat() * ALL_CHARS.length()); random.append(ALL_CHARS.charAt(index)); } return random.toString(); diff --git a/commander/src/main/java/com/iluwatar/commander/Retry.java b/commander/src/main/java/com/iluwatar/commander/Retry.java index d4da5e8da..e9c9fb1f6 100644 --- a/commander/src/main/java/com/iluwatar/commander/Retry.java +++ b/commander/src/main/java/com/iluwatar/commander/Retry.java @@ -51,6 +51,8 @@ public class Retry { public interface HandleErrorIssue { void handleIssue(T obj, Exception e); } + + private static final Random RANDOM = new Random(); private final Operation op; private final HandleErrorIssue handleError; @@ -89,8 +91,7 @@ public class Retry { return; //return here...dont go further } try { - Random rand = new Random(); - long testDelay = (long) Math.pow(2, this.attempts.intValue()) * 1000 + rand.nextInt(1000); + long testDelay = (long) Math.pow(2, this.attempts.intValue()) * 1000 + RANDOM.nextInt(1000); long delay = testDelay < this.maxDelay ? testDelay : maxDelay; Thread.sleep(delay); } catch (InterruptedException f) { diff --git a/commander/src/main/java/com/iluwatar/commander/Service.java b/commander/src/main/java/com/iluwatar/commander/Service.java index 8c64d1d18..259b8c6cc 100644 --- a/commander/src/main/java/com/iluwatar/commander/Service.java +++ b/commander/src/main/java/com/iluwatar/commander/Service.java @@ -42,6 +42,7 @@ public abstract class Service { protected final Database database; public ArrayList exceptionsList; + private static final Random RANDOM = new Random(); private static final String ALL_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; private static final Hashtable USED_IDS = new Hashtable(); @@ -55,9 +56,8 @@ public abstract class Service { protected String generateId() { StringBuilder random = new StringBuilder(); - Random rand = new Random(); while (random.length() < 12) { // length of the random string. - int index = (int) (rand.nextFloat() * ALL_CHARS.length()); + int index = (int) (RANDOM.nextFloat() * ALL_CHARS.length()); random.append(ALL_CHARS.charAt(index)); } String id = random.toString(); diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java index 3dddb6d9b..bc4e963e1 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java @@ -40,6 +40,7 @@ import java.util.Random; public class SampleData { private static final List PLAYERS; + private static final Random RANDOM = new Random(); static { PLAYERS = new ArrayList<>(); @@ -83,10 +84,9 @@ public class SampleData { PLAYERS.add(new PlayerDetails("xavier@google.com", "143-947", "+375245")); PLAYERS.add(new PlayerDetails("harriet@google.com", "842-404", "+131243252")); InMemoryBank wireTransfers = new InMemoryBank(); - Random random = new Random(); for (PlayerDetails player : PLAYERS) { wireTransfers.setFunds(player.getBankAccount(), - random.nextInt(LotteryConstants.PLAYER_MAX_BALANCE)); + RANDOM.nextInt(LotteryConstants.PLAYER_MAX_BALANCE)); } } diff --git a/leader-election/src/main/java/com/iluwatar/leaderelection/AbstractInstance.java b/leader-election/src/main/java/com/iluwatar/leaderelection/AbstractInstance.java index 556d725da..abece1edc 100644 --- a/leader-election/src/main/java/com/iluwatar/leaderelection/AbstractInstance.java +++ b/leader-election/src/main/java/com/iluwatar/leaderelection/AbstractInstance.java @@ -58,6 +58,7 @@ public abstract class AbstractInstance implements Instance, Runnable { * The instance will execute the message in its message queue periodically once it is alive. */ @Override + @SuppressWarnings("squid:S2189") public void run() { while (true) { if (!this.messageQueue.isEmpty()) { diff --git a/master-worker-pattern/src/main/java/com/iluwatar/masterworker/ArrayUtilityMethods.java b/master-worker-pattern/src/main/java/com/iluwatar/masterworker/ArrayUtilityMethods.java index fb27e5b48..576ffb6bf 100644 --- a/master-worker-pattern/src/main/java/com/iluwatar/masterworker/ArrayUtilityMethods.java +++ b/master-worker-pattern/src/main/java/com/iluwatar/masterworker/ArrayUtilityMethods.java @@ -34,6 +34,8 @@ import java.util.Random; public class ArrayUtilityMethods { private static final Logger LOGGER = LoggerFactory.getLogger(ArrayUtilityMethods.class); + + private static final Random RANDOM = new Random(); /** * Method arraysSame compares 2 arrays @param a1 and @param a2 * and @return whether their values are equal (boolean). @@ -86,11 +88,10 @@ public class ArrayUtilityMethods { public static int[][] createRandomIntMatrix(int rows, int columns) { int[][] matrix = new int[rows][columns]; - Random rand = new Random(); for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { //filling cells in matrix - matrix[i][j] = rand.nextInt(10); + matrix[i][j] = RANDOM.nextInt(10); } } return matrix; diff --git a/priority-queue/src/main/java/com/iluwatar/priority/queue/Worker.java b/priority-queue/src/main/java/com/iluwatar/priority/queue/Worker.java index dbccd5d66..e37feb679 100644 --- a/priority-queue/src/main/java/com/iluwatar/priority/queue/Worker.java +++ b/priority-queue/src/main/java/com/iluwatar/priority/queue/Worker.java @@ -41,6 +41,7 @@ public class Worker { /** * Keep checking queue for message */ + @SuppressWarnings("squid:S2189") public void run() throws Exception { while (true) { Message message = queueManager.receiveMessage(); diff --git a/producer-consumer/src/main/java/com/iluwatar/producer/consumer/Producer.java b/producer-consumer/src/main/java/com/iluwatar/producer/consumer/Producer.java index 4cc1a6567..3681c017d 100644 --- a/producer-consumer/src/main/java/com/iluwatar/producer/consumer/Producer.java +++ b/producer-consumer/src/main/java/com/iluwatar/producer/consumer/Producer.java @@ -29,6 +29,8 @@ import java.util.Random; * to queue */ public class Producer { + + private static final Random RANDOM = new Random(); private final ItemQueue queue; @@ -48,7 +50,6 @@ public class Producer { Item item = new Item(name, itemId++); queue.put(item); - Random random = new Random(); - Thread.sleep(random.nextInt(2000)); + Thread.sleep(RANDOM.nextInt(2000)); } } diff --git a/retry/src/main/java/com/iluwatar/retry/RetryExponentialBackoff.java b/retry/src/main/java/com/iluwatar/retry/RetryExponentialBackoff.java index 551914dad..b7024c918 100644 --- a/retry/src/main/java/com/iluwatar/retry/RetryExponentialBackoff.java +++ b/retry/src/main/java/com/iluwatar/retry/RetryExponentialBackoff.java @@ -37,6 +37,7 @@ import java.util.function.Predicate; * @param the remote op's return type */ public final class RetryExponentialBackoff implements BusinessOperation { + private static final Random RANDOM = new Random(); private final BusinessOperation op; private final int maxAttempts; private final long maxDelay; @@ -98,8 +99,7 @@ public final class RetryExponentialBackoff implements BusinessOperation { } try { - Random rand = new Random(); - long testDelay = (long) Math.pow(2, this.attempts()) * 1000 + rand.nextInt(1000); + long testDelay = (long) Math.pow(2, this.attempts()) * 1000 + RANDOM.nextInt(1000); long delay = testDelay < this.maxDelay ? testDelay : maxDelay; Thread.sleep(delay); } catch (InterruptedException f) { diff --git a/spatial-partition/src/main/java/com/iluwatar/spatialpartition/Bubble.java b/spatial-partition/src/main/java/com/iluwatar/spatialpartition/Bubble.java index 01faa8371..8147c4ea3 100644 --- a/spatial-partition/src/main/java/com/iluwatar/spatialpartition/Bubble.java +++ b/spatial-partition/src/main/java/com/iluwatar/spatialpartition/Bubble.java @@ -36,6 +36,7 @@ import java.util.Random; public class Bubble extends Point { private static final Logger LOGGER = LoggerFactory.getLogger(Bubble.class); + private static final Random RANDOM = new Random(); final int radius; @@ -45,10 +46,9 @@ public class Bubble extends Point { } void move() { - Random rand = new Random(); //moves by 1 unit in either direction - this.x += rand.nextInt(3) - 1; - this.y += rand.nextInt(3) - 1; + this.x += RANDOM.nextInt(3) - 1; + this.y += RANDOM.nextInt(3) - 1; } boolean touches(Bubble b) { diff --git a/typeobjectpattern/src/main/java/com/iluwatar/typeobject/CellPool.java b/typeobjectpattern/src/main/java/com/iluwatar/typeobject/CellPool.java index 9e855b4d6..e04cce4f0 100644 --- a/typeobjectpattern/src/main/java/com/iluwatar/typeobject/CellPool.java +++ b/typeobjectpattern/src/main/java/com/iluwatar/typeobject/CellPool.java @@ -37,6 +37,7 @@ import com.iluwatar.typeobject.Candy.Type; */ public class CellPool { + private static final Random RANDOM = new Random(); ArrayList pool; int pointer; Candy[] randomCode; @@ -57,8 +58,7 @@ public class CellPool { } for (int i = 0; i < num; i++) { Cell c = new Cell(); - Random rand = new Random(); - c.candy = randomCode[rand.nextInt(randomCode.length)]; + c.candy = randomCode[RANDOM.nextInt(randomCode.length)]; this.pool.add(c); } this.pointer = num - 1;