From 32f3cae7c4d53a33b61072f9f34255fd74523dbe Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Thu, 14 Feb 2019 22:41:29 +0200 Subject: [PATCH] More smells: - Fixed accidental breakage of a WorldTimes query Fixed Smells, Level Major (SonarCloud): - Use of keySet instead of entrySet in LargeStoreQueries - Unused variable in NicknameQueries now used - Unused fields removed from UsersTable - Unused fields removed from PlayerProcessors - Same variable name as field in WorldMap --- .../db/access/queries/LargeStoreQueries.java | 17 ++++++++++------- .../access/queries/objects/NicknameQueries.java | 10 ++++++++-- .../queries/objects/WorldTimesQueries.java | 3 ++- .../plan/db/sql/tables/UsersTable.java | 8 -------- .../processors/player/PlayerProcessors.java | 10 +--------- .../utilities/html/graphs/special/WorldMap.java | 6 +++--- 6 files changed, 24 insertions(+), 30 deletions(-) diff --git a/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/LargeStoreQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/LargeStoreQueries.java index 27f676cc2..57356678a 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/LargeStoreQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/LargeStoreQueries.java @@ -60,9 +60,10 @@ public class LargeStoreQueries { @Override public void prepare(PreparedStatement statement) throws SQLException { // Every Server - for (UUID serverUUID : ofServers.keySet()) { + for (Map.Entry> serverEntry : ofServers.entrySet()) { + UUID serverUUID = serverEntry.getKey(); // Every Command - for (Map.Entry entry : ofServers.get(serverUUID).entrySet()) { + for (Map.Entry entry : serverEntry.getValue().entrySet()) { String command = entry.getKey(); int timesUsed = entry.getValue(); @@ -91,15 +92,16 @@ public class LargeStoreQueries { @Override public void prepare(PreparedStatement statement) throws SQLException { // Every User - for (UUID uuid : ofUsers.keySet()) { + for (Map.Entry> playerEntry : ofUsers.entrySet()) { + UUID playerUUID = playerEntry.getKey(); // Every GeoInfo - for (GeoInfo info : ofUsers.get(uuid)) { + for (GeoInfo info : playerEntry.getValue()) { String ip = info.getIp(); String ipHash = info.getIpHash(); String geoLocation = info.getGeolocation(); long lastUsed = info.getDate(); - statement.setString(1, uuid.toString()); + statement.setString(1, playerUUID.toString()); statement.setString(2, ip); statement.setString(3, ipHash); statement.setString(4, geoLocation); @@ -127,9 +129,10 @@ public class LargeStoreQueries { @Override public void prepare(PreparedStatement statement) throws SQLException { // Every Server - for (UUID serverUUID : ofServersAndUsers.keySet()) { + for (Map.Entry>> serverEntry : ofServersAndUsers.entrySet()) { + UUID serverUUID = serverEntry.getKey(); // Every User - for (Map.Entry> entry : ofServersAndUsers.get(serverUUID).entrySet()) { + for (Map.Entry> entry : serverEntry.getValue().entrySet()) { UUID uuid = entry.getKey(); // Every Nickname List nicknames = entry.getValue(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/objects/NicknameQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/objects/NicknameQueries.java index 4c635c55e..aa8a17652 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/objects/NicknameQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/objects/NicknameQueries.java @@ -181,9 +181,15 @@ public class NicknameQueries { NicknamesTable.LAST_USED + ", " + NicknamesTable.USER_UUID + ", " + NicknamesTable.SERVER_UUID + - FROM + NicknamesTable.TABLE_NAME; + FROM + NicknamesTable.TABLE_NAME + + WHERE + NicknamesTable.SERVER_UUID + "=?"; + + return new QueryStatement>>(sql, 5000) { + @Override + public void prepare(PreparedStatement statement) throws SQLException { + statement.setString(1, serverUUID.toString()); + } - return new QueryAllStatement>>(sql, 5000) { @Override public Map> processResults(ResultSet set) throws SQLException { Map> serverMap = new HashMap<>(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/objects/WorldTimesQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/objects/WorldTimesQueries.java index 1a124c5a0..0bc1f9312 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/objects/WorldTimesQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/db/access/queries/objects/WorldTimesQueries.java @@ -40,11 +40,12 @@ import static com.djrapitops.plan.db.sql.parsing.Sql.*; public class WorldTimesQueries { private static String worldColumn = "world"; - private static final String SELECT_WORLD_TIMES_STATEMENT_START = "SELECT " + + private static final String SELECT_WORLD_TIMES_STATEMENT_START = SELECT + "SUM(" + WorldTimesTable.SURVIVAL + ") as survival, " + "SUM(" + WorldTimesTable.CREATIVE + ") as creative, " + "SUM(" + WorldTimesTable.ADVENTURE + ") as adventure, " + "SUM(" + WorldTimesTable.SPECTATOR + ") as spectator, " + + WorldTimesTable.SERVER_UUID + ", " + WorldTable.TABLE_NAME + "." + WorldTable.NAME + " as " + worldColumn + FROM + WorldTimesTable.TABLE_NAME + " INNER JOIN " + WorldTable.TABLE_NAME + " on " + WorldTable.TABLE_NAME + "." + WorldTable.ID + "=" + WorldTimesTable.WORLD_ID; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/db/sql/tables/UsersTable.java b/Plan/common/src/main/java/com/djrapitops/plan/db/sql/tables/UsersTable.java index 06932b7de..c08bfaa2c 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/db/sql/tables/UsersTable.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/db/sql/tables/UsersTable.java @@ -53,16 +53,8 @@ public class UsersTable extends Table { public UsersTable(SQLDB db) { super(TABLE_NAME, db); - statementSelectID = "(" + Select.from(tableName, tableName + "." + ID).where(USER_UUID + "=?").toString() + " LIMIT 1)"; - insertStatement = Insert.values(tableName, - USER_UUID, - REGISTERED, - USER_NAME); } - public final String statementSelectID; - private String insertStatement; - public static String createTableSQL(DBType dbType) { return CreateTableParser.create(TABLE_NAME, dbType) .column(ID, Sql.INT).primaryKey() diff --git a/Plan/common/src/main/java/com/djrapitops/plan/system/processing/processors/player/PlayerProcessors.java b/Plan/common/src/main/java/com/djrapitops/plan/system/processing/processors/player/PlayerProcessors.java index 43cf7288e..75499eaa5 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/system/processing/processors/player/PlayerProcessors.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/system/processing/processors/player/PlayerProcessors.java @@ -16,10 +16,8 @@ */ package com.djrapitops.plan.system.processing.processors.player; -import com.djrapitops.plan.system.cache.NicknameCache; import com.djrapitops.plan.system.cache.SessionCache; import com.djrapitops.plan.system.database.DBSystem; -import com.djrapitops.plan.system.info.server.ServerInfo; import dagger.Lazy; import javax.inject.Inject; @@ -35,22 +33,16 @@ import java.util.function.BooleanSupplier; @Singleton public class PlayerProcessors { - private final Lazy serverInfo; private final Lazy dbSystem; private final Lazy sessionCache; - private final Lazy nicknameCache; @Inject public PlayerProcessors( - Lazy serverInfo, Lazy dbSystem, - Lazy sessionCache, - Lazy nicknameCache + Lazy sessionCache ) { - this.serverInfo = serverInfo; this.dbSystem = dbSystem; this.sessionCache = sessionCache; - this.nicknameCache = nicknameCache; } public BanAndOpProcessor banAndOpProcessor(UUID uuid, BooleanSupplier banned, boolean op) { diff --git a/Plan/common/src/main/java/com/djrapitops/plan/utilities/html/graphs/special/WorldMap.java b/Plan/common/src/main/java/com/djrapitops/plan/utilities/html/graphs/special/WorldMap.java index 60e19373c..85ac2d759 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/utilities/html/graphs/special/WorldMap.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/utilities/html/graphs/special/WorldMap.java @@ -64,15 +64,15 @@ public class WorldMap implements HighChart { } private Map toGeoCodeCounts(List geoLocations) { - Map geoCodeCounts = new HashMap<>(); + Map codeCounts = new HashMap<>(); Map geoCodes = getGeoCodes(); for (String geoLocation : geoLocations) { String countryCode = geoCodes.get(geoLocation.toLowerCase()); - geoCodeCounts.put(countryCode, geoCodeCounts.getOrDefault(countryCode, 0) + 1); + codeCounts.put(countryCode, codeCounts.getOrDefault(countryCode, 0) + 1); } - return geoCodeCounts; + return codeCounts; } @Override