From 5a644f1092079f4f0152641b704dec1d668727ff Mon Sep 17 00:00:00 2001 From: Simran Keshri <62168475+sims-keshri@users.noreply.github.com> Date: Wed, 13 Oct 2021 13:15:22 +0530 Subject: [PATCH] refactoring: Critical Sonar Issues (#1833) * Resolve Sonar Code Smell: Define a constant instead of duplicating this literal 'Space rocket <' 4 times. * Resolve Sonar Critical Code Smell: Define a constant instead of duplicating this literal 'Error connecting to MongoDB' 4 times. * Fix checkstyle violation. * Resolve Sonar Critical Code Smell: Define a constant instead of duplicating this literal 'LITERAL 0' 4 times. Co-authored-by: Subhrodip Mohanta --- .../iluwatar/async/method/invocation/App.java | 11 ++++--- .../main/java/com/iluwatar/bytecode/App.java | 32 ++++++++++++------- .../java/com/iluwatar/caching/DbManager.java | 9 +++--- 3 files changed, 32 insertions(+), 20 deletions(-) diff --git a/async-method-invocation/src/main/java/com/iluwatar/async/method/invocation/App.java b/async-method-invocation/src/main/java/com/iluwatar/async/method/invocation/App.java index b7d5e386b..ca63520be 100644 --- a/async-method-invocation/src/main/java/com/iluwatar/async/method/invocation/App.java +++ b/async-method-invocation/src/main/java/com/iluwatar/async/method/invocation/App.java @@ -59,9 +59,12 @@ import lombok.extern.slf4j.Slf4j; @Slf4j public class App { + private static final String ROCKET_LAUNCH_LOG_PATTERN = "Space rocket <%s> launched successfully"; + /** * Program entry point. */ + public static void main(String[] args) throws Exception { // construct a new executor that will run async tasks var executor = new ThreadAsyncExecutor(); @@ -87,9 +90,9 @@ public class App { asyncResult5.await(); // log the results of the tasks, callbacks log immediately when complete - log("Space rocket <" + result1 + "> launch complete"); - log("Space rocket <" + result2 + "> launch complete"); - log("Space rocket <" + result3 + "> launch complete"); + log(String.format(ROCKET_LAUNCH_LOG_PATTERN, result1)); + log(String.format(ROCKET_LAUNCH_LOG_PATTERN, result2)); + log(String.format(ROCKET_LAUNCH_LOG_PATTERN, result3)); } /** @@ -102,7 +105,7 @@ public class App { private static Callable lazyval(T value, long delayMillis) { return () -> { Thread.sleep(delayMillis); - log("Space rocket <" + value + "> launched successfully"); + log(String.format(ROCKET_LAUNCH_LOG_PATTERN, value)); return value; }; } diff --git a/bytecode/src/main/java/com/iluwatar/bytecode/App.java b/bytecode/src/main/java/com/iluwatar/bytecode/App.java index f76a8e6a4..43ddd4b9d 100644 --- a/bytecode/src/main/java/com/iluwatar/bytecode/App.java +++ b/bytecode/src/main/java/com/iluwatar/bytecode/App.java @@ -42,6 +42,14 @@ import lombok.extern.slf4j.Slf4j; @Slf4j public class App { + private static final String LITERAL_0 = "LITERAL 0"; + private static final String HEALTH_PATTERN = "%s_HEALTH"; + private static final String GET_AGILITY = "GET_AGILITY"; + private static final String GET_WISDOM = "GET_WISDOM"; + private static final String ADD = "ADD"; + private static final String LITERAL_2 = "LITERAL 2"; + private static final String DIVIDE = "DIVIDE"; + /** * Main app method. * @@ -53,17 +61,17 @@ public class App { new Wizard(45, 7, 11, 0, 0), new Wizard(36, 18, 8, 0, 0)); - vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 0")); - vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 0")); - vm.execute(InstructionConverterUtil.convertToByteCode("GET_HEALTH")); - vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 0")); - vm.execute(InstructionConverterUtil.convertToByteCode("GET_AGILITY")); - vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 0")); - vm.execute(InstructionConverterUtil.convertToByteCode("GET_WISDOM")); - vm.execute(InstructionConverterUtil.convertToByteCode("ADD")); - vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 2")); - vm.execute(InstructionConverterUtil.convertToByteCode("DIVIDE")); - vm.execute(InstructionConverterUtil.convertToByteCode("ADD")); - vm.execute(InstructionConverterUtil.convertToByteCode("SET_HEALTH")); + vm.execute(InstructionConverterUtil.convertToByteCode(LITERAL_0)); + vm.execute(InstructionConverterUtil.convertToByteCode(LITERAL_0)); + vm.execute(InstructionConverterUtil.convertToByteCode(String.format(HEALTH_PATTERN, "GET"))); + vm.execute(InstructionConverterUtil.convertToByteCode(LITERAL_0)); + vm.execute(InstructionConverterUtil.convertToByteCode(GET_AGILITY)); + vm.execute(InstructionConverterUtil.convertToByteCode(LITERAL_0)); + vm.execute(InstructionConverterUtil.convertToByteCode(GET_WISDOM)); + vm.execute(InstructionConverterUtil.convertToByteCode(ADD)); + vm.execute(InstructionConverterUtil.convertToByteCode(LITERAL_2)); + vm.execute(InstructionConverterUtil.convertToByteCode(DIVIDE)); + vm.execute(InstructionConverterUtil.convertToByteCode(ADD)); + vm.execute(InstructionConverterUtil.convertToByteCode(String.format(HEALTH_PATTERN, "SET"))); } } diff --git a/caching/src/main/java/com/iluwatar/caching/DbManager.java b/caching/src/main/java/com/iluwatar/caching/DbManager.java index d02234969..3284d3118 100644 --- a/caching/src/main/java/com/iluwatar/caching/DbManager.java +++ b/caching/src/main/java/com/iluwatar/caching/DbManager.java @@ -50,6 +50,7 @@ public final class DbManager { private static boolean useMongoDB; private static Map virtualDB; + private static final String ERROR_MESSAGE_LOG = "Error connecting to MongoDB"; private DbManager() { } @@ -85,7 +86,7 @@ public final class DbManager { try { connect(); } catch (ParseException e) { - LOGGER.error("Error connecting to MongoDB", e); + LOGGER.error(ERROR_MESSAGE_LOG, e); } } var iterable = db @@ -112,7 +113,7 @@ public final class DbManager { try { connect(); } catch (ParseException e) { - LOGGER.error("Error connecting to MongoDB", e); + LOGGER.error(ERROR_MESSAGE_LOG, e); } } db.getCollection(CachingConstants.USER_ACCOUNT).insertOne( @@ -134,7 +135,7 @@ public final class DbManager { try { connect(); } catch (ParseException e) { - LOGGER.error("Error connecting to MongoDB", e); + LOGGER.error(ERROR_MESSAGE_LOG, e); } } db.getCollection(CachingConstants.USER_ACCOUNT).updateOne( @@ -155,7 +156,7 @@ public final class DbManager { try { connect(); } catch (ParseException e) { - LOGGER.error("Error connecting to MongoDB", e); + LOGGER.error(ERROR_MESSAGE_LOG, e); } } db.getCollection(CachingConstants.USER_ACCOUNT).updateOne(