From 60cf9c9853d56f858c17b98026a41dbb631b35cb Mon Sep 17 00:00:00 2001 From: Simran Keshri Date: Mon, 4 Oct 2021 23:04:52 +0530 Subject: [PATCH 1/4] Resolve Sonar Code Smell: Define a constant instead of duplicating this literal 'Space rocket <' 4 times. --- .../com/iluwatar/async/method/invocation/App.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 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 b7d5e386b83..b2162d6c506 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 @@ @Slf4j public class App { + private static final String SPACE_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 static void main(String[] args) throws Exception { 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(SPACE_ROCKET_LAUNCH_LOG_PATTERN, result1)); + log(String.format(SPACE_ROCKET_LAUNCH_LOG_PATTERN, result2)); + log(String.format(SPACE_ROCKET_LAUNCH_LOG_PATTERN, result3)); } /** @@ -102,7 +105,7 @@ public static void main(String[] args) throws Exception { private static Callable lazyval(T value, long delayMillis) { return () -> { Thread.sleep(delayMillis); - log("Space rocket <" + value + "> launched successfully"); + log(String.format(SPACE_ROCKET_LAUNCH_LOG_PATTERN, value)); return value; }; } From 55e5564f6cb96dc45550fa3f03cc110902e81ded Mon Sep 17 00:00:00 2001 From: Simran Keshri Date: Tue, 5 Oct 2021 00:19:05 +0530 Subject: [PATCH 2/4] Resolve Sonar Critical Code Smell: Define a constant instead of duplicating this literal 'Error connecting to MongoDB' 4 times. --- .../src/main/java/com/iluwatar/caching/DbManager.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/caching/src/main/java/com/iluwatar/caching/DbManager.java b/caching/src/main/java/com/iluwatar/caching/DbManager.java index d0223496948..3284d3118fd 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 static UserAccount readFromDb(String userId) { 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 static void writeToDb(UserAccount userAccount) { 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 static void updateDb(UserAccount userAccount) { 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 static void upsertDb(UserAccount userAccount) { try { connect(); } catch (ParseException e) { - LOGGER.error("Error connecting to MongoDB", e); + LOGGER.error(ERROR_MESSAGE_LOG, e); } } db.getCollection(CachingConstants.USER_ACCOUNT).updateOne( From fb49c6041b6ace8fb1440e078cc395b214f30d12 Mon Sep 17 00:00:00 2001 From: Simran Keshri Date: Tue, 5 Oct 2021 11:21:44 +0530 Subject: [PATCH 3/4] Fix checkstyle violation. --- .../java/com/iluwatar/async/method/invocation/App.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 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 b2162d6c506..ca63520be29 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,7 +59,7 @@ @Slf4j public class App { - private static final String SPACE_ROCKET_LAUNCH_LOG_PATTERN = "Space rocket <%s> launched successfully"; + private static final String ROCKET_LAUNCH_LOG_PATTERN = "Space rocket <%s> launched successfully"; /** * Program entry point. @@ -90,9 +90,9 @@ public static void main(String[] args) throws Exception { asyncResult5.await(); // log the results of the tasks, callbacks log immediately when complete - log(String.format(SPACE_ROCKET_LAUNCH_LOG_PATTERN, result1)); - log(String.format(SPACE_ROCKET_LAUNCH_LOG_PATTERN, result2)); - log(String.format(SPACE_ROCKET_LAUNCH_LOG_PATTERN, result3)); + log(String.format(ROCKET_LAUNCH_LOG_PATTERN, result1)); + log(String.format(ROCKET_LAUNCH_LOG_PATTERN, result2)); + log(String.format(ROCKET_LAUNCH_LOG_PATTERN, result3)); } /** @@ -105,7 +105,7 @@ public static void main(String[] args) throws Exception { private static Callable lazyval(T value, long delayMillis) { return () -> { Thread.sleep(delayMillis); - log(String.format(SPACE_ROCKET_LAUNCH_LOG_PATTERN, value)); + log(String.format(ROCKET_LAUNCH_LOG_PATTERN, value)); return value; }; } From 7fe41e73784a55e1afba2fae42cd7a247aca7b21 Mon Sep 17 00:00:00 2001 From: Simran Keshri Date: Tue, 5 Oct 2021 00:10:37 +0530 Subject: [PATCH 4/4] Resolve Sonar Critical Code Smell: Define a constant instead of duplicating this literal 'LITERAL 0' 4 times. --- .../main/java/com/iluwatar/bytecode/App.java | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/bytecode/src/main/java/com/iluwatar/bytecode/App.java b/bytecode/src/main/java/com/iluwatar/bytecode/App.java index f76a8e6a4f8..43ddd4b9dc7 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 @@ @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 static void main(String[] args) { 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"))); } }