diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/operation/BackupOperations.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/operation/BackupOperations.java index 521380741..8c2e76b44 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/operation/BackupOperations.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/operation/BackupOperations.java @@ -7,7 +7,7 @@ import java.sql.SQLException; public interface BackupOperations { - void backup(Database toDatabase) throws DBException, SQLException; + void backup(Database toDatabase) throws SQLException; void restore(Database fromDatabase) throws DBException, SQLException; diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/MySQLDB.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/MySQLDB.java index 01f8321d2..c03dbe5ff 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/MySQLDB.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/MySQLDB.java @@ -65,7 +65,7 @@ public class MySQLDB extends SQLDB { @Override public void close() { try { - if (dataSource != null && dataSource instanceof BasicDataSource) { + if (dataSource instanceof BasicDataSource) { ((BasicDataSource) dataSource).close(); } } catch (SQLException e) { diff --git a/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ConnectionLog.java b/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ConnectionLog.java index 6c90d50c4..0db295410 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ConnectionLog.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ConnectionLog.java @@ -86,7 +86,7 @@ public class ConnectionLog { */ @Override public int compareTo(Entry o) { - return -Long.compare(this.timeSent, o.timeSent); + return Long.compare(o.timeSent, this.timeSent); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/SpongeTPSCountTimer.java b/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/SpongeTPSCountTimer.java index 8824c69a3..23f29fb52 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/SpongeTPSCountTimer.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/tasks/server/SpongeTPSCountTimer.java @@ -92,7 +92,7 @@ public class SpongeTPSCountTimer extends TPSCountTimer { * * @return amount of entities */ - protected int getEntityCount() { + private int getEntityCount() { return Sponge.getGame().getServer().getWorlds().stream().mapToInt(world -> world.getEntities().size()).sum(); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/webserver/pages/PlayerPageHandler.java b/Plan/src/main/java/com/djrapitops/plan/system/webserver/pages/PlayerPageHandler.java index 18476364f..94d848272 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/webserver/pages/PlayerPageHandler.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/webserver/pages/PlayerPageHandler.java @@ -49,7 +49,7 @@ public class PlayerPageHandler extends PageHandler { try { if (Database.getActive().check().isPlayerRegistered(uuid)) { Response response = ResponseCache.loadResponse(PageId.PLAYER.of(uuid)); - if (response == null || !(response instanceof InspectPageResponse)) { + if (!(response instanceof InspectPageResponse)) { InfoSystem.getInstance().generateAndCachePlayerPage(uuid); response = ResponseCache.loadResponse(PageId.PLAYER.of(uuid)); } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/webserver/response/pages/PlayersPageResponse.java b/Plan/src/main/java/com/djrapitops/plan/system/webserver/response/pages/PlayersPageResponse.java index 5afde7d68..c6c799c16 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/webserver/response/pages/PlayersPageResponse.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/webserver/response/pages/PlayersPageResponse.java @@ -37,8 +37,6 @@ public class PlayersPageResponse extends Response { PlanSystem system = PlanSystem.getInstance(); PlanPlugin plugin = PlanPlugin.getInstance(); Database db = system.getDatabaseSystem().getActiveDatabase(); - List names = new ArrayList<>(db.fetch().getPlayerNames().values()); - Collections.sort(names); Map replace = new HashMap<>(); if (Check.isBukkitAvailable()) { replace.put("networkName", Settings.SERVER_NAME.toString().replaceAll("[^a-zA-Z0-9_\\s]", "_")); @@ -48,7 +46,7 @@ public class PlayersPageResponse extends Response { replace.put("playersTable", buildPlayersTable(db)); replace.put("version", plugin.getVersion()); super.setContent(Theme.replaceColors(StringSubstitutor.replace(FileUtil.getStringFromResource("web/players.html"), replace))); - } catch (DBException | IOException e) { + } catch (IOException e) { Log.toLog(this.getClass(), e); setContent(new InternalErrorResponse("/players", e).getContent()); } @@ -57,8 +55,11 @@ public class PlayersPageResponse extends Response { private String buildPlayersTable(Database db) { try { List users = new ArrayList<>(db.fetch().getUsers().values()); - users.sort(new UserInfoLastPlayedComparator()); + Map lastSeenForAllPlayers = db.fetch().getLastSeenForAllPlayers(); + users.forEach(user -> user.setLastSeen(lastSeenForAllPlayers.getOrDefault(user.getUuid(), 0L))); + users.sort(new UserInfoLastPlayedComparator()); + Map> sessionsByUser = AnalysisUtils.sortSessionsByUser(db.fetch().getSessionsWithNoExtras()); Map> geoInfos = db.fetch().getAllGeoInfo();