diff --git a/Plan/bukkit/src/main/java/com/djrapitops/plan/addons/placeholderapi/placeholders/PlayerPlaceHolder.java b/Plan/bukkit/src/main/java/com/djrapitops/plan/addons/placeholderapi/placeholders/PlayerPlaceHolder.java index 51d05b1a8..cf6556f63 100644 --- a/Plan/bukkit/src/main/java/com/djrapitops/plan/addons/placeholderapi/placeholders/PlayerPlaceHolder.java +++ b/Plan/bukkit/src/main/java/com/djrapitops/plan/addons/placeholderapi/placeholders/PlayerPlaceHolder.java @@ -19,7 +19,7 @@ package com.djrapitops.plan.addons.placeholderapi.placeholders; import com.djrapitops.plan.delivery.domain.container.PlayerContainer; import com.djrapitops.plan.delivery.domain.keys.PlayerKeys; import com.djrapitops.plan.delivery.domain.mutators.PingMutator; -import com.djrapitops.plan.delivery.domain.mutators.PvpInfoMutator; +import com.djrapitops.plan.delivery.domain.mutators.PlayerVersusMutator; import com.djrapitops.plan.delivery.domain.mutators.SessionsMutator; import com.djrapitops.plan.delivery.formatting.Formatter; import com.djrapitops.plan.delivery.formatting.Formatters; @@ -86,7 +86,7 @@ public class PlayerPlaceHolder extends AbstractPlanPlaceHolder { case "player_player_kill_count": return player.getValue(PlayerKeys.PLAYER_KILL_COUNT).orElse(0); case "player_kill_death_ratio": - return PvpInfoMutator.forContainer(player).killDeathRatio(); + return PlayerVersusMutator.forContainer(player).toKillDeathRatio(); case "player_ping_average_day": return PingMutator.forContainer(player).filterBy(Predicates.within(dayAgo(), now())).average(); diff --git a/Plan/bukkit/src/main/java/com/djrapitops/plan/gathering/listeners/bukkit/ChatListener.java b/Plan/bukkit/src/main/java/com/djrapitops/plan/gathering/listeners/bukkit/ChatListener.java index c52e1b2db..2774658da 100644 --- a/Plan/bukkit/src/main/java/com/djrapitops/plan/gathering/listeners/bukkit/ChatListener.java +++ b/Plan/bukkit/src/main/java/com/djrapitops/plan/gathering/listeners/bukkit/ChatListener.java @@ -78,7 +78,7 @@ public class ChatListener implements Listener { dbSystem.getDatabase().executeTransaction(new NicknameStoreTransaction( uuid, new Nickname(displayName, time, serverInfo.getServerUUID()), - (playerUUID, name) -> name.equals(nicknameCache.getDisplayName(playerUUID)) + (playerUUID, name) -> nicknameCache.getDisplayName(playerUUID).map(name::equals).orElse(false) )); } } diff --git a/Plan/bukkit/src/main/java/com/djrapitops/plan/gathering/listeners/bukkit/PlayerOnlineListener.java b/Plan/bukkit/src/main/java/com/djrapitops/plan/gathering/listeners/bukkit/PlayerOnlineListener.java index da63b98d9..2b170a741 100644 --- a/Plan/bukkit/src/main/java/com/djrapitops/plan/gathering/listeners/bukkit/PlayerOnlineListener.java +++ b/Plan/bukkit/src/main/java/com/djrapitops/plan/gathering/listeners/bukkit/PlayerOnlineListener.java @@ -183,7 +183,7 @@ public class PlayerOnlineListener implements Listener { database.executeTransaction(new NicknameStoreTransaction( playerUUID, new Nickname(displayName, time, serverUUID), - (uuid, name) -> name.equals(nicknameCache.getDisplayName(uuid)) + (uuid, name) -> nicknameCache.getDisplayName(playerUUID).map(name::equals).orElse(false) )); processing.submitNonCritical(() -> extensionService.updatePlayerValues(playerUUID, playerName, CallEvents.PLAYER_JOIN)); diff --git a/Plan/bukkit/src/main/java/com/djrapitops/plan/storage/database/BukkitDBSystem.java b/Plan/bukkit/src/main/java/com/djrapitops/plan/storage/database/BukkitDBSystem.java index 25eeb035e..2c26b6689 100644 --- a/Plan/bukkit/src/main/java/com/djrapitops/plan/storage/database/BukkitDBSystem.java +++ b/Plan/bukkit/src/main/java/com/djrapitops/plan/storage/database/BukkitDBSystem.java @@ -48,7 +48,7 @@ public class BukkitDBSystem extends DBSystem { Timings timings, ErrorHandler errorHandler ) { - super(locale, sqLiteDB, h2DB, logger, timings, errorHandler); + super(locale, sqLiteDB, h2DB, logger); this.config = config; databases.add(mySQLDB); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/capability/CapabilityServiceImplementation.java b/Plan/common/src/main/java/com/djrapitops/plan/capability/CapabilityServiceImplementation.java index a4ea36896..6b37eda79 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/capability/CapabilityServiceImplementation.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/capability/CapabilityServiceImplementation.java @@ -29,7 +29,7 @@ import java.util.function.Consumer; */ public class CapabilityServiceImplementation implements CapabilityService { - private List> enableListeners; + private final List> enableListeners; private CapabilityServiceImplementation() { /* Inject required for dagger */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/data/element/AnalysisContainer.java b/Plan/common/src/main/java/com/djrapitops/plan/data/element/AnalysisContainer.java index 00bbbbc5c..3b8a6b9c3 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/data/element/AnalysisContainer.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/data/element/AnalysisContainer.java @@ -43,7 +43,7 @@ import java.util.UUID; @Deprecated public final class AnalysisContainer extends InspectContainer { - private Map> playerTableValues; + private final Map> playerTableValues; public AnalysisContainer() { playerTableValues = new TreeMap<>(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/data/element/InspectContainer.java b/Plan/common/src/main/java/com/djrapitops/plan/data/element/InspectContainer.java index 2414953a8..1f3279044 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/data/element/InspectContainer.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/data/element/InspectContainer.java @@ -40,9 +40,9 @@ import java.util.TreeMap; @Deprecated public class InspectContainer { - protected List values; - protected TreeMap html; - protected TreeMap tables; + protected final List values; + protected final TreeMap html; + protected final TreeMap tables; public InspectContainer() { values = new ArrayList<>(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/data/element/TableContainer.java b/Plan/common/src/main/java/com/djrapitops/plan/data/element/TableContainer.java index fe4484973..eafece5b5 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/data/element/TableContainer.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/data/element/TableContainer.java @@ -35,7 +35,7 @@ public class TableContainer { protected final String[] header; protected final Formatter[] formatters; - private List values; + private final List values; private String jqueryDatatable; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/DateSet.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/DateSet.java deleted file mode 100644 index 2bfe65545..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/DateSet.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.domain; - -import java.util.TreeSet; - -/** - * Basic TreeSet with Epoch ms as values. - * - * @author Rsl1122 - */ -public class DateSet extends TreeSet { - - public boolean hasValuesBetween(long after, long before) { - return countBetween(after, before) > 0; - } - - public int countBetween(long after, long before) { - return subSet(after, before).size(); - } - -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/TablePlayer.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/TablePlayer.java index 7ca2f3b87..660e60f31 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/TablePlayer.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/TablePlayer.java @@ -105,10 +105,10 @@ public class TablePlayer implements Comparable { if (this == o) return true; if (!(o instanceof TablePlayer)) return false; TablePlayer that = (TablePlayer) o; - return playtime == that.playtime && - sessionCount == that.sessionCount && - registered == that.registered && - lastSeen == that.lastSeen && + return playtime.equals(that.playtime) && + sessionCount.equals(that.sessionCount) && + registered.equals(that.registered) && + lastSeen.equals(that.lastSeen) && name.equals(that.name) && activityIndex.equals(that.activityIndex) && geolocation.equals(that.geolocation); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/CachingSupplier.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/CachingSupplier.java index 05f61646b..f53f8d190 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/CachingSupplier.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/CachingSupplier.java @@ -31,7 +31,7 @@ public class CachingSupplier implements Supplier { private final Supplier original; private T cachedValue; private long cacheTime; - private long timeToLive; + private final long timeToLive; public CachingSupplier(Supplier original) { this(original, TimeUnit.SECONDS.toMillis(30L)); @@ -53,11 +53,4 @@ public class CachingSupplier implements Supplier { return cachedValue; } - public boolean isCached() { - return cachedValue != null; - } - - public long getCacheTime() { - return cacheTime; - } } \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/DynamicDataContainer.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/DynamicDataContainer.java index c1ef0093d..66bb5530b 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/DynamicDataContainer.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/DynamicDataContainer.java @@ -37,11 +37,6 @@ public class DynamicDataContainer implements DataContainer { rawDataContainer = new RawDataContainer(); } - public DynamicDataContainer(long timeToLive) { - supplierDataContainer = new SupplierDataContainer(timeToLive); - rawDataContainer = new RawDataContainer(); - } - @Override public void putRawData(Key key, T obj) { rawDataContainer.putRawData(key, obj); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/PlayerContainer.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/PlayerContainer.java index 49abc981f..9f878412e 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/PlayerContainer.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/PlayerContainer.java @@ -32,7 +32,7 @@ import java.util.Map; */ public class PlayerContainer extends DynamicDataContainer { - private Map activityIndexCache; + private final Map activityIndexCache; public PlayerContainer() { activityIndexCache = new HashMap<>(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/SupplierDataContainer.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/SupplierDataContainer.java index b57f77000..4128c6aab 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/SupplierDataContainer.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/container/SupplierDataContainer.java @@ -32,7 +32,7 @@ import java.util.function.Supplier; public class SupplierDataContainer implements DataContainer { private final Map map; - private long timeToLive; + private final long timeToLive; /** * Create a SupplierDataContainer with a default TTL of 30 seconds. diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/keys/AnalysisKeys.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/keys/AnalysisKeys.java index 84236b379..d3658e9f1 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/keys/AnalysisKeys.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/keys/AnalysisKeys.java @@ -16,16 +16,6 @@ */ package com.djrapitops.plan.delivery.domain.keys; -import com.djrapitops.plan.delivery.domain.mutators.PlayersMutator; -import com.djrapitops.plan.delivery.domain.mutators.PlayersOnlineResolver; -import com.djrapitops.plan.delivery.domain.mutators.SessionsMutator; -import com.djrapitops.plan.delivery.domain.mutators.TPSMutator; - -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; -import java.util.UUID; - /** * Key objects used for Analysis. *

@@ -38,9 +28,6 @@ import java.util.UUID; @Deprecated public class AnalysisKeys { - // Constants (Affected only by config settings) - public static final PlaceholderKey VERSION = CommonPlaceholderKeys.VERSION; - public static final PlaceholderKey SERVER_NAME = new PlaceholderKey<>(String.class, "serverName"); public static final PlaceholderKey TIME_ZONE = CommonPlaceholderKeys.TIME_ZONE; public static final PlaceholderKey FIRST_DAY = new PlaceholderKey<>(Integer.class, "firstDay"); public static final PlaceholderKey TPS_MEDIUM = new PlaceholderKey<>(Integer.class, "tpsMedium"); @@ -64,127 +51,6 @@ public class AnalysisKeys { public static final PlaceholderKey WORLD_MAP_HIGH_COLOR = CommonPlaceholderKeys.WORLD_MAP_HIGH_COLOR; public static final PlaceholderKey WORLD_MAP_LOW_COLOR = CommonPlaceholderKeys.WORLD_MAP_LOW_COLOR; - // Tables & other structures - public static final PlaceholderKey PLAYERS_TABLE = new PlaceholderKey<>(String.class, "tablePlayerlist"); - public static final PlaceholderKey SESSION_ACCORDION_HTML = new PlaceholderKey<>(String.class, "accordionSessions"); - public static final PlaceholderKey SESSION_ACCORDION_FUNCTIONS = new PlaceholderKey<>(String.class, "sessionTabGraphViewFunctions"); - public static final PlaceholderKey SESSION_TABLE = new PlaceholderKey<>(String.class, "tableBodySessions"); - public static final PlaceholderKey PING_TABLE = new PlaceholderKey<>(String.class, "tablePing"); - public static final PlaceholderKey RECENT_LOGINS = new PlaceholderKey<>(String.class, "listRecentLogins"); - public static final PlaceholderKey COMMAND_USAGE_TABLE = new PlaceholderKey<>(String.class, "tableCommandUsage"); - public static final PlaceholderKey HEALTH_NOTES = CommonPlaceholderKeys.HEALTH_NOTES; - public static final PlaceholderKey PLUGINS_TAB = new PlaceholderKey<>(String.class, "tabsPlugins"); - public static final PlaceholderKey PLUGINS_TAB_NAV = new PlaceholderKey<>(String.class, "navPluginsTabs"); - // Formatted time values - public static final PlaceholderKey REFRESH_TIME_F = CommonPlaceholderKeys.REFRESH_TIME_F; - public static final PlaceholderKey REFRESH_TIME_FULL_F = CommonPlaceholderKeys.REFRESH_TIME_FULL_F; - public static final PlaceholderKey LAST_PEAK_TIME_F = CommonPlaceholderKeys.LAST_PEAK_TIME_F; - public static final PlaceholderKey ALL_TIME_PEAK_TIME_F = CommonPlaceholderKeys.ALL_TIME_PEAK_TIME_F; - public static final PlaceholderKey AVERAGE_SESSION_LENGTH_F = new PlaceholderKey<>(String.class, "sessionAverage"); - public static final PlaceholderKey AVERAGE_PLAYTIME_F = new PlaceholderKey<>(String.class, "playtimeAverage"); - public static final PlaceholderKey PLAYTIME_F = new PlaceholderKey<>(String.class, "playtimeTotal"); - // Direct values, possibly formatted - public static final PlaceholderKey PLAYERS_LAST_PEAK = CommonPlaceholderKeys.PLAYERS_LAST_PEAK; - public static final PlaceholderKey PLAYERS_ALL_TIME_PEAK = CommonPlaceholderKeys.PLAYERS_ALL_TIME_PEAK; - public static final PlaceholderKey OPERATORS = new PlaceholderKey<>(Integer.class, "ops"); - public static final PlaceholderKey PLAYERS_REGULAR = new PlaceholderKey<>(Integer.class, "playersRegular"); - public static final PlaceholderKey SESSION_COUNT = new PlaceholderKey<>(Integer.class, "sessionCount"); - public static final PlaceholderKey DEATHS = new PlaceholderKey<>(Integer.class, "deaths"); - public static final PlaceholderKey MOB_KILL_COUNT = new PlaceholderKey<>(Integer.class, "mobKillCount"); - public static final PlaceholderKey PLAYER_KILL_COUNT = new PlaceholderKey<>(Integer.class, "killCount"); - public static final PlaceholderKey HEALTH_INDEX = CommonPlaceholderKeys.HEALTH_INDEX; - public static final PlaceholderKey COMMAND_COUNT = new PlaceholderKey<>(Integer.class, "commandCount"); - public static final PlaceholderKey COMMAND_COUNT_UNIQUE = new PlaceholderKey<>(Integer.class, "commandUniqueCount"); - // - public static final PlaceholderKey PLAYERS_DAY = CommonPlaceholderKeys.PLAYERS_DAY; - public static final PlaceholderKey PLAYERS_WEEK = CommonPlaceholderKeys.PLAYERS_WEEK; - public static final PlaceholderKey PLAYERS_MONTH = CommonPlaceholderKeys.PLAYERS_MONTH; - public static final PlaceholderKey PLAYERS_NEW_DAY = CommonPlaceholderKeys.PLAYERS_NEW_DAY; - public static final PlaceholderKey PLAYERS_NEW_WEEK = CommonPlaceholderKeys.PLAYERS_NEW_WEEK; - public static final PlaceholderKey PLAYERS_NEW_MONTH = CommonPlaceholderKeys.PLAYERS_NEW_MONTH; - public static final PlaceholderKey AVG_PLAYERS = new PlaceholderKey<>(Integer.class, "playersAverage"); - public static final PlaceholderKey AVG_PLAYERS_DAY = new PlaceholderKey<>(Integer.class, "playersAverageDay"); - public static final PlaceholderKey AVG_PLAYERS_WEEK = new PlaceholderKey<>(Integer.class, "playersAverageWeek"); - public static final PlaceholderKey AVG_PLAYERS_MONTH = new PlaceholderKey<>(Integer.class, "playersAverageMonth"); - public static final PlaceholderKey AVG_PLAYERS_NEW = new PlaceholderKey<>(Integer.class, "playersNewAverage"); - public static final PlaceholderKey AVG_PLAYERS_NEW_DAY = new PlaceholderKey<>(Integer.class, "playersNewAverageDay"); - public static final PlaceholderKey AVG_PLAYERS_NEW_WEEK = new PlaceholderKey<>(Integer.class, "playersNewAverageWeek"); - public static final PlaceholderKey AVG_PLAYERS_NEW_MONTH = new PlaceholderKey<>(Integer.class, "playersNewAverageMonth"); - public static final PlaceholderKey PLAYERS_RETAINED_DAY = new PlaceholderKey<>(Integer.class, "playersStuckDay"); - public static final PlaceholderKey PLAYERS_RETAINED_DAY_PERC = new PlaceholderKey<>(String.class, "playersStuckPercDay"); - public static final PlaceholderKey PLAYERS_RETAINED_WEEK = new PlaceholderKey<>(Integer.class, "playersStuckWeek"); - public static final PlaceholderKey PLAYERS_RETAINED_WEEK_PERC = new PlaceholderKey<>(String.class, "playersStuckPercWeek"); - public static final PlaceholderKey PLAYERS_RETAINED_MONTH = new PlaceholderKey<>(Integer.class, "playersStuckMonth"); - public static final PlaceholderKey PLAYERS_RETAINED_MONTH_PERC = new PlaceholderKey<>(String.class, "playersStuckPercMonth"); - // - public static final PlaceholderKey TPS_SPIKE_MONTH = new PlaceholderKey<>(Integer.class, "tpsSpikeMonth"); - public static final PlaceholderKey TPS_SPIKE_WEEK = new PlaceholderKey<>(Integer.class, "tpsSpikeWeek"); - public static final PlaceholderKey TPS_SPIKE_DAY = new PlaceholderKey<>(Integer.class, "tpsSpikeDay"); - public static final PlaceholderKey AVG_TPS_MONTH = new PlaceholderKey<>(Double.class, "tpsAverageMonth"); - public static final PlaceholderKey AVG_TPS_WEEK = new PlaceholderKey<>(Double.class, "tpsAverageWeek"); - public static final PlaceholderKey AVG_TPS_DAY = new PlaceholderKey<>(Double.class, "tpsAverageDay"); - public static final PlaceholderKey AVG_CPU_MONTH = new PlaceholderKey<>(Double.class, "cpuAverageMonth"); - public static final PlaceholderKey AVG_CPU_WEEK = new PlaceholderKey<>(Double.class, "cpuAverageWeek"); - public static final PlaceholderKey AVG_CPU_DAY = new PlaceholderKey<>(Double.class, "cpuAverageDay"); - public static final PlaceholderKey AVG_RAM_MONTH = new PlaceholderKey<>(Double.class, "ramAverageMonth"); - public static final PlaceholderKey AVG_RAM_WEEK = new PlaceholderKey<>(Double.class, "ramAverageWeek"); - public static final PlaceholderKey AVG_RAM_DAY = new PlaceholderKey<>(Double.class, "ramAverageDay"); - public static final PlaceholderKey AVG_ENTITY_MONTH = new PlaceholderKey<>(Double.class, "entityAverageMonth"); - public static final PlaceholderKey AVG_ENTITY_WEEK = new PlaceholderKey<>(Double.class, "entityAverageWeek"); - public static final PlaceholderKey AVG_ENTITY_DAY = new PlaceholderKey<>(Double.class, "entityAverageDay"); - public static final PlaceholderKey AVG_CHUNK_MONTH = new PlaceholderKey<>(Double.class, "chunkAverageMonth"); - public static final PlaceholderKey AVG_CHUNK_WEEK = new PlaceholderKey<>(Double.class, "chunkAverageWeek"); - public static final PlaceholderKey AVG_CHUNK_DAY = new PlaceholderKey<>(Double.class, "chunkAverageDay"); - public static final PlaceholderKey AVG_FREE_DISK_MONTH = new PlaceholderKey<>(Double.class, "freeDiskAverageMonth"); - public static final PlaceholderKey AVG_FREE_DISK_WEEK = new PlaceholderKey<>(Double.class, "freeDiskAverageWeek"); - public static final PlaceholderKey AVG_FREE_DISK_DAY = new PlaceholderKey<>(Double.class, "freeDiskAverageDay"); - public static final PlaceholderKey MAX_FREE_DISK_MONTH = new PlaceholderKey<>(Long.class, "freeDiskMaximumMonth"); - public static final PlaceholderKey MAX_FREE_DISK_WEEK = new PlaceholderKey<>(Long.class, "freeDiskMaximumWeek"); - public static final PlaceholderKey MAX_FREE_DISK_DAY = new PlaceholderKey<>(Long.class, "freeDiskMaximumDay"); - public static final PlaceholderKey MIN_FREE_DISK_MONTH = new PlaceholderKey<>(Long.class, "freeDiskMinimumMonth"); - public static final PlaceholderKey MIN_FREE_DISK_WEEK = new PlaceholderKey<>(Long.class, "freeDiskMinimumWeek"); - public static final PlaceholderKey MIN_FREE_DISK_DAY = new PlaceholderKey<>(Long.class, "freeDiskMinimumDay"); - // Data for Charts - public static final PlaceholderKey WORLD_PIE_SERIES = new PlaceholderKey<>(String.class, "worldSeries"); - public static final PlaceholderKey GM_PIE_SERIES = new PlaceholderKey<>(String.class, "gmSeries"); - public static final PlaceholderKey PLAYERS_ONLINE_SERIES = CommonPlaceholderKeys.PLAYERS_ONLINE_SERIES; - public static final PlaceholderKey TPS_SERIES = new PlaceholderKey<>(String.class, "tpsSeries"); - public static final PlaceholderKey CPU_SERIES = new PlaceholderKey<>(String.class, "cpuSeries"); - public static final PlaceholderKey RAM_SERIES = new PlaceholderKey<>(String.class, "ramSeries"); - public static final PlaceholderKey ENTITY_SERIES = new PlaceholderKey<>(String.class, "entitySeries"); - public static final PlaceholderKey CHUNK_SERIES = new PlaceholderKey<>(String.class, "chunkSeries"); - public static final PlaceholderKey DISK_SERIES = new PlaceholderKey<>(String.class, "diskSeries"); - public static final PlaceholderKey PUNCHCARD_SERIES = new PlaceholderKey<>(String.class, "punchCardSeries"); - public static final PlaceholderKey WORLD_MAP_SERIES = CommonPlaceholderKeys.WORLD_MAP_SERIES; - public static final PlaceholderKey ACTIVITY_STACK_SERIES = CommonPlaceholderKeys.ACTIVITY_STACK_SERIES; - public static final PlaceholderKey ACTIVITY_STACK_CATEGORIES = CommonPlaceholderKeys.ACTIVITY_STACK_CATEGORIES; - public static final PlaceholderKey ACTIVITY_PIE_SERIES = CommonPlaceholderKeys.ACTIVITY_PIE_SERIES; - public static final PlaceholderKey CALENDAR_SERIES = new PlaceholderKey<>(String.class, "calendarSeries"); - public static final PlaceholderKey UNIQUE_PLAYERS_SERIES = new PlaceholderKey<>(String.class, "uniquePlayersSeries"); - public static final PlaceholderKey NEW_PLAYERS_SERIES = new PlaceholderKey<>(String.class, "newPlayersSeries"); - public static final PlaceholderKey AVG_PING_SERIES = new PlaceholderKey<>(String.class, "avgPingSeries"); - public static final PlaceholderKey MAX_PING_SERIES = new PlaceholderKey<>(String.class, "maxPingSeries"); - public static final PlaceholderKey MIN_PING_SERIES = new PlaceholderKey<>(String.class, "minPingSeries"); - public static final PlaceholderKey COUNTRY_CATEGORIES = CommonPlaceholderKeys.COUNTRY_CATEGORIES; - public static final PlaceholderKey COUNTRY_SERIES = CommonPlaceholderKeys.COUNTRY_SERIES; - // Variables used only during analysis - public static final Key SESSIONS_MUTATOR = CommonKeys.SESSIONS_MUTATOR; - public static final Key TPS_MUTATOR = CommonKeys.TPS_MUTATOR; - public static final Key PLAYERS_MUTATOR = CommonKeys.PLAYERS_MUTATOR; - public static final Key PLAYERS_ONLINE_RESOLVER = new Key<>(PlayersOnlineResolver.class, "PLAYERS_ONLINE_RESOLVER"); - public static final Key PLAYTIME_TOTAL = new Key<>(Long.class, "PLAYTIME_TOTAL"); - public static final Key ANALYSIS_TIME = new Key<>(Long.class, "ANALYSIS_TIME"); - public static final Key ANALYSIS_TIME_DAY_AGO = new Key<>(Long.class, "ANALYSIS_TIME_DAY_AGO"); - public static final Key ANALYSIS_TIME_WEEK_AGO = new Key<>(Long.class, "ANALYSIS_TIME_WEEK_AGO"); - public static final Key ANALYSIS_TIME_MONTH_AGO = new Key<>(Long.class, "ANALYSIS_TIME_MONTH_AGO"); - public static final Key> PLAYER_NAMES = new Key<>(new Type>() { - }, "PLAYER_NAMES"); - public static final Key>>> ACTIVITY_DATA = CommonKeys.ACTIVITY_DATA; - public static final Key> UNIQUE_PLAYERS_PER_DAY = new Key<>(new Type>() { - }, "UNIQUE_PLAYERS_PER_DAY"); - public static final Key> NEW_PLAYERS_PER_DAY = new Key<>(new Type>() { - }, "NEW_PLAYERS_PER_DAY"); - private AnalysisKeys() { /* Static variable class */ } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/keys/CommonPlaceholderKeys.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/keys/CommonPlaceholderKeys.java index 61da25938..f83302b84 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/keys/CommonPlaceholderKeys.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/keys/CommonPlaceholderKeys.java @@ -24,7 +24,6 @@ package com.djrapitops.plan.delivery.domain.keys; */ class CommonPlaceholderKeys { - static final PlaceholderKey VERSION = new PlaceholderKey<>(String.class, "version"); static final PlaceholderKey TIME_ZONE = new PlaceholderKey<>(Integer.class, "timeZone"); static final PlaceholderKey PLAYERS_GRAPH_COLOR = new PlaceholderKey<>(String.class, "playersGraphColor"); static final PlaceholderKey PLAYERS_ONLINE_SERIES = new PlaceholderKey<>(String.class, "playersOnlineSeries"); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/keys/PlaceholderKey.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/keys/PlaceholderKey.java index 9d305fb7c..e9d4dad22 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/keys/PlaceholderKey.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/keys/PlaceholderKey.java @@ -30,11 +30,6 @@ public class PlaceholderKey extends Key { this.placeholder = placeholder; } - public PlaceholderKey(Type type, String placeholder) { - super(type, placeholder); - this.placeholder = placeholder; - } - public String getPlaceholder() { return placeholder; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/ActivityIndex.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/ActivityIndex.java index 663973c3f..368e97e07 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/ActivityIndex.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/ActivityIndex.java @@ -165,29 +165,15 @@ public class ActivityIndex { public String getGroup() { if (value >= VERY_ACTIVE) { - return "Very Active"; + return HtmlLang.INDEX_VERY_ACTIVE.getDefault(); } else if (value >= ACTIVE) { - return "Active"; + return HtmlLang.INDEX_ACTIVE.getDefault(); } else if (value >= REGULAR) { - return "Regular"; + return HtmlLang.INDEX_REGULAR.getDefault(); } else if (value >= IRREGULAR) { - return "Irregular"; + return HtmlLang.INDEX_IRREGULAR.getDefault(); } else { - return "Inactive"; - } - } - - public String getColor() { - if (value >= VERY_ACTIVE) { - return "green"; - } else if (value >= ACTIVE) { - return "green"; - } else if (value >= REGULAR) { - return "lime"; - } else if (value >= IRREGULAR) { - return "amber"; - } else { - return "blue-gray"; + return HtmlLang.INDEX_INACTIVE.getDefault(); } } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/MutatorFunctions.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/MutatorFunctions.java index 939e7399b..bed4699c3 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/MutatorFunctions.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/MutatorFunctions.java @@ -30,12 +30,6 @@ public class MutatorFunctions { .collect(Collectors.toList()); } - public static List toPointsWithRemovedOffset(NavigableMap map, TimeZone timeZone) { - return map.entrySet().stream() - .map(entry -> new Point(entry.getKey() - timeZone.getOffset(entry.getKey()), entry.getValue())) - .collect(Collectors.toList()); - } - public static NavigableMap addMissing(NavigableMap points, long accuracy, Integer replacement) { if (Verify.isEmpty(points)) return points; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/NetworkPerServerMutator.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/NetworkPerServerMutator.java deleted file mode 100644 index 697fda473..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/NetworkPerServerMutator.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.domain.mutators; - -import com.djrapitops.plan.delivery.domain.container.DataContainer; -import com.djrapitops.plan.delivery.domain.container.PerServerContainer; -import com.djrapitops.plan.delivery.domain.container.PlayerContainer; -import com.djrapitops.plan.delivery.domain.keys.CommonKeys; -import com.djrapitops.plan.delivery.domain.keys.PlayerKeys; - -import java.util.*; - -public class NetworkPerServerMutator { - - private final Map> perServerContainers; - - public NetworkPerServerMutator(PlayersMutator playersMutator) { - this.perServerContainers = perServerContainers(playersMutator); - } - - public static NetworkPerServerMutator forContainer(DataContainer container) { - return new NetworkPerServerMutator( - container.getValue(CommonKeys.PLAYERS_MUTATOR) - .orElse(PlayersMutator.forContainer(container)) - ); - } - - public Map> getPerServerContainers() { - return perServerContainers; - } - - private Map> perServerContainers(PlayersMutator playersMutator) { - Map> dataContainerMap = new HashMap<>(); - - for (PlayerContainer playerContainer : playersMutator.all()) { - UUID uuid = playerContainer.getUnsafe(PlayerKeys.UUID); - PerServerContainer perServerContainer = playerContainer.getValue(PlayerKeys.PER_SERVER).orElse(new PerServerContainer()); - for (Map.Entry entry : perServerContainer.entrySet()) { - UUID serverUUID = entry.getKey(); - DataContainer container = entry.getValue(); - container.putRawData(PlayerKeys.UUID, uuid); - List dataContainers = dataContainerMap.getOrDefault(serverUUID, new ArrayList<>()); - dataContainers.add(container); - dataContainerMap.put(serverUUID, dataContainers); - } - } - - return dataContainerMap; - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/PlayerVersusMutator.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/PlayerVersusMutator.java index 193340d2a..62b41680b 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/PlayerVersusMutator.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/PlayerVersusMutator.java @@ -67,6 +67,16 @@ public class PlayerVersusMutator { return sessionsMutator.toMobKillCount(); } + public double toKillDeathRatio() { + int deathCount = toPlayerDeathCount(); + return toPlayerKillCount() * 1.0 / (deathCount != 0 ? deathCount : 1); + } + + public double toMobKillDeathRatio() { + int deathCount = toMobDeathCount(); + return toMobKillCount() * 1.0 / (deathCount != 0 ? deathCount : 1); + } + public int toPlayerDeathCount() { return deaths.size(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/PlayersMutator.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/PlayersMutator.java index 2a93fdb44..4c60b5ff5 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/PlayersMutator.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/PlayersMutator.java @@ -38,7 +38,7 @@ import java.util.stream.Collectors; */ public class PlayersMutator { - private List players; + private final List players; public PlayersMutator(List players) { this.players = players; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/PvpInfoMutator.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/PvpInfoMutator.java deleted file mode 100644 index 479b73a5a..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/PvpInfoMutator.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.domain.mutators; - -import com.djrapitops.plan.delivery.domain.container.DataContainer; -import com.djrapitops.plan.gathering.domain.Session; - -import java.util.List; - -public class PvpInfoMutator { - - private final SessionsMutator sessionsMutator; - - private PvpInfoMutator(SessionsMutator sessionsMutator) { - this.sessionsMutator = sessionsMutator; - } - - public PvpInfoMutator(List sessions) { - this(new SessionsMutator(sessions)); - } - - public static PvpInfoMutator forContainer(DataContainer container) { - return new PvpInfoMutator(SessionsMutator.forContainer(container)); - } - - public static PvpInfoMutator forMutator(SessionsMutator sessionsMutator) { - return new PvpInfoMutator(sessionsMutator); - } - - public double killDeathRatio() { - int deathCount = sessionsMutator.toPlayerDeathCount(); - return sessionsMutator.toPlayerKillCount() * 1.0 / (deathCount != 0 ? deathCount : 1); - } - - public int mobCausedDeaths() { - return sessionsMutator.toDeathCount() - sessionsMutator.toPlayerDeathCount(); - } - - public double mobKillDeathRatio() { - int deathCount = mobCausedDeaths(); - return sessionsMutator.toMobKillCount() * 1.0 / (deathCount != 0 ? deathCount : 1); - } - - public int mobKills() { - return sessionsMutator.toMobKillCount(); - } - - public int playerKills() { - return sessionsMutator.toPlayerKillCount(); - } - - public int deaths() { - return sessionsMutator.toDeathCount(); - } - - public int playerCausedDeaths() { - return sessionsMutator.toPlayerDeathCount(); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/RetentionData.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/RetentionData.java index 5a5ccc923..19759740f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/RetentionData.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/RetentionData.java @@ -33,7 +33,7 @@ import java.util.concurrent.TimeUnit; */ public class RetentionData { private final double activityIndex; - private double onlineOnJoin; + private final double onlineOnJoin; public static RetentionData average(Collection stuck) { int size = stuck.size(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/SessionsMutator.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/SessionsMutator.java index 69c2bb270..5eccac2b0 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/SessionsMutator.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/SessionsMutator.java @@ -22,7 +22,6 @@ import com.djrapitops.plan.delivery.domain.keys.SessionKeys; import com.djrapitops.plan.delivery.formatting.Formatters; import com.djrapitops.plan.delivery.rendering.json.graphs.Graphs; import com.djrapitops.plan.delivery.rendering.json.graphs.pie.WorldPie; -import com.djrapitops.plan.gathering.domain.PlayerDeath; import com.djrapitops.plan.gathering.domain.PlayerKill; import com.djrapitops.plan.gathering.domain.Session; import com.djrapitops.plan.gathering.domain.WorldTimes; @@ -43,7 +42,7 @@ import java.util.stream.Collectors; */ public class SessionsMutator { - private List sessions; + private final List sessions; public static SessionsMutator forContainer(DataContainer container) { return new SessionsMutator(container.getValue(CommonKeys.SESSIONS).orElse(new ArrayList<>())); @@ -101,14 +100,6 @@ public class SessionsMutator { .collect(Collectors.toList()); } - /** - * @deprecated Incorrect results. - */ - @Deprecated - public List toPlayerDeathList() { - return Collections.emptyList(); - } - public int toMobKillCount() { return sessions.stream() .mapToInt(session -> session.getValue(SessionKeys.MOB_KILL_COUNT).orElse(0)) @@ -170,25 +161,6 @@ public class SessionsMutator { return (long) Median.forList(sessionLengths).calculate(); } - public int toAverageUniqueJoinsPerDay(TimeZone timeZone) { - return MutatorFunctions.average(uniqueJoinsPerDay(timeZone)); - } - - public TreeMap uniqueJoinsPerDay(TimeZone timeZone) { - // Adds Timezone offset - SortedMap> byStartOfDay = toDateHoldersMutator().groupByStartOfDay(timeZone); - - TreeMap uniqueJoins = new TreeMap<>(); - for (Map.Entry> entry : byStartOfDay.entrySet()) { - uniqueJoins.put( - entry.getKey(), - new SessionsMutator(entry.getValue()).toUniquePlayers() - ); - } - - return uniqueJoins; - } - public int toUniquePlayers() { return (int) sessions.stream() .map(session -> session.getUnsafe(SessionKeys.UUID)) diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/TPSMutator.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/TPSMutator.java index aa92e9241..18b8ac04f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/TPSMutator.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/domain/mutators/TPSMutator.java @@ -38,7 +38,7 @@ import java.util.stream.Collectors; */ public class TPSMutator { - private List tpsData; + private final List tpsData; public TPSMutator(List tpsData) { this.tpsData = tpsData; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/ExportPaths.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/ExportPaths.java index 684b4cad0..c3aef2ad0 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/ExportPaths.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/ExportPaths.java @@ -28,8 +28,8 @@ import java.util.List; */ public class ExportPaths { - private List replace; - private List with; + private final List replace; + private final List with; public ExportPaths() { replace = new ArrayList<>(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/formatting/PlaceholderReplacer.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/formatting/PlaceholderReplacer.java index c37cf18af..c86b85c1a 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/formatting/PlaceholderReplacer.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/formatting/PlaceholderReplacer.java @@ -41,19 +41,6 @@ public class PlaceholderReplacer extends HashMap implement } } - public void addPlaceholderFrom(DataContainer container, Formatter formatter, PlaceholderKey key) { - if (!container.supports(key)) { - return; - } - put(key.getPlaceholder(), container.getFormattedUnsafe(key, formatter)); - } - - public void addAllPlaceholdersFrom(DataContainer container, Formatter formatter, PlaceholderKey... keys) { - for (PlaceholderKey key : keys) { - addPlaceholderFrom(container, formatter, key); - } - } - @Override public String apply(String string) { StringSubstitutor sub = new StringSubstitutor(this); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/html/icon/Color.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/html/icon/Color.java index 45427809e..83e37b48a 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/html/icon/Color.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/html/icon/Color.java @@ -47,16 +47,6 @@ public enum Color { this.htmlClass = htmlClass; } - public static Color matchString(String name) { - String lowerCaseName = name.toLowerCase(); - for (Color color : values()) { - if (color.htmlClass.contains(lowerCaseName)) { - return color; - } - } - return Color.BLACK; - } - public static Optional getByName(String name) { if (name == null) { return Optional.empty(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/html/icon/Icons.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/html/icon/Icons.java deleted file mode 100644 index 48cd85615..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/html/icon/Icons.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.rendering.html.icon; - -/** - * Class that contains commonly used {@link Icon}s. - * - * @see Icon - */ -public class Icons { - - public static final Icon PLAYTIME = Icon.called("clock").of(Color.GREEN).of(Family.REGULAR).build(); - public static final Icon SESSION_LENGTH = Icon.called("clock").of(Color.TEAL).of(Family.REGULAR).build(); - public static final Icon AFK_LENGTH = Icon.called("clock").of(Color.GREY).of(Family.REGULAR).build(); - public static final Icon PLAYER_KILLS = Icon.called("crosshairs").of(Color.RED).build(); - public static final Icon MOB_KILLS = Icon.called("crosshairs").of(Color.GREEN).build(); - public static final Icon DEATHS = Icon.called("skull").build(); - public static final Icon SESSION_COUNT = Icon.called("calendar-check").of(Color.TEAL).of(Family.REGULAR).build(); - public static final Icon OPERATOR = Icon.called("superpowers").of(Color.BLUE).of(Family.BRAND).build(); - public static final Icon BANNED = Icon.called("gavel").of(Color.RED).build(); - public static final Icon SERVER = Icon.called("server").of(Color.GREEN).build(); - public static final Icon SIGNAL = Icon.called("signal").build(); - - public static final Icon GREEN_THUMB = Icon.called("thumbs-up").of(Color.GREEN).build(); - public static final Icon YELLOW_FLAG = Icon.called("flag").of(Color.AMBER).build(); - public static final Icon RED_WARN = Icon.called("exclamation-circle").of(Color.RED).build(); - public static final Icon GREEN_PLUS = Icon.called("plus").of(Color.GREEN).build(); - public static final Icon RED_MINUS = Icon.called("minus").of(Color.RED).build(); - public static final Icon HELP_RING = Icon.called("life-ring").of(Color.RED).of(Family.REGULAR).build(); - - private Icons() { - /* Static variable class */ - } - -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/OnlineActivityOverviewJSONParser.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/OnlineActivityOverviewJSONParser.java index 8b8008ff5..6c9b91051 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/OnlineActivityOverviewJSONParser.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/OnlineActivityOverviewJSONParser.java @@ -48,12 +48,12 @@ import java.util.concurrent.TimeUnit; @Singleton public class OnlineActivityOverviewJSONParser implements ServerTabJSONParser> { - private PlanConfig config; - private DBSystem dbSystem; + private final PlanConfig config; + private final DBSystem dbSystem; - private Formatter timeAmountFormatter; - private Formatter decimalFormatter; - private Formatter percentageFormatter; + private final Formatter timeAmountFormatter; + private final Formatter decimalFormatter; + private final Formatter percentageFormatter; private final TimeZone timeZone; @Inject diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayerBaseOverviewJSONParser.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayerBaseOverviewJSONParser.java index 5704a3628..938073805 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayerBaseOverviewJSONParser.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayerBaseOverviewJSONParser.java @@ -41,11 +41,11 @@ import java.util.concurrent.TimeUnit; @Singleton public class PlayerBaseOverviewJSONParser implements ServerTabJSONParser> { - private PlanConfig config; - private DBSystem dbSystem; + private final PlanConfig config; + private final DBSystem dbSystem; - private Formatter timeAmount; - private Formatter percentage; + private final Formatter timeAmount; + private final Formatter percentage; @Inject public PlayerBaseOverviewJSONParser( diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayerJSONParser.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayerJSONParser.java index a30e6b540..5a177769f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayerJSONParser.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayerJSONParser.java @@ -264,9 +264,9 @@ public class PlayerJSONParser { } public static class Nickname { - private String nickname; - private String server; - private String date; + private final String nickname; + private final String server; + private final String date; public Nickname(String nickname, String server, String date) { this.nickname = nickname; @@ -293,8 +293,8 @@ public class PlayerJSONParser { } public static class ConnectionInfo { - private String geolocation; - private String date; + private final String geolocation; + private final String date; public ConnectionInfo(String geolocation, String date) { this.geolocation = geolocation; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayersTableJSONParser.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayersTableJSONParser.java index 147d17a35..05f2c5284 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayersTableJSONParser.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayersTableJSONParser.java @@ -49,9 +49,9 @@ public class PlayersTableJSONParser { private final boolean openPlayerPageInNewTab; - private Map> numberFormatters; + private final Map> numberFormatters; - private Formatter decimalFormatter; + private final Formatter decimalFormatter; public PlayersTableJSONParser( List players, @@ -116,7 +116,7 @@ public class PlayersTableJSONParser { dataJSON.append('{'); // Start new item appendPlayerData(dataJSON, player); - appendExtensionData(dataJSON, extensionData.getOrDefault(playerUUID, new ExtensionTabData.Factory(null).build())); + appendExtensionData(dataJSON, extensionData.getOrDefault(playerUUID, new ExtensionTabData.Builder(null).build())); dataJSON.append('}'); // Close new item diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PvPPvEJSONParser.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PvPPvEJSONParser.java index a82acf594..832248b98 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PvPPvEJSONParser.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PvPPvEJSONParser.java @@ -35,9 +35,9 @@ import java.util.concurrent.TimeUnit; @Singleton public class PvPPvEJSONParser implements ServerTabJSONParser> { - private DBSystem dbSystem; + private final DBSystem dbSystem; - private Formatter decimals; + private final Formatter decimals; @Inject public PvPPvEJSONParser( diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/SessionsOverviewJSONParser.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/SessionsOverviewJSONParser.java index fff4396cf..f36292f41 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/SessionsOverviewJSONParser.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/SessionsOverviewJSONParser.java @@ -41,10 +41,10 @@ import java.util.concurrent.TimeUnit; @Singleton public class SessionsOverviewJSONParser implements ServerTabJSONParser> { - private DBSystem dbSystem; + private final DBSystem dbSystem; - private Formatter timeAmount; - private Formatter percentage; + private final Formatter timeAmount; + private final Formatter percentage; @Inject public SessionsOverviewJSONParser( diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/Trend.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/Trend.java index 8d02bac40..153c4c9f8 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/Trend.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/Trend.java @@ -30,9 +30,9 @@ public class Trend { */ public static final boolean REVERSED = true; - private String text; - private String direction; - private boolean reversed; + private final String text; + private final String direction; + private final boolean reversed; public Trend(long before, long after, boolean reversed) { long difference = Math.abs(before - after); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/ProgressBar.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/ProgressBar.java deleted file mode 100644 index 59835ce64..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/ProgressBar.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.rendering.json.graphs; - -import com.djrapitops.plan.delivery.formatting.Formatter; - -/** - * Utility for creating Progress bars. - * - * @author Rsl1122 - */ -public class ProgressBar { - - private final int obtained; - private final int max; - - private final Formatter percentageFormatter; - - private final String color; - - public ProgressBar(int obtained, int max, Formatter percentageFormatter) { - this(obtained, max, "teal", percentageFormatter); - } - - public ProgressBar(int obtained, int max, String color, Formatter percentageFormatter) { - this.obtained = obtained; - this.max = max; - this.color = color; - this.percentageFormatter = percentageFormatter; - } - - public String toHtml() { - double percentage = obtained * 1.0 / max; - int percentageRounded = (int) percentage; - - return "

" + - obtained + " / " + max + " (" + percentageFormatter.apply(percentage) + ")" + - "
"; - } - -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/bar/BarGraph.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/bar/BarGraph.java index 012a367f1..c1d19ffd4 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/bar/BarGraph.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/bar/BarGraph.java @@ -16,12 +16,9 @@ */ package com.djrapitops.plan.delivery.rendering.json.graphs.bar; -import com.djrapitops.plan.delivery.rendering.json.graphs.HighChart; -import org.apache.commons.text.TextStringBuilder; - import java.util.List; -public class BarGraph implements HighChart { +public class BarGraph { private final List bars; @@ -33,16 +30,4 @@ public class BarGraph implements HighChart { return bars; } - public String toHighChartsCategories() { - TextStringBuilder categories = new TextStringBuilder("["); - categories.appendWithSeparators(bars.stream().map(bar -> "'" + bar.getLabel() + "'").iterator(), ","); - return categories.append("]").toString(); - } - - @Override - public String toHighChartsSeries() { - TextStringBuilder series = new TextStringBuilder("["); - series.appendWithSeparators(bars.stream().map(Bar::getValue).iterator(), ","); - return series.append("]").toString(); - } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/bar/BarGraphFactory.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/bar/BarGraphFactory.java index f1bbafcd7..3cb4c035e 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/bar/BarGraphFactory.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/bar/BarGraphFactory.java @@ -16,8 +16,6 @@ */ package com.djrapitops.plan.delivery.rendering.json.graphs.bar; -import com.djrapitops.plan.delivery.domain.mutators.PlayersMutator; - import javax.inject.Inject; import javax.inject.Singleton; import java.util.Map; @@ -34,10 +32,6 @@ public class BarGraphFactory { // Inject Constructor. } - public BarGraph geolocationBarGraph(PlayersMutator playersMutator) { - return new GeolocationBarGraph(playersMutator); - } - public BarGraph geolocationBarGraph(Map geolocationCounts) { return new GeolocationBarGraph(geolocationCounts); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/calendar/CalendarEntry.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/calendar/CalendarEntry.java index 4dba04343..8ebeacffd 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/calendar/CalendarEntry.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/calendar/CalendarEntry.java @@ -20,7 +20,7 @@ import java.io.Serializable; import java.util.Optional; /** - * Represents an entry for calendar. + * Represents an entry for FullCalendar json calendar. * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/calendar/PlayerCalendar.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/calendar/PlayerCalendar.java index daa56e670..858fee51f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/calendar/PlayerCalendar.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/calendar/PlayerCalendar.java @@ -119,10 +119,6 @@ public class PlayerCalendar { return entries; } - public String toCalendarSeries() { - return getEntries().toString(); - } - private Map> getSessionsByDay() { Map> sessionsByDay = new HashMap<>(); for (Session session : allSessions) { diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/Line.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/Line.java deleted file mode 100644 index 832433b06..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/Line.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.rendering.json.graphs.line; - -/** - * This math object is used in Ramer–Douglas–Peucker algorithm. - * - * https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm - * - * @author Rsl1122 - */ -public class Line { - - private final Point start; - private final Point end; - private final double slope; - private final double c; - private final double crossPoint; - - public Line(Point one, Point two) { - start = one; - end = two; - double x1 = one.getX(); - double x2 = two.getX(); - double y1 = one.getY(); - double y2 = two.getY(); - - slope = (y2 - y1) / (x2 - x1); - c = y1 - slope * x1; - crossPoint = c / slope; - } - - public double getA() { - return getSlope(); - } - - public double getSlope() { - return slope; - } - - public double getC() { - return c; - } - - public double getCrossPoint() { - return crossPoint; - } - - public double getLength() { - double x1 = start.getX(); - double x2 = end.getX(); - double y1 = start.getY(); - double y2 = end.getY(); - return Math.sqrt(Math.pow(x2 - x1, 2) + (Math.pow(y2 - y1, 2))); - } - - public double getPerpendicularDistance(Point from) { - double a = getA(); - double x = from.getX(); - double y = from.getY(); - return Math.abs(a * x - y + c) / Math.sqrt(Math.pow(a, 2) + 1); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/LineGraph.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/LineGraph.java index 37554db3f..0e011e57d 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/LineGraph.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/LineGraph.java @@ -30,7 +30,7 @@ import java.util.concurrent.TimeUnit; public class LineGraph implements HighChart { private final boolean displayGaps; - private List points; + private final List points; public LineGraph(List points, boolean displayGaps) { this.points = points; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/PingGraph.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/PingGraph.java index 3dadc45e0..c35771f15 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/PingGraph.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/PingGraph.java @@ -52,18 +52,6 @@ public class PingGraph { avgGraph = new LineGraph(avg, displayGaps); } - public String toMaxSeries() { - return maxGraph.toHighChartsSeries(); - } - - public String toMinSeries() { - return minGraph.toHighChartsSeries(); - } - - public String toAvgSeries() { - return avgGraph.toHighChartsSeries(); - } - public LineGraph getMaxGraph() { return maxGraph; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/alg/DouglasPeuckerAlgorithm.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/alg/DouglasPeuckerAlgorithm.java deleted file mode 100644 index d6d635b62..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/alg/DouglasPeuckerAlgorithm.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.rendering.json.graphs.line.alg; - -import com.djrapitops.plan.delivery.rendering.json.graphs.line.Line; -import com.djrapitops.plan.delivery.rendering.json.graphs.line.Point; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -/** - * Ramer-Douglas-Peucker Point Reduction Algorithm Implementation for reducing points from graphs. - * - * https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm - * - * @author Rsl1122 - */ -public class DouglasPeuckerAlgorithm { - - /** - * Constructor used to hide the public constructor - */ - private DouglasPeuckerAlgorithm() { - throw new IllegalStateException("Utility class"); - } - - public static List reducePoints(List points, double epsilon) { - if (points.isEmpty()) { - return points; - } - - if (Double.compare(epsilon, -1) == 0) { - epsilon = 0.002; - } - - int size = points.size(); - final int lastIndex = size - 1; - final Point start = points.get(0); - final Point end = points.get(lastIndex); - - // Max distance and it's index. - double dMax = 0; - int index = 0; - for (int i = 1; i < size; i++) { - double d = perpendicularDistance(points.get(i), new Line(start, end)); - if (d > dMax) { - dMax = d; - index = i; - } - } - - List results; - if (dMax > epsilon) { - List results1 = reducePoints(points.subList(0, index), epsilon); - List results2 = reducePoints(points.subList(index, lastIndex), epsilon); - - results = new ArrayList<>(); - results.addAll(results1.subList(0, results1.size() - 1)); - results.addAll(results2); - } else { - return Arrays.asList(points.get(0), points.get(lastIndex)); - } - return results; - } - - private static double perpendicularDistance(Point point, Line line) { - return line.getPerpendicularDistance(point); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/alg/ReduceGapTriangles.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/alg/ReduceGapTriangles.java deleted file mode 100644 index 063f2882d..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/line/alg/ReduceGapTriangles.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.rendering.json.graphs.line.alg; - -import com.djrapitops.plan.delivery.rendering.json.graphs.line.Point; -import com.djrapitops.plan.utilities.comparators.PointComparator; -import com.djrapitops.plugin.utilities.Verify; - -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.concurrent.TimeUnit; - -/** - * Utility for reducing Points in LineGraphs. - * - * @author Rsl1122 (Refactored into this class by Fuzzlemann) - */ -public class ReduceGapTriangles { - - /** - * Constructor used to hide the public constructor - */ - private ReduceGapTriangles() { - throw new IllegalStateException("Utility class"); - } - - public static List reduce(List points) { - Point lastPoint = null; - - Set toAdd = new HashSet<>(); - for (Point point : points) { - if (!Verify.notNull(point, lastPoint)) { - lastPoint = point; - continue; - } - - assert lastPoint != null; - - long date = (long) point.getX(); - long lastDate = (long) lastPoint.getX(); - double y = point.getY(); - double lastY = lastPoint.getY(); - - if (Double.compare(y, lastY) != 0 - && Math.abs(lastY - y) > 0.5 - && lastDate < date - TimeUnit.MINUTES.toMillis(10L)) { - toAdd.add(new Point(lastDate + 1, lastY)); - toAdd.add(new Point(date - 1, lastY)); - } - - lastPoint = point; - } - - points.addAll(toAdd); - points.sort(new PointComparator()); - - return points; - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/Pie.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/Pie.java index 980be5d8c..1fecb3204 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/Pie.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/Pie.java @@ -16,9 +16,6 @@ */ package com.djrapitops.plan.delivery.rendering.json.graphs.pie; -import com.djrapitops.plan.delivery.rendering.json.graphs.HighChart; -import org.apache.commons.text.TextStringBuilder; - import java.util.List; /** @@ -26,7 +23,7 @@ import java.util.List; * * @author Rsl1122 */ -public class Pie implements HighChart { +public class Pie { protected final List slices; @@ -34,13 +31,6 @@ public class Pie implements HighChart { this.slices = slices; } - @Override - public String toHighChartsSeries() { - TextStringBuilder series = new TextStringBuilder("["); - series.appendWithSeparators(slices, ","); - return series.append("]").toString(); - } - public List getSlices() { return slices; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/PieWithDrilldown.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/PieWithDrilldown.java index 27186c5f2..9467b5e15 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/PieWithDrilldown.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/PieWithDrilldown.java @@ -29,6 +29,4 @@ public abstract class PieWithDrilldown extends Pie { super(slices); } - public abstract String toHighChartsDrilldown(); - } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/WorldPie.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/WorldPie.java index 8050bc04a..9754eb0f5 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/WorldPie.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/pie/WorldPie.java @@ -80,34 +80,6 @@ public class WorldPie extends PieWithDrilldown { return data; } - @Override - public String toHighChartsDrilldown() { - StringBuilder drilldownBuilder = new StringBuilder(); - int i = 0; - - if (gmTimesAliasMap.isEmpty()) { - return "[]"; - } - int size = gmTimesAliasMap.size(); - - drilldownBuilder.append("["); - for (Map.Entry worldAlias : gmTimesAliasMap.entrySet()) { - drilldownBuilder.append("{name:'").append(worldAlias.getKey()) - .append("', id:'").append(worldAlias.getKey()) - .append("',colors: gmPieColors,"); - drilldownBuilder.append("data: ["); - - appendGMTimesForWorld(drilldownBuilder, worldAlias); - - if (i < size - 1) { - drilldownBuilder.append(","); - } - i++; - } - drilldownBuilder.append("]"); - return drilldownBuilder.toString(); - } - private void appendGMTimesForWorld(StringBuilder drilldownBuilder, Map.Entry world) { Map gmTimes = world.getValue().getTimes(); int smallSize = gmTimes.size(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/PunchCard.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/PunchCard.java index 12e6fb905..9bb3bbd95 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/PunchCard.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/PunchCard.java @@ -17,7 +17,6 @@ package com.djrapitops.plan.delivery.rendering.json.graphs.special; import com.djrapitops.plan.delivery.domain.mutators.SessionsMutator; -import com.djrapitops.plan.delivery.rendering.json.graphs.HighChart; import java.util.ArrayList; import java.util.Calendar; @@ -29,7 +28,7 @@ import java.util.List; * * @author Rsl1122 */ -public class PunchCard implements HighChart { +public class PunchCard { private final SessionsMutator sessions; @@ -52,10 +51,6 @@ public class PunchCard implements HighChart { day.setTimeInMillis(start); int hourOfDay = day.get(Calendar.HOUR_OF_DAY); // 0 AM is 0 int dayOfWeek = day.get(Calendar.DAY_OF_WEEK) - 2; // Monday is 0, Sunday is -1 - if (hourOfDay == 24) { // If hour is 24 (Should be impossible but.) - hourOfDay = 0; - dayOfWeek += 1; - } if (dayOfWeek > 6) { // If Hour added a day on Sunday, move to Monday dayOfWeek = 0; } @@ -77,11 +72,6 @@ public class PunchCard implements HighChart { return matrix; } - @Override - public String toHighChartsSeries() { - return getDots().toString(); - } - public List getDots() { List dots = new ArrayList<>(); @@ -142,10 +132,10 @@ public class PunchCard implements HighChart { } public static class Dot { - int x; - int y; - int z; - Marker marker; + final int x; + final int y; + final int z; + final Marker marker; public Dot(int x, int y, int z, int radius) { this.x = x; @@ -165,7 +155,7 @@ public class PunchCard implements HighChart { } public static class Marker { - int radius; + final int radius; Marker(int radius) { this.radius = radius; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/SpecialGraphFactory.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/SpecialGraphFactory.java index 5c12524af..c9f483213 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/SpecialGraphFactory.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/SpecialGraphFactory.java @@ -16,9 +16,7 @@ */ package com.djrapitops.plan.delivery.rendering.json.graphs.special; -import com.djrapitops.plan.delivery.domain.mutators.PlayersMutator; import com.djrapitops.plan.delivery.domain.mutators.SessionsMutator; -import com.djrapitops.plan.delivery.rendering.json.graphs.HighChart; import com.djrapitops.plan.gathering.domain.Session; import javax.inject.Inject; @@ -51,7 +49,4 @@ public class SpecialGraphFactory { return new WorldMap(geolocationCounts); } - public HighChart worldMap(PlayersMutator mutator) { - return new WorldMap(mutator); - } } \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/WorldMap.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/WorldMap.java index 4359bb120..4d8f1924f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/WorldMap.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/WorldMap.java @@ -17,12 +17,11 @@ package com.djrapitops.plan.delivery.rendering.json.graphs.special; import com.djrapitops.plan.delivery.domain.mutators.PlayersMutator; -import com.djrapitops.plan.delivery.rendering.json.graphs.HighChart; -import org.apache.commons.text.TextStringBuilder; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -30,7 +29,7 @@ import java.util.stream.Collectors; * * @author Rsl1122 */ -public class WorldMap implements HighChart { +public class WorldMap { private final Map geoCodeCounts; @@ -86,21 +85,6 @@ public class WorldMap implements HighChart { return codeCounts; } - @Override - public String toHighChartsSeries() { - TextStringBuilder dataBuilder = new TextStringBuilder("["); - - dataBuilder.appendWithSeparators( - geoCodeCounts.entrySet().stream() - .filter(entry -> entry.getValue() != 0) - .map(entry -> "{'code':'" + entry.getKey() + "','value':" + entry.getValue() + "}") - .iterator(), - "," - ); - - return dataBuilder.append("]").toString(); - } - public List getEntries() { return geoCodeCounts.entrySet().stream() .filter(entry -> entry.getValue() != 0) @@ -109,8 +93,8 @@ public class WorldMap implements HighChart { } public static class Entry { - private String code; - private int value; + private final String code; + private final int value; public Entry(String code, int value) { this.code = code; @@ -124,5 +108,19 @@ public class WorldMap implements HighChart { public int getValue() { return value; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Entry)) return false; + Entry entry = (Entry) o; + return value == entry.value && + Objects.equals(code, entry.code); + } + + @Override + public int hashCode() { + return Objects.hash(code, value); + } } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/stack/StackGraph.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/stack/StackGraph.java index 78382d123..c67c11a9f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/stack/StackGraph.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/graphs/stack/StackGraph.java @@ -16,14 +16,12 @@ */ package com.djrapitops.plan.delivery.rendering.json.graphs.stack; -import com.djrapitops.plan.delivery.rendering.json.graphs.HighChart; - /** * Utility for creating HighCharts Stack graphs. * * @author Rsl1122 */ -public class StackGraph implements HighChart { +public class StackGraph { private final StackDataSet[] dataSets; private final String[] labels; @@ -37,42 +35,8 @@ public class StackGraph implements HighChart { return labels; } - public String toHighChartsLabels() { - StringBuilder labelBuilder = new StringBuilder("["); - - int length = this.labels.length; - int i = 0; - for (String label : this.labels) { - labelBuilder.append('"').append(label).append('"'); - - if (i < length - 1) { - labelBuilder.append(","); - } - i++; - } - - return labelBuilder.append("]").toString(); - } - public StackDataSet[] getDataSets() { return dataSets; } - @Override - public String toHighChartsSeries() { - StringBuilder seriesBuilder = new StringBuilder("["); - - int size = dataSets.length; - int i = 0; - for (StackDataSet dataSet : dataSets) { - seriesBuilder.append(dataSet.toSeriesObjectString()); - - if (i < size - 1) { - seriesBuilder.append(","); - } - i++; - } - - return seriesBuilder.append("]").toString(); - } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/network/NetworkOverviewJSONParser.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/network/NetworkOverviewJSONParser.java index 332b039b0..4b1cb9626 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/network/NetworkOverviewJSONParser.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/network/NetworkOverviewJSONParser.java @@ -48,11 +48,11 @@ import java.util.concurrent.TimeUnit; public class NetworkOverviewJSONParser implements NetworkTabJSONParser> { private final Formatter day; - private PlanConfig config; - private DBSystem dbSystem; - private ServerInfo serverInfo; - private Formatter timeAmount; - private Formatter year; + private final PlanConfig config; + private final DBSystem dbSystem; + private final ServerInfo serverInfo; + private final Formatter timeAmount; + private final Formatter year; @Inject public NetworkOverviewJSONParser( diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/network/NetworkPlayerBaseOverviewJSONParser.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/network/NetworkPlayerBaseOverviewJSONParser.java index c40e7864d..532d0c4e2 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/network/NetworkPlayerBaseOverviewJSONParser.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/network/NetworkPlayerBaseOverviewJSONParser.java @@ -41,11 +41,11 @@ import java.util.concurrent.TimeUnit; @Singleton public class NetworkPlayerBaseOverviewJSONParser implements NetworkTabJSONParser> { - private PlanConfig config; - private DBSystem dbSystem; + private final PlanConfig config; + private final DBSystem dbSystem; - private Formatter timeAmount; - private Formatter percentage; + private final Formatter timeAmount; + private final Formatter percentage; @Inject public NetworkPlayerBaseOverviewJSONParser( diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/network/NetworkSessionsOverviewJSONParser.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/network/NetworkSessionsOverviewJSONParser.java index b7873016f..4f5870ba6 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/network/NetworkSessionsOverviewJSONParser.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/network/NetworkSessionsOverviewJSONParser.java @@ -37,10 +37,10 @@ import java.util.concurrent.TimeUnit; @Singleton public class NetworkSessionsOverviewJSONParser implements NetworkTabJSONParser> { - private DBSystem dbSystem; + private final DBSystem dbSystem; - private Formatter timeAmount; - private Formatter percentage; + private final Formatter timeAmount; + private final Formatter percentage; @Inject public NetworkSessionsOverviewJSONParser( diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/pages/ServerPage.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/pages/ServerPage.java index 617407d91..d9c44bdb3 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/pages/ServerPage.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/pages/ServerPage.java @@ -52,13 +52,13 @@ import static com.djrapitops.plan.delivery.domain.keys.AnalysisKeys.*; public class ServerPage implements Page { private final Server server; - private PlanConfig config; - private Theme theme; + private final PlanConfig config; + private final Theme theme; private final VersionCheckSystem versionCheckSystem; private final PlanFiles files; private final DBSystem dbSystem; private final ServerInfo serverInfo; - private Formatters formatters; + private final Formatters formatters; ServerPage( Server server, @@ -90,7 +90,6 @@ public class ServerPage implements Page { placeholders.put("serverDisplayName", server.getName()); DataContainer constants = new RawDataContainer(); - constants.putRawData(AnalysisKeys.VERSION, versionCheckSystem.getCurrentVersion()); constants.putRawData(AnalysisKeys.TIME_ZONE, config.getTimeZoneOffsetHours()); // TODO Move these graph settings to the graph requests instead of placeholders @@ -113,7 +112,7 @@ public class ServerPage implements Page { constants.putRawData(AnalysisKeys.MIN_PING_COLOR, theme.getValue(ThemeVal.GRAPH_MIN_PING)); placeholders.addAllPlaceholdersFrom(constants, - VERSION, TIME_ZONE, + TIME_ZONE, FIRST_DAY, TPS_MEDIUM, TPS_HIGH, DISK_MEDIUM, DISK_HIGH, PLAYERS_MAX, PLAYERS_ONLINE, PLAYERS_TOTAL, diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/Request.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/Request.java index 036c3303f..2d8b22eaa 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/Request.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/Request.java @@ -34,7 +34,7 @@ import java.util.Optional; public class Request { private final String requestMethod; - private URI requestURI; + private final URI requestURI; private final HttpExchange exchange; private final String remoteAddress; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseHandler.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseHandler.java index 8486e3a53..f8ed276d0 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseHandler.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseHandler.java @@ -23,7 +23,10 @@ import com.djrapitops.plan.delivery.webserver.response.Response; import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; import com.djrapitops.plan.delivery.webserver.response.errors.BadRequestResponse; import com.djrapitops.plan.exceptions.WebUserAuthException; -import com.djrapitops.plan.exceptions.connection.*; +import com.djrapitops.plan.exceptions.connection.BadRequestException; +import com.djrapitops.plan.exceptions.connection.ForbiddenException; +import com.djrapitops.plan.exceptions.connection.NotFoundException; +import com.djrapitops.plan.exceptions.connection.WebException; import com.djrapitops.plan.identification.ServerInfo; import com.djrapitops.plugin.logging.L; import com.djrapitops.plugin.logging.error.ErrorHandler; @@ -49,7 +52,7 @@ public class ResponseHandler extends TreePageHandler { private final ErrorHandler errorHandler; private final ServerInfo serverInfo; - private Lazy webServer; + private final Lazy webServer; @Inject public ResponseHandler( @@ -100,12 +103,6 @@ public class ResponseHandler extends TreePageHandler { return responseFactory.forbidden403(e.getMessage()); } catch (BadRequestException e) { return new BadRequestResponse(e.getMessage() + " (when requesting '" + request.getTargetString() + "')"); - } catch (InternalErrorException e) { - if (e.getCause() != null) { - return responseFactory.internalErrorResponse(e.getCause(), request.getTargetString()); - } else { - return responseFactory.internalErrorResponse(e, request.getTargetString()); - } } catch (Exception e) { errorHandler.log(L.ERROR, this.getClass(), e); return responseFactory.internalErrorResponse(e, request.getTargetString()); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/WebServerSystem.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/WebServerSystem.java index 94e68b46d..06fc83344 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/WebServerSystem.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/WebServerSystem.java @@ -18,7 +18,6 @@ package com.djrapitops.plan.delivery.webserver; import com.djrapitops.plan.SubSystem; import com.djrapitops.plan.delivery.webserver.cache.JSONCache; -import com.djrapitops.plan.exceptions.EnableException; import javax.inject.Inject; import javax.inject.Singleton; @@ -41,7 +40,7 @@ public class WebServerSystem implements SubSystem { } @Override - public void enable() throws EnableException { + public void enable() { webServer.enable(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/cache/PageId.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/cache/PageId.java deleted file mode 100644 index d111396cb..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/cache/PageId.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.cache; - -import java.util.UUID; - -/** - * Enum class for "magic" ResponseCache identifier values. - * - * @author Rsl1122 - */ -public enum PageId { - - SERVER("serverPage:"), - PLAYER("playerPage:"), - RAW_PLAYER("rawPlayer:"), - PLAYERS("playersPage"), - - ERROR("error:"), - FORBIDDEN(ERROR.of("Forbidden")), - NOT_FOUND(ERROR.of("Not Found")), - - JS("js:"), - CSS("css:"), - - FAVICON("Favicon"); - - private final String id; - - PageId(String id) { - this.id = id; - } - - public String of(String additionalInfo) { - return id + additionalInfo; - } - - public String of(UUID uuid) { - return of(uuid.toString()); - } - - public String id() { - return id; - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/TreePageHandler.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/TreePageHandler.java index 36f1730cc..380673286 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/TreePageHandler.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/TreePageHandler.java @@ -36,7 +36,7 @@ public abstract class TreePageHandler implements PageHandler { protected final ResponseFactory responseFactory; - private Map pages; + private final Map pages; public TreePageHandler(ResponseFactory responseFactory) { this.responseFactory = responseFactory; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkJSONHandler.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkJSONHandler.java index 1b0c313f0..8fc5346f5 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkJSONHandler.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/NetworkJSONHandler.java @@ -26,7 +26,6 @@ import com.djrapitops.plan.delivery.webserver.auth.Authentication; import com.djrapitops.plan.delivery.webserver.cache.DataID; import com.djrapitops.plan.delivery.webserver.pages.TreePageHandler; import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; -import com.djrapitops.plan.exceptions.WebUserAuthException; import javax.inject.Inject; import javax.inject.Singleton; @@ -61,7 +60,7 @@ public class NetworkJSONHandler extends TreePageHandler { } @Override - public boolean isAuthorized(Authentication auth, RequestTarget target) throws WebUserAuthException { + public boolean isAuthorized(Authentication auth, RequestTarget target) { return true; } } \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/RootJSONHandler.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/RootJSONHandler.java index e3b750711..b18f79d22 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/RootJSONHandler.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/json/RootJSONHandler.java @@ -22,7 +22,6 @@ import com.djrapitops.plan.delivery.webserver.auth.Authentication; import com.djrapitops.plan.delivery.webserver.cache.DataID; import com.djrapitops.plan.delivery.webserver.pages.TreePageHandler; import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; -import com.djrapitops.plan.exceptions.WebUserAuthException; import com.djrapitops.plan.identification.Identifiers; import javax.inject.Inject; @@ -36,7 +35,7 @@ import javax.inject.Singleton; @Singleton public class RootJSONHandler extends TreePageHandler { - private Identifiers identifiers; + private final Identifiers identifiers; @Inject public RootJSONHandler( @@ -83,7 +82,7 @@ public class RootJSONHandler extends TreePageHandler { } @Override - public boolean isAuthorized(Authentication auth, RequestTarget target) throws WebUserAuthException { + public boolean isAuthorized(Authentication auth, RequestTarget target) { return true; } } \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/DefaultResponses.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/DefaultResponses.java deleted file mode 100644 index 7e4d7a0fd..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/DefaultResponses.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -/** - * Enum containing default responses that don't need to be cached because they're always the same. - * - * @author Rsl1122 - */ -public enum DefaultResponses { - SUCCESS(new TextResponse("Success")); - - private final Response response; - - DefaultResponses(Response response) { - this.response = response; - } - - public Response get() { - return response; - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java index 3a7791ff4..ea3a9d561 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/RedirectResponse.java @@ -27,7 +27,7 @@ import java.io.IOException; */ public class RedirectResponse extends Response { - private String direct; + private final String direct; public RedirectResponse(String direct) { super.setHeader("HTTP/1.1 302 Found"); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseCode.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseCode.java deleted file mode 100644 index 11b7cad9e..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseCode.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.delivery.webserver.response; - -/** - * Enum for HTTP response codes. - * - * @author Rsl1122 - */ -public enum ResponseCode { - NONE(0), - CONNECTION_REFUSED(-1), - SUCCESS(200), - BAD_REQUEST(400), - UNAUTHORIZED(401), - FORBIDDEN(403), - NOT_FOUND(404), - PRECONDITION_FAILED(412), - INTERNAL_ERROR(500), - GATEWAY_ERROR(504); - - private final int code; - - ResponseCode(int code) { - this.code = code; - } - - public int getCode() { - return code; - } -} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java index 8832bb3c5..1ecf328d9 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java @@ -160,10 +160,6 @@ public class ResponseFactory { return notFound404(locale.getString(ErrorPageLang.NOT_PLAYED_404)); } - public ErrorResponse serverNotFound404() { - return notFound404(locale.getString(ErrorPageLang.NO_SERVERS_404)); - } - public ErrorResponse notFound404(String message) { try { return new NotFoundResponse(message, versionCheckSystem, files); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/BadRequestException.java b/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/BadRequestException.java index 9597994b3..eb054378c 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/BadRequestException.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/BadRequestException.java @@ -16,8 +16,6 @@ */ package com.djrapitops.plan.exceptions.connection; -import com.djrapitops.plan.delivery.webserver.response.ResponseCode; - /** * Thrown when connection is returned 401 Bad Request. * @@ -26,6 +24,6 @@ import com.djrapitops.plan.delivery.webserver.response.ResponseCode; public class BadRequestException extends WebException { public BadRequestException(String message) { - super(message, ResponseCode.BAD_REQUEST); + super(message); } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/ForbiddenException.java b/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/ForbiddenException.java index bbb0f864d..1ca2d52be 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/ForbiddenException.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/ForbiddenException.java @@ -16,8 +16,6 @@ */ package com.djrapitops.plan.exceptions.connection; -import com.djrapitops.plan.delivery.webserver.response.ResponseCode; - /** * Thrown when Connection gets a 403 response. * @@ -25,6 +23,6 @@ import com.djrapitops.plan.delivery.webserver.response.ResponseCode; */ public class ForbiddenException extends WebException { public ForbiddenException(String url) { - super("Forbidden: " + url, ResponseCode.FORBIDDEN); + super("Forbidden: " + url); } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/InternalErrorException.java b/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/InternalErrorException.java deleted file mode 100644 index 02cc3e270..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/InternalErrorException.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.exceptions.connection; - -import com.djrapitops.plan.delivery.webserver.response.ResponseCode; - -/** - * Thrown when Connection returns 500. - * - * @author Rsl1122 - */ -public class InternalErrorException extends WebException { - public InternalErrorException() { - super("Internal Error occurred on receiving server", ResponseCode.INTERNAL_ERROR); - } - - public InternalErrorException(String message, Throwable cause) { - super(message, cause, ResponseCode.INTERNAL_ERROR); - } -} diff --git a/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/NotFoundException.java b/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/NotFoundException.java index 1f0837df5..c4ef335d5 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/NotFoundException.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/NotFoundException.java @@ -16,8 +16,6 @@ */ package com.djrapitops.plan.exceptions.connection; -import com.djrapitops.plan.delivery.webserver.response.ResponseCode; - /** * Thrown when Connection returns 404, when page is not found. * @@ -25,6 +23,6 @@ import com.djrapitops.plan.delivery.webserver.response.ResponseCode; */ public class NotFoundException extends WebException { public NotFoundException(String message) { - super(message, ResponseCode.NOT_FOUND); + super(message); } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/WebException.java b/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/WebException.java index 4103ebd96..938e7a175 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/WebException.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/exceptions/connection/WebException.java @@ -16,8 +16,6 @@ */ package com.djrapitops.plan.exceptions.connection; -import com.djrapitops.plan.delivery.webserver.response.ResponseCode; - /** * Thrown when Connection POST-request fails, general Exception. * @@ -25,47 +23,18 @@ import com.djrapitops.plan.delivery.webserver.response.ResponseCode; */ public class WebException extends Exception { - private final ResponseCode responseCode; - public WebException() { - responseCode = ResponseCode.NONE; } public WebException(String message) { super(message); - responseCode = ResponseCode.NONE; } public WebException(String message, Throwable cause) { super(message, cause); - responseCode = ResponseCode.NONE; } public WebException(Throwable cause) { super(cause); - responseCode = ResponseCode.NONE; - } - - public WebException(ResponseCode responseCode) { - this.responseCode = responseCode; - } - - public WebException(String message, ResponseCode responseCode) { - super(message); - this.responseCode = responseCode; - } - - public WebException(String message, Throwable cause, ResponseCode responseCode) { - super(message, cause); - this.responseCode = responseCode; - } - - public WebException(Throwable cause, ResponseCode responseCode) { - super(cause); - this.responseCode = responseCode; - } - - public ResponseCode getResponseCode() { - return responseCode; } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/ExtensionServiceImplementation.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/ExtensionServiceImplementation.java index d7ae99ce0..9351e1153 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/ExtensionServiceImplementation.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/ExtensionServiceImplementation.java @@ -148,12 +148,9 @@ public class ExtensionServiceImplementation implements ExtensionService { } public void updatePlayerValues(ProviderValueGatherer gatherer, UUID playerUUID, String playerName, CallEvents event) { - if (!gatherer.canCallEvent(event)) { - return; - } - if (playerUUID == null && playerName == null) { - return; - } + if (!gatherer.canCallEvent(event)) return; + if (playerUUID == null && playerName == null) return; + try { logger.getDebugLogger().logOn(DebugChannels.DATA_EXTENSIONS, "Gathering values for: " + playerName); @@ -193,9 +190,8 @@ public class ExtensionServiceImplementation implements ExtensionService { } public void updateServerValues(ProviderValueGatherer gatherer, CallEvents event) { - if (!gatherer.canCallEvent(event)) { - return; - } + if (!gatherer.canCallEvent(event)) return; + try { logger.getDebugLogger().logOn(DebugChannels.DATA_EXTENSIONS, "Gathering values for server"); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/DataProviderExtractor.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/DataProviderExtractor.java index dd3adca44..0e47cc202 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/DataProviderExtractor.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/DataProviderExtractor.java @@ -42,8 +42,8 @@ import java.util.stream.Collectors; */ public class DataProviderExtractor { - private ExtensionExtractor extensionExtractor; - private DataProviders dataProviders; + private final ExtensionExtractor extensionExtractor; + private final DataProviders dataProviders; /** * Create a DataProviderExtractor. diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/TabInformation.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/TabInformation.java index 222ce3038..8f356eea9 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/TabInformation.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/TabInformation.java @@ -37,7 +37,7 @@ public class TabInformation { private final String tabName; private final Icon icon; // can be null private ElementOrder[] elementOrder; // can be null / miss values - private int tabPriority; + private final int tabPriority; public TabInformation(String tabName, Icon icon, ElementOrder[] elementOrder, int tabPriority) { this.tabName = tabName; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/DataProviders.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/DataProviders.java index b2343bdb3..aa51019c8 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/DataProviders.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/DataProviders.java @@ -28,7 +28,7 @@ import java.util.stream.Collectors; */ public class DataProviders { - private Map>> byMethodType; + private final Map>> byMethodType; public DataProviders() { byMethodType = new EnumMap<>(MethodType.class); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/MethodWrapper.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/MethodWrapper.java index 0636f98c8..2523bcab6 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/MethodWrapper.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/MethodWrapper.java @@ -35,7 +35,7 @@ public class MethodWrapper { private final Method method; private final Class resultType; - private MethodType methodType; + private final MethodType methodType; public MethodWrapper(Method method, Class resultType) { this.method = method; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/gathering/ProviderValueGatherer.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/gathering/ProviderValueGatherer.java index 693617db0..e4faea5a6 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/gathering/ProviderValueGatherer.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/gathering/ProviderValueGatherer.java @@ -45,13 +45,13 @@ public class ProviderValueGatherer { private final DBSystem dbSystem; private final ServerInfo serverInfo; - private DataProviders dataProviders; - private BooleanProviderValueGatherer booleanGatherer; - private NumberProviderValueGatherer numberGatherer; - private DoubleAndPercentageProviderValueGatherer doubleAndPercentageGatherer; - private StringProviderValueGatherer stringGatherer; - private TableProviderValueGatherer tableGatherer; - private GroupProviderValueGatherer groupGatherer; + private final DataProviders dataProviders; + private final BooleanProviderValueGatherer booleanGatherer; + private final NumberProviderValueGatherer numberGatherer; + private final DoubleAndPercentageProviderValueGatherer doubleAndPercentageGatherer; + private final StringProviderValueGatherer stringGatherer; + private final TableProviderValueGatherer tableGatherer; + private final GroupProviderValueGatherer groupGatherer; public ProviderValueGatherer( diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionBooleanData.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionBooleanData.java index 4bcd50e83..4f5158575 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionBooleanData.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionBooleanData.java @@ -23,8 +23,8 @@ package com.djrapitops.plan.extension.implementation.results; */ public class ExtensionBooleanData implements DescribedExtensionData { - private ExtensionDescriptive descriptive; - private boolean value; + private final ExtensionDescriptive descriptive; + private final boolean value; public ExtensionBooleanData(ExtensionDescriptive descriptive, boolean value) { this.descriptive = descriptive; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionData.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionData.java index 50468b3ec..2fce7ee78 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionData.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionData.java @@ -29,7 +29,7 @@ public class ExtensionData implements Comparable { private ExtensionInformation extensionInformation; - private Map tabs; + private final Map tabs; private ExtensionData(int pluginID) { this.pluginID = pluginID; @@ -84,15 +84,15 @@ public class ExtensionData implements Comparable { return Objects.hash(pluginID, extensionInformation, tabs); } - public static class Factory { + public static class Builder { private final ExtensionData data; - public Factory(int pluginId) { + public Builder(int pluginId) { data = new ExtensionData(pluginId); } - public Factory combine(Factory with) { + public Builder combine(Builder with) { if (with != null) { for (ExtensionTabData tab : with.build().getTabs()) { Optional found = getTab(tab.getTabInformation().getTabName()); @@ -106,7 +106,7 @@ public class ExtensionData implements Comparable { return this; } - public Factory setInformation(ExtensionInformation information) { + public Builder setInformation(ExtensionInformation information) { if (information.getId() != data.pluginID) { throw new IllegalArgumentException("ID mismatch, wanted id: " + data.pluginID + " but got " + information); } @@ -114,7 +114,7 @@ public class ExtensionData implements Comparable { return this; } - public Factory addTab(ExtensionTabData tab) { + public Builder addTab(ExtensionTabData tab) { data.tabs.put(tab.getTabInformation().getTabName(), tab); return this; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionDoubleData.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionDoubleData.java index 7a8ded63c..02fd01579 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionDoubleData.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionDoubleData.java @@ -25,8 +25,8 @@ import com.djrapitops.plan.delivery.formatting.Formatter; */ public class ExtensionDoubleData implements DescribedExtensionData { - private ExtensionDescriptive descriptive; - private double value; + private final ExtensionDescriptive descriptive; + private final double value; public ExtensionDoubleData(ExtensionDescriptive descriptive, double value) { this.descriptive = descriptive; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionTabData.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionTabData.java index 5a3e3c534..2b7020b38 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionTabData.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionTabData.java @@ -37,9 +37,9 @@ public class ExtensionTabData implements Comparable { private final Map stringData; private final List tableData; + private final List descriptives; private List order; - private List descriptives; // Table and Graph data will be added later. @@ -143,47 +143,47 @@ public class ExtensionTabData implements Comparable { .collect(Collectors.toList()); } - public static class Factory { + public static class Builder { private final ExtensionTabData data; - public Factory(TabInformation tabInformation) { + public Builder(TabInformation tabInformation) { data = new ExtensionTabData(tabInformation); } - public Factory putBooleanData(ExtensionBooleanData extensionBooleanData) { + public Builder putBooleanData(ExtensionBooleanData extensionBooleanData) { data.booleanData.put(extensionBooleanData.getDescriptive().getName(), extensionBooleanData); return this; } - public Factory putDoubleData(ExtensionDoubleData extensionDoubleData) { + public Builder putDoubleData(ExtensionDoubleData extensionDoubleData) { data.doubleData.put(extensionDoubleData.getDescriptive().getName(), extensionDoubleData); return this; } - public Factory putPercentageData(ExtensionDoubleData extensionDoubleData) { + public Builder putPercentageData(ExtensionDoubleData extensionDoubleData) { data.percentageData.put(extensionDoubleData.getDescriptive().getName(), extensionDoubleData); return this; } - public Factory putNumberData(ExtensionNumberData extensionNumberData) { + public Builder putNumberData(ExtensionNumberData extensionNumberData) { data.numberData.put(extensionNumberData.getDescriptive().getName(), extensionNumberData); return this; } - public Factory putStringData(ExtensionStringData extensionStringData) { + public Builder putStringData(ExtensionStringData extensionStringData) { data.stringData.put(extensionStringData.getDescriptive().getName(), extensionStringData); return this; } - public Factory putGroupData(ExtensionStringData extensionStringData) { + public Builder putGroupData(ExtensionStringData extensionStringData) { String name = extensionStringData.getDescriptive().getName(); ExtensionStringData previous = data.stringData.get(name); data.stringData.put(name, previous != null ? previous.concatenate(extensionStringData) : extensionStringData); return this; } - public Factory putTableData(ExtensionTableData extensionTableData) { + public Builder putTableData(ExtensionTableData extensionTableData) { data.tableData.add(extensionTableData); return this; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionAggregateBooleansQuery.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionAggregateBooleansQuery.java index ffd0fae54..bfebcf62f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionAggregateBooleansQuery.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionAggregateBooleansQuery.java @@ -54,7 +54,7 @@ import static com.djrapitops.plan.storage.database.sql.parsing.Sql.*; * * @author Rsl1122 */ -public class ExtensionAggregateBooleansQuery implements Query> { +public class ExtensionAggregateBooleansQuery implements Query> { private final UUID serverUUID; @@ -63,7 +63,7 @@ public class ExtensionAggregateBooleansQuery implements Query executeQuery(SQLDB db) { + public Map executeQuery(SQLDB db) { String selectTrueBooleans = SELECT + ExtensionPlayerValueTable.PROVIDER_ID + ",COUNT(1) as positive" + @@ -106,7 +106,7 @@ public class ExtensionAggregateBooleansQuery implements Query>(sql, 1000) { + return db.query(new QueryStatement>(sql, 1000) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setBoolean(1, true); // selectTrueBooleans parameter @@ -115,7 +115,7 @@ public class ExtensionAggregateBooleansQuery implements Query processResults(ResultSet set) throws SQLException { + public Map processResults(ResultSet set) throws SQLException { return extractTabDataByPluginID(set).toExtensionDataByPluginID(); } }); @@ -127,7 +127,7 @@ public class ExtensionAggregateBooleansQuery implements Query extractTabInformation(tabName, set)); + ExtensionTabData.Builder extensionTab = tabData.getTab(pluginID, tabName, () -> extractTabInformation(tabName, set)); ExtensionDescriptive extensionDescriptive = extractDescriptive(set); extractAndPutDataTo(extensionTab, extensionDescriptive, set); @@ -152,7 +152,7 @@ public class ExtensionAggregateBooleansQuery implements Query> { +public class ExtensionAggregateDoublesQuery implements Query> { private final UUID serverUUID; @@ -63,7 +63,7 @@ public class ExtensionAggregateDoublesQuery implements Query executeQuery(SQLDB db) { + public Map executeQuery(SQLDB db) { String selectDoubleAverage = SELECT + ExtensionPlayerValueTable.PROVIDER_ID + ",AVG(" + ExtensionPlayerValueTable.DOUBLE_VALUE + ") as average" + @@ -106,7 +106,7 @@ public class ExtensionAggregateDoublesQuery implements Query>(sql, 1000) { + return db.query(new QueryStatement>(sql, 1000) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, serverUUID.toString()); @@ -114,7 +114,7 @@ public class ExtensionAggregateDoublesQuery implements Query processResults(ResultSet set) throws SQLException { + public Map processResults(ResultSet set) throws SQLException { return extractTabDataByPluginID(set).toExtensionDataByPluginID(); } }); @@ -126,7 +126,7 @@ public class ExtensionAggregateDoublesQuery implements Query extractTabInformation(tabName, set)); + ExtensionTabData.Builder extensionTab = tabData.getTab(pluginID, tabName, () -> extractTabInformation(tabName, set)); ExtensionDescriptive extensionDescriptive = extractDescriptive(set); extractAndPutDataTo(extensionTab, extensionDescriptive, set); @@ -151,7 +151,7 @@ public class ExtensionAggregateDoublesQuery implements Query> { +public class ExtensionAggregateGroupsQuery implements Query> { private final UUID serverUUID; @@ -53,7 +53,7 @@ public class ExtensionAggregateGroupsQuery implements Query executeQuery(SQLDB db) { + public Map executeQuery(SQLDB db) { String selectGroupCounts = SELECT + ExtensionGroupsTable.PROVIDER_ID + ',' + ExtensionGroupsTable.GROUP_NAME + ',' + @@ -87,7 +87,7 @@ public class ExtensionAggregateGroupsQuery implements Query>(sql, 1000) { + return db.query(new QueryStatement>(sql, 1000) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, serverUUID.toString()); @@ -95,7 +95,7 @@ public class ExtensionAggregateGroupsQuery implements Query processResults(ResultSet set) throws SQLException { + public Map processResults(ResultSet set) throws SQLException { return extractTables(set).toQueriedTabs().toExtensionDataByPluginID(); } }); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionAggregateNumbersQuery.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionAggregateNumbersQuery.java index 03cc456ba..135eb51bf 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionAggregateNumbersQuery.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionAggregateNumbersQuery.java @@ -55,7 +55,7 @@ import static com.djrapitops.plan.storage.database.sql.parsing.Sql.*; * * @author Rsl1122 */ -public class ExtensionAggregateNumbersQuery implements Query> { +public class ExtensionAggregateNumbersQuery implements Query> { private final UUID serverUUID; @@ -64,7 +64,7 @@ public class ExtensionAggregateNumbersQuery implements Query executeQuery(SQLDB db) { + public Map executeQuery(SQLDB db) { String selectNumberAverage = SELECT + ExtensionPlayerValueTable.PROVIDER_ID + ",AVG(" + ExtensionPlayerValueTable.LONG_VALUE + ") as average" + @@ -110,7 +110,7 @@ public class ExtensionAggregateNumbersQuery implements Query>(sql, 1000) { + return db.query(new QueryStatement>(sql, 1000) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, serverUUID.toString()); @@ -120,7 +120,7 @@ public class ExtensionAggregateNumbersQuery implements Query processResults(ResultSet set) throws SQLException { + public Map processResults(ResultSet set) throws SQLException { return extractTabDataByPluginID(set).toExtensionDataByPluginID(); } }); @@ -132,7 +132,7 @@ public class ExtensionAggregateNumbersQuery implements Query extractTabInformation(tabName, set)); + ExtensionTabData.Builder extensionTab = tabData.getTab(pluginID, tabName, () -> extractTabInformation(tabName, set)); ExtensionDescriptive extensionDescriptive = extractDescriptive(set); extractAndPutDataTo(extensionTab, extensionDescriptive, set); @@ -157,7 +157,7 @@ public class ExtensionAggregateNumbersQuery implements Query> { +public class ExtensionAggregatePercentagesQuery implements Query> { private final UUID serverUUID; @@ -63,7 +63,7 @@ public class ExtensionAggregatePercentagesQuery implements Query executeQuery(SQLDB db) { + public Map executeQuery(SQLDB db) { String selectPercentageAverage = SELECT + ExtensionPlayerValueTable.PROVIDER_ID + ",AVG(" + ExtensionPlayerValueTable.PERCENTAGE_VALUE + ") as average" + @@ -97,7 +97,7 @@ public class ExtensionAggregatePercentagesQuery implements Query>(sql, 1000) { + return db.query(new QueryStatement>(sql, 1000) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, serverUUID.toString()); @@ -105,7 +105,7 @@ public class ExtensionAggregatePercentagesQuery implements Query processResults(ResultSet set) throws SQLException { + public Map processResults(ResultSet set) throws SQLException { return extractTabDataByPluginID(set).toExtensionDataByPluginID(); } }); @@ -117,7 +117,7 @@ public class ExtensionAggregatePercentagesQuery implements Query extractTabInformation(tabName, set)); + ExtensionTabData.Builder extensionTab = tabData.getTab(pluginID, tabName, () -> extractTabInformation(tabName, set)); ExtensionDescriptive extensionDescriptive = extractDescriptive(set); extractAndPutDataTo(extensionTab, extensionDescriptive, set); @@ -142,7 +142,7 @@ public class ExtensionAggregatePercentagesQuery implements Query> executeQuery(SQLDB db) { Map> extensionsByServerUUID = db.query(ExtensionInformationQueries.allExtensions()); - Map extensionDataByPluginID = db.query(fetchIncompletePlayerDataByPluginID()); + Map extensionDataByPluginID = db.query(fetchIncompletePlayerDataByPluginID()); combine(extensionDataByPluginID, db.query(new ExtensionPlayerTablesQuery(playerUUID))); combine(extensionDataByPluginID, db.query(new ExtensionPlayerGroupsQuery(playerUUID))); @@ -74,14 +74,14 @@ public class ExtensionPlayerDataQuery implements Query extensionDataByPluginID, - Map aggregates + Map extensionDataByPluginID, + Map aggregates ) { - for (Map.Entry entry : aggregates.entrySet()) { + for (Map.Entry entry : aggregates.entrySet()) { Integer pluginID = entry.getKey(); - ExtensionData.Factory data = entry.getValue(); + ExtensionData.Builder data = entry.getValue(); - ExtensionData.Factory found = extensionDataByPluginID.get(pluginID); + ExtensionData.Builder found = extensionDataByPluginID.get(pluginID); if (found == null) { extensionDataByPluginID.put(pluginID, data); } else { @@ -90,13 +90,13 @@ public class ExtensionPlayerDataQuery implements Query> flatMapByServerUUID(Map> extensionsByServerUUID, Map extensionDataByPluginID) { + private Map> flatMapByServerUUID(Map> extensionsByServerUUID, Map extensionDataByPluginID) { Map> extensionDataByServerUUID = new HashMap<>(); for (Map.Entry> entry : extensionsByServerUUID.entrySet()) { UUID serverUUID = entry.getKey(); for (ExtensionInformation extensionInformation : entry.getValue()) { - ExtensionData.Factory data = extensionDataByPluginID.get(extensionInformation.getId()); + ExtensionData.Builder data = extensionDataByPluginID.get(extensionInformation.getId()); if (data == null) { continue; } @@ -108,7 +108,7 @@ public class ExtensionPlayerDataQuery implements Query> fetchIncompletePlayerDataByPluginID() { + private Query> fetchIncompletePlayerDataByPluginID() { String sql = SELECT + "v1." + ExtensionPlayerValueTable.BOOLEAN_VALUE + " as boolean_value," + "v1." + ExtensionPlayerValueTable.DOUBLE_VALUE + " as double_value," + @@ -139,7 +139,7 @@ public class ExtensionPlayerDataQuery implements Query>(sql, 1000) { + return new QueryStatement>(sql, 1000) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, playerUUID.toString()); @@ -147,7 +147,7 @@ public class ExtensionPlayerDataQuery implements Query processResults(ResultSet set) throws SQLException { + public Map processResults(ResultSet set) throws SQLException { return extractTabDataByPluginID(set).toExtensionDataByPluginID(); } }; @@ -159,7 +159,7 @@ public class ExtensionPlayerDataQuery implements Query extractTabInformation(tabName, set)); + ExtensionTabData.Builder extensionTab = tabData.getTab(pluginID, tabName, () -> extractTabInformation(tabName, set)); ExtensionDescriptive extensionDescriptive = extractDescriptive(set); extractAndPutDataTo(extensionTab, extensionDescriptive, set); @@ -184,7 +184,7 @@ public class ExtensionPlayerDataQuery implements Query> { +public class ExtensionPlayerGroupsQuery implements Query> { private final UUID playerUUID; @@ -58,11 +58,11 @@ public class ExtensionPlayerGroupsQuery implements Query executeQuery(SQLDB db) { + public Map executeQuery(SQLDB db) { return db.query(fetchGroupsByPluginID()); } - private Query> fetchGroupsByPluginID() { + private Query> fetchGroupsByPluginID() { String sql = SELECT + "v1." + ExtensionGroupsTable.GROUP_NAME + " as group_name," + "p1." + ExtensionProviderTable.PLUGIN_ID + " as plugin_id," + @@ -86,7 +86,7 @@ public class ExtensionPlayerGroupsQuery implements Query>(sql, 1000) { + return new QueryStatement>(sql, 1000) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, playerUUID.toString()); @@ -94,7 +94,7 @@ public class ExtensionPlayerGroupsQuery implements Query processResults(ResultSet set) throws SQLException { + public Map processResults(ResultSet set) throws SQLException { return extractTabDataByPluginID(set).toExtensionDataByPluginID(); } }; @@ -106,7 +106,7 @@ public class ExtensionPlayerGroupsQuery implements Query extractTabInformation(tabName, set)); + ExtensionTabData.Builder extensionTab = tabData.getTab(pluginID, tabName, () -> extractTabInformation(tabName, set)); ExtensionDescriptive extensionDescriptive = extractDescriptive(set); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionPlayerTablesQuery.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionPlayerTablesQuery.java index 3a96dce92..f36c0667f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionPlayerTablesQuery.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionPlayerTablesQuery.java @@ -54,7 +54,7 @@ import static com.djrapitops.plan.storage.database.sql.parsing.Sql.*; * * @author Rsl1122 */ -public class ExtensionPlayerTablesQuery implements Query> { +public class ExtensionPlayerTablesQuery implements Query> { private final UUID playerUUID; @@ -63,7 +63,7 @@ public class ExtensionPlayerTablesQuery implements Query executeQuery(SQLDB db) { + public Map executeQuery(SQLDB db) { QueriedTables tablesWithValues = db.query(placeValuesToTables(db.query(queryTableProviders()))); return tablesWithValues.toQueriedTabs().toExtensionDataByPluginID(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerDataQuery.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerDataQuery.java index 39756bae8..28abb699f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerDataQuery.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerDataQuery.java @@ -63,7 +63,7 @@ public class ExtensionServerDataQuery implements Query> { @Override public List executeQuery(SQLDB db) { List extensionsOfServer = db.query(ExtensionInformationQueries.extensionsOfServer(serverUUID)); - Map extensionDataByPluginID = db.query(fetchIncompleteServerDataByPluginID()); + Map extensionDataByPluginID = db.query(fetchIncompleteServerDataByPluginID()); combine(extensionDataByPluginID, db.query(new ExtensionAggregateBooleansQuery(serverUUID))); combine(extensionDataByPluginID, db.query(new ExtensionAggregateDoublesQuery(serverUUID))); @@ -76,14 +76,14 @@ public class ExtensionServerDataQuery implements Query> { } private void combine( - Map extensionDataByPluginID, - Map aggregates + Map extensionDataByPluginID, + Map aggregates ) { - for (Map.Entry entry : aggregates.entrySet()) { + for (Map.Entry entry : aggregates.entrySet()) { Integer pluginID = entry.getKey(); - ExtensionData.Factory data = entry.getValue(); + ExtensionData.Builder data = entry.getValue(); - ExtensionData.Factory found = extensionDataByPluginID.get(pluginID); + ExtensionData.Builder found = extensionDataByPluginID.get(pluginID); if (found == null) { extensionDataByPluginID.put(pluginID, data); } else { @@ -94,12 +94,12 @@ public class ExtensionServerDataQuery implements Query> { private List combineWithExtensionInfo( List extensionsOfServer, - Map extensionDataByPluginID + Map extensionDataByPluginID ) { List extensionData = new ArrayList<>(); for (ExtensionInformation extensionInformation : extensionsOfServer) { - ExtensionData.Factory data = extensionDataByPluginID.get(extensionInformation.getId()); + ExtensionData.Builder data = extensionDataByPluginID.get(extensionInformation.getId()); if (data == null) { continue; } @@ -108,7 +108,7 @@ public class ExtensionServerDataQuery implements Query> { return extensionData; } - private Query> fetchIncompleteServerDataByPluginID() { + private Query> fetchIncompleteServerDataByPluginID() { String sql = SELECT + "v1." + ExtensionServerValueTable.BOOLEAN_VALUE + " as boolean_value," + "v1." + ExtensionServerValueTable.DOUBLE_VALUE + " as double_value," + @@ -140,7 +140,7 @@ public class ExtensionServerDataQuery implements Query> { WHERE + ExtensionPluginTable.SERVER_UUID + "=?" + AND + "p1." + ExtensionProviderTable.HIDDEN + "=?"; - return new QueryStatement>(sql, 1000) { + return new QueryStatement>(sql, 1000) { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, serverUUID.toString()); @@ -148,7 +148,7 @@ public class ExtensionServerDataQuery implements Query> { } @Override - public Map processResults(ResultSet set) throws SQLException { + public Map processResults(ResultSet set) throws SQLException { return extractTabDataByPluginID(set).toExtensionDataByPluginID(); } }; @@ -160,7 +160,7 @@ public class ExtensionServerDataQuery implements Query> { while (set.next()) { int pluginID = set.getInt("plugin_id"); String tabName = Optional.ofNullable(set.getString("tab_name")).orElse(""); - ExtensionTabData.Factory extensionTab = tabData.getTab(pluginID, tabName, () -> extractTabInformation(tabName, set)); + ExtensionTabData.Builder extensionTab = tabData.getTab(pluginID, tabName, () -> extractTabInformation(tabName, set)); ExtensionDescriptive extensionDescriptive = extractDescriptive(set); extractAndPutDataTo(extensionTab, extensionDescriptive, set); @@ -185,7 +185,7 @@ public class ExtensionServerDataQuery implements Query> { ); } - private void extractAndPutDataTo(ExtensionTabData.Factory extensionTab, ExtensionDescriptive descriptive, ResultSet set) throws SQLException { + private void extractAndPutDataTo(ExtensionTabData.Builder extensionTab, ExtensionDescriptive descriptive, ResultSet set) throws SQLException { boolean booleanValue = set.getBoolean(ExtensionServerValueTable.BOOLEAN_VALUE); if (!set.wasNull()) { extensionTab.putBooleanData(new ExtensionBooleanData(descriptive, booleanValue)); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerPlayerDataTableQuery.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerPlayerDataTableQuery.java index 9e43eb366..67da7a178 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerPlayerDataTableQuery.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerPlayerDataTableQuery.java @@ -157,11 +157,11 @@ public class ExtensionServerPlayerDataTableQuery implements Query extractDataByPlayer(ResultSet set) throws SQLException { - Map dataByPlayer = new HashMap<>(); + Map dataByPlayer = new HashMap<>(); while (set.next()) { UUID playerUUID = UUID.fromString(set.getString("uuid")); - ExtensionTabData.Factory data = dataByPlayer.getOrDefault(playerUUID, new ExtensionTabData.Factory(null)); + ExtensionTabData.Builder data = dataByPlayer.getOrDefault(playerUUID, new ExtensionTabData.Builder(null)); ExtensionDescriptive extensionDescriptive = extractDescriptive(set); extractAndPutDataTo(data, extensionDescriptive, set); @@ -171,7 +171,7 @@ public class ExtensionServerPlayerDataTableQuery implements Query entry.getValue().build())); } - private void extractAndPutDataTo(ExtensionTabData.Factory extensionTab, ExtensionDescriptive descriptive, ResultSet set) throws SQLException { + private void extractAndPutDataTo(ExtensionTabData.Builder extensionTab, ExtensionDescriptive descriptive, ResultSet set) throws SQLException { String groupValue = set.getString("group_value"); if (groupValue != null) { extensionTab.putGroupData(new ExtensionStringData(descriptive, false, groupValue)); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerTablesQuery.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerTablesQuery.java index 42ec00d2d..63b2a7ccb 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerTablesQuery.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerTablesQuery.java @@ -51,7 +51,7 @@ import static com.djrapitops.plan.storage.database.sql.parsing.Sql.*; * * @author Rsl1122 */ -public class ExtensionServerTablesQuery implements Query> { +public class ExtensionServerTablesQuery implements Query> { private final UUID serverUUID; @@ -60,7 +60,7 @@ public class ExtensionServerTablesQuery implements Query executeQuery(SQLDB db) { + public Map executeQuery(SQLDB db) { QueriedTables tablesWithValues = db.query(queryTableValues(db.query(queryTableProviders()))); return tablesWithValues.toQueriedTabs().toExtensionDataByPluginID(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/QueriedTabData.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/QueriedTabData.java index d0be34828..318937f3f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/QueriedTabData.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/QueriedTabData.java @@ -31,18 +31,18 @@ import java.util.Map; */ public class QueriedTabData { - private final Map> byPluginID; + private final Map> byPluginID; public QueriedTabData() { byPluginID = new HashMap<>(); } - public ExtensionTabData.Factory getTab(int pluginID, String tabName, ThrowingSupplier newDefault) throws K { - Map byTabName = byPluginID.getOrDefault(pluginID, new HashMap<>()); + public ExtensionTabData.Builder getTab(int pluginID, String tabName, ThrowingSupplier newDefault) throws K { + Map byTabName = byPluginID.getOrDefault(pluginID, new HashMap<>()); - ExtensionTabData.Factory tab = byTabName.get(tabName); + ExtensionTabData.Builder tab = byTabName.get(tabName); if (tab == null) { - tab = new ExtensionTabData.Factory(newDefault.get()); + tab = new ExtensionTabData.Builder(newDefault.get()); } byTabName.put(tabName, tab); @@ -50,17 +50,17 @@ public class QueriedTabData { return tab; } - public Map toExtensionDataByPluginID() { - Map dataByPluginID = new HashMap<>(); - for (Map.Entry> entry : byPluginID.entrySet()) { + public Map toExtensionDataByPluginID() { + Map dataByPluginID = new HashMap<>(); + for (Map.Entry> entry : byPluginID.entrySet()) { Integer pluginID = entry.getKey(); - ExtensionData.Factory data = dataByPluginID.get(pluginID); + ExtensionData.Builder data = dataByPluginID.get(pluginID); if (data == null) { - data = new ExtensionData.Factory(pluginID); + data = new ExtensionData.Builder(pluginID); } - for (ExtensionTabData.Factory tabData : entry.getValue().values()) { + for (ExtensionTabData.Builder tabData : entry.getValue().values()) { data.addTab(tabData.build()); } dataByPluginID.put(pluginID, data); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/QueriedTables.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/QueriedTables.java index d2af0eb47..ddc9a628e 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/QueriedTables.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/QueriedTables.java @@ -79,7 +79,7 @@ public class QueriedTables { // Extra tab information String tabName = TableAccessor.getTabName(table); - ExtensionTabData.Factory tab = tabData.getTab(pluginID, tabName, () -> extractTabInformation(table)); + ExtensionTabData.Builder tab = tabData.getTab(pluginID, tabName, () -> extractTabInformation(table)); tab.putTableData(new ExtensionTableData( tableName, table.build(), tableColor )); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/transactions/providers/StoreGroupProviderTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/transactions/providers/StoreGroupProviderTransaction.java index 5c0b30889..0d67d43fa 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/transactions/providers/StoreGroupProviderTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/transactions/providers/StoreGroupProviderTransaction.java @@ -43,7 +43,7 @@ import static com.djrapitops.plan.storage.database.sql.tables.ExtensionProviderT public class StoreGroupProviderTransaction extends ThrowawayTransaction { private final UUID serverUUID; - private ProviderInformation providerInformation; + private final ProviderInformation providerInformation; public StoreGroupProviderTransaction(DataProvider provider, UUID serverUUID) { this.serverUUID = serverUUID; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/transactions/providers/StoreStringProviderTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/transactions/providers/StoreStringProviderTransaction.java index f0adfd30c..d80e2f301 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/transactions/providers/StoreStringProviderTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/transactions/providers/StoreStringProviderTransaction.java @@ -44,7 +44,7 @@ public class StoreStringProviderTransaction extends ThrowawayTransaction { private final boolean playerName; private final UUID serverUUID; - private ProviderInformation providerInformation; + private final ProviderInformation providerInformation; public StoreStringProviderTransaction(DataProvider provider, boolean playerName, UUID serverUUID) { this.playerName = playerName; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/GeolocationCache.java b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/GeolocationCache.java index e11ed515a..417aad962 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/GeolocationCache.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/GeolocationCache.java @@ -115,16 +115,6 @@ public class GeolocationCache implements SubSystem { return cache.get(ipAddress, this::getUnCachedCountry); } - /** - * Returns the cached country - * - * @param ipAddress The IP Address which is retrieved out of the cache - * @return The cached country, {@code null} if the country is not cached - */ - private String getCachedCountry(String ipAddress) { - return cache.getIfPresent(ipAddress); - } - /** * Retrieves the country in full length (e.g. United States) from the IP Address. *

diff --git a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/NicknameCache.java b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/NicknameCache.java index 7e3c9e585..4414f85fd 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/NicknameCache.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/gathering/cache/NicknameCache.java @@ -80,27 +80,27 @@ public class NicknameCache implements SubSystem { * @param uuid UUID of the player. * @return latest displayName or null if none are saved. */ - public String getDisplayName(UUID uuid) { + public Optional getDisplayName(UUID uuid) { String cached = displayNames.get(uuid); if (cached == null) { - cached = updateFromDatabase(uuid, cached); + Optional found = getFromDatabase(uuid); + if (found.isPresent()) { + displayNames.put(uuid, found.get()); + return found; + } } - return cached; + return Optional.empty(); } - private String updateFromDatabase(UUID uuid, String cached) { + private Optional getFromDatabase(UUID uuid) { try { - Optional latest = dbSystem.getDatabase().query( + return dbSystem.getDatabase().query( NicknameQueries.fetchLastSeenNicknameOfPlayer(uuid, serverInfo.getServerUUID()) - ); - if (latest.isPresent()) { - cached = latest.get().getName(); - displayNames.put(uuid, cached); - } + ).map(Nickname::getName); } catch (DBOpException e) { errorHandler.log(L.ERROR, this.getClass(), e); } - return cached; + return Optional.empty(); } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/gathering/domain/GeoInfo.java b/Plan/common/src/main/java/com/djrapitops/plan/gathering/domain/GeoInfo.java index b5ccb9951..d82b0af23 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/gathering/domain/GeoInfo.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/gathering/domain/GeoInfo.java @@ -17,7 +17,6 @@ package com.djrapitops.plan.gathering.domain; import com.djrapitops.plan.delivery.domain.DateHolder; -import com.djrapitops.plan.delivery.domain.DateMap; import java.io.Serializable; import java.util.Objects; @@ -29,29 +28,14 @@ import java.util.Objects; */ public class GeoInfo implements DateHolder, Serializable { - private final String ip; private final String geolocation; private final long date; public GeoInfo(String geolocation, long lastUsed) { - this.ip = "ip"; this.geolocation = geolocation; this.date = lastUsed; } - public static DateMap intoDateMap(Iterable geoInfo) { - DateMap map = new DateMap<>(); - for (GeoInfo info : geoInfo) { - map.put(info.date, info); - } - return map; - } - - @Deprecated - public String getIp() { - return ip; - } - public String getGeolocation() { return geolocation; } @@ -71,7 +55,7 @@ public class GeoInfo implements DateHolder, Serializable { @Override public int hashCode() { - return Objects.hash(ip, geolocation); + return Objects.hash(geolocation); } @Override diff --git a/Plan/common/src/main/java/com/djrapitops/plan/gathering/domain/UserInfo.java b/Plan/common/src/main/java/com/djrapitops/plan/gathering/domain/UserInfo.java index e98104666..6f9d61982 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/gathering/domain/UserInfo.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/gathering/domain/UserInfo.java @@ -31,9 +31,9 @@ public class UserInfo { private final UUID playerUUID; private final UUID serverUUID; - private long registered; - private boolean banned; - private boolean opped; + private final long registered; + private final boolean banned; + private final boolean opped; public UserInfo(UUID playerUUID, UUID serverUUID, long registered, boolean opped, boolean banned) { this.playerUUID = playerUUID; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/gathering/importing/ImportSystem.java b/Plan/common/src/main/java/com/djrapitops/plan/gathering/importing/ImportSystem.java index 97dbd548e..03b3389ee 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/gathering/importing/ImportSystem.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/gathering/importing/ImportSystem.java @@ -29,7 +29,7 @@ import java.util.*; */ public abstract class ImportSystem implements SubSystem { - protected Map importers; + protected final Map importers; public ImportSystem() { importers = new HashMap<>(); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/identification/ServerInfo.java b/Plan/common/src/main/java/com/djrapitops/plan/identification/ServerInfo.java index daa2cb78c..66dad1e82 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/identification/ServerInfo.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/identification/ServerInfo.java @@ -34,7 +34,7 @@ import java.util.UUID; public abstract class ServerInfo implements SubSystem { protected Server server; - protected ServerProperties serverProperties; + protected final ServerProperties serverProperties; public ServerInfo(ServerProperties serverProperties) { this.serverProperties = serverProperties; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/query/QueryServiceImplementation.java b/Plan/common/src/main/java/com/djrapitops/plan/query/QueryServiceImplementation.java index 7e9dba053..fda500be4 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/query/QueryServiceImplementation.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/query/QueryServiceImplementation.java @@ -40,13 +40,13 @@ import java.util.function.Consumer; @Singleton public class QueryServiceImplementation implements QueryService { - private DBSystem dbSystem; - private ServerInfo serverInfo; + private final DBSystem dbSystem; + private final ServerInfo serverInfo; private final PluginLogger logger; private final ErrorHandler errorHandler; - private Set> playerRemoveSubscribers; - private Set clearSubscribers; + private final Set> playerRemoveSubscribers; + private final Set clearSubscribers; @Inject public QueryServiceImplementation( diff --git a/Plan/common/src/main/java/com/djrapitops/plan/settings/config/ConfigNode.java b/Plan/common/src/main/java/com/djrapitops/plan/settings/config/ConfigNode.java index 33d2e4a95..763c4128d 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/settings/config/ConfigNode.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/settings/config/ConfigNode.java @@ -44,7 +44,7 @@ public class ConfigNode { protected ConfigNode parent; protected List nodeOrder; - protected Map childNodes; + protected final Map childNodes; protected List comment; protected String value; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/settings/config/changes/ConfigChange.java b/Plan/common/src/main/java/com/djrapitops/plan/settings/config/changes/ConfigChange.java index ad7e2db7a..a6677b53d 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/settings/config/changes/ConfigChange.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/settings/config/changes/ConfigChange.java @@ -78,7 +78,7 @@ public interface ConfigChange { } class Removed implements ConfigChange { - String oldPath; + final String oldPath; public Removed(String oldPath) { this.oldPath = oldPath; @@ -103,7 +103,7 @@ public interface ConfigChange { } class RemovedComment implements ConfigChange { - private String path; + private final String path; public RemovedComment(String path) { this.path = path; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/settings/locale/LocaleFileWriter.java b/Plan/common/src/main/java/com/djrapitops/plan/settings/locale/LocaleFileWriter.java index b0dd3b18d..0b05ec597 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/settings/locale/LocaleFileWriter.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/settings/locale/LocaleFileWriter.java @@ -34,7 +34,7 @@ import java.util.stream.Collectors; */ public class LocaleFileWriter { - private Locale locale; + private final Locale locale; public LocaleFileWriter(Locale locale) { this.locale = locale; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/settings/network/NetworkSettingManager.java b/Plan/common/src/main/java/com/djrapitops/plan/settings/network/NetworkSettingManager.java index 7ebaf7a48..f76e0d811 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/settings/network/NetworkSettingManager.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/settings/network/NetworkSettingManager.java @@ -64,9 +64,9 @@ public class NetworkSettingManager implements SubSystem { private final DBSystem dbSystem; private final ServerInfo serverInfo; private final RunnableFactory runnableFactory; - private PlanConfig config; + private final PlanConfig config; private final PluginLogger logger; - private ErrorHandler errorHandler; + private final ErrorHandler errorHandler; private File serverSettingsFolder; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/settings/network/ServerSettingsManager.java b/Plan/common/src/main/java/com/djrapitops/plan/settings/network/ServerSettingsManager.java index 5e6792767..84f996f9c 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/settings/network/ServerSettingsManager.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/settings/network/ServerSettingsManager.java @@ -61,10 +61,10 @@ public class ServerSettingsManager implements SubSystem { private final PlanFiles files; private final PlanConfig config; private final DBSystem dbSystem; - private ServerInfo serverInfo; + private final ServerInfo serverInfo; private final TaskSystem taskSystem; private final ErrorHandler errorHandler; - private PluginLogger logger; + private final PluginLogger logger; private FileWatcher watcher; @Inject diff --git a/Plan/common/src/main/java/com/djrapitops/plan/settings/upkeep/FileWatcher.java b/Plan/common/src/main/java/com/djrapitops/plan/settings/upkeep/FileWatcher.java index 94f78bda8..751f807f2 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/settings/upkeep/FileWatcher.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/settings/upkeep/FileWatcher.java @@ -40,8 +40,8 @@ public class FileWatcher extends Thread { private volatile boolean running; - private Path watchedPath; - private Set watchedFiles; + private final Path watchedPath; + private final Set watchedFiles; public FileWatcher( File folder, diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/AbstractDatabase.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/AbstractDatabase.java index bade58419..ca506ea5d 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/AbstractDatabase.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/AbstractDatabase.java @@ -25,7 +25,7 @@ package com.djrapitops.plan.storage.database; */ public abstract class AbstractDatabase implements Database { - protected DBAccessLock accessLock; + protected final DBAccessLock accessLock; private State state; public AbstractDatabase() { diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/DBSystem.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/DBSystem.java index 07f93fe39..75fa695b6 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/DBSystem.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/DBSystem.java @@ -21,9 +21,7 @@ import com.djrapitops.plan.exceptions.EnableException; import com.djrapitops.plan.exceptions.database.DBInitException; import com.djrapitops.plan.settings.locale.Locale; import com.djrapitops.plan.settings.locale.lang.PluginLang; -import com.djrapitops.plugin.benchmarking.Timings; import com.djrapitops.plugin.logging.console.PluginLogger; -import com.djrapitops.plugin.logging.error.ErrorHandler; import javax.inject.Singleton; import java.util.HashSet; @@ -41,26 +39,20 @@ public abstract class DBSystem implements SubSystem { private final SQLiteDB.Factory sqLiteFactory; private final H2DB.Factory h2Factory; protected final PluginLogger logger; - protected final Timings timings; - protected final ErrorHandler errorHandler; protected Database db; - protected Set databases; + protected final Set databases; public DBSystem( Locale locale, SQLiteDB.Factory sqLiteDB, H2DB.Factory h2Factory, - PluginLogger logger, - Timings timings, - ErrorHandler errorHandler + PluginLogger logger ) { this.locale = locale; this.sqLiteFactory = sqLiteDB; this.h2Factory = h2Factory; this.logger = logger; - this.timings = timings; - this.errorHandler = errorHandler; databases = new HashSet<>(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/H2DB.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/H2DB.java index 9b34edc3a..226f48983 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/H2DB.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/H2DB.java @@ -174,7 +174,7 @@ public class H2DB extends SQLDB { private final RunnableFactory runnableFactory; private final PluginLogger logger; private final ErrorHandler errorHandler; - private PlanFiles files; + private final PlanFiles files; @Inject public Factory( diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/ProxyDBSystem.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/ProxyDBSystem.java index b1b978204..56d49b88e 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/ProxyDBSystem.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/ProxyDBSystem.java @@ -42,7 +42,7 @@ public class ProxyDBSystem extends DBSystem { Timings timings, ErrorHandler errorHandler ) { - super(locale, sqLiteDB, h2DB, logger, timings, errorHandler); + super(locale, sqLiteDB, h2DB, logger); databases.add(mySQLDB); db = mySQLDB; } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/SQLiteDB.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/SQLiteDB.java index edcfbaecb..372b9ab33 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/SQLiteDB.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/SQLiteDB.java @@ -178,7 +178,7 @@ public class SQLiteDB extends SQLDB { private final RunnableFactory runnableFactory; private final PluginLogger logger; private final ErrorHandler errorHandler; - private PlanFiles files; + private final PlanFiles files; @Inject public Factory( diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/PerServerAggregateQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/PerServerAggregateQueries.java index 25231e86e..1f2d8c781 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/PerServerAggregateQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/PerServerAggregateQueries.java @@ -100,19 +100,6 @@ public class PerServerAggregateQueries { return getQueryForCountOf(playerUUID, sql, "kill_count"); } - /** - * Find how many times a player killed the player on servers. - * - * @param playerUUID UUID of the player. - * @return Map: Server UUID - Mob kill count - */ - public static Query> playerDeathCountOnServers(UUID playerUUID) { - String sql = SELECT + "COUNT(1) as death_count, " + KillsTable.SERVER_UUID + FROM + KillsTable.TABLE_NAME + - WHERE + KillsTable.VICTIM_UUID + "=?" + - GROUP_BY + KillsTable.SERVER_UUID; - return getQueryForCountOf(playerUUID, sql, "death_count"); - } - public static Query> totalDeathCountOnServers(UUID playerUUID) { String sql = SELECT + "SUM(" + SessionsTable.DEATHS + ") as death_count, " + SessionsTable.SERVER_UUID + FROM + SessionsTable.TABLE_NAME + diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/QueryAPIQuery.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/QueryAPIQuery.java index 8276278f9..ae0d44845 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/QueryAPIQuery.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/QueryAPIQuery.java @@ -27,7 +27,7 @@ import java.sql.SQLException; public class QueryAPIQuery implements Query { private final QueryService.ThrowingFunction performQuery; - private String sql; + private final String sql; public QueryAPIQuery( String sql, diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/analysis/ActivityIndexQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/analysis/ActivityIndexQueries.java index 7008fd122..a06a9a7d6 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/analysis/ActivityIndexQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/analysis/ActivityIndexQueries.java @@ -27,7 +27,6 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.*; import java.util.concurrent.TimeUnit; -import java.util.function.BiConsumer; import static com.djrapitops.plan.storage.database.sql.parsing.Sql.*; @@ -479,28 +478,4 @@ public class ActivityIndexQueries { } }; } - - public static Query activityIndexOnServerToMap(UUID serverUUID, long date, long threshold, BiConsumer consumer) { - String sql = SELECT + "activity_index,n." + UserInfoTable.USER_UUID + - FROM + UserInfoTable.TABLE_NAME + " n" + - LEFT_JOIN + '(' + selectActivityIndexSQL() + ") a on n." + SessionsTable.USER_UUID + "=a." + UserInfoTable.USER_UUID + - WHERE + UserInfoTable.SERVER_UUID + "=?"; - - return new QueryStatement(sql, 1000) { - @Override - public void prepare(PreparedStatement statement) throws SQLException { - setSelectActivityIndexSQLParameters(statement, 1, threshold, serverUUID, date); - statement.setString(2, serverUUID.toString()); - } - - @Override - public Object processResults(ResultSet set) throws SQLException { - while (set.next()) { - double activityIndex = set.getDouble("activity_index"); // Returns 0.0 if missing - consumer.accept(UUID.fromString(set.getString(UserInfoTable.USER_UUID)), activityIndex); - } - return null; - } - }; - } } \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/KillQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/KillQueries.java index 23f978871..11d1a8a8d 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/KillQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/KillQueries.java @@ -16,7 +16,6 @@ */ package com.djrapitops.plan.storage.database.queries.objects; -import com.djrapitops.plan.gathering.domain.PlayerDeath; import com.djrapitops.plan.gathering.domain.PlayerKill; import com.djrapitops.plan.storage.database.queries.Query; import com.djrapitops.plan.storage.database.queries.QueryStatement; @@ -36,7 +35,7 @@ import java.util.UUID; import static com.djrapitops.plan.storage.database.sql.parsing.Sql.*; /** - * Queries for {@link PlayerKill} and {@link PlayerDeath} objects. + * Queries for {@link PlayerKill} objects. * * @author Rsl1122 */ diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/NicknameQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/NicknameQueries.java index 5245690f6..4842ca611 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/NicknameQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/NicknameQueries.java @@ -140,35 +140,6 @@ public class NicknameQueries { }; } - /** - * Query database for all nickname data. - * - * @return Map: Player UUID - List of nicknames. - */ - public static Query>> fetchAllNicknameDataByPlayerUUIDs() { - String sql = SELECT + - NicknamesTable.NICKNAME + ',' + - NicknamesTable.LAST_USED + ',' + - NicknamesTable.USER_UUID + ',' + - NicknamesTable.SERVER_UUID + - FROM + NicknamesTable.TABLE_NAME; - return new QueryAllStatement>>(sql, 5000) { - @Override - public Map> processResults(ResultSet set) throws SQLException { - Map> map = new HashMap<>(); - while (set.next()) { - UUID uuid = UUID.fromString(set.getString(NicknamesTable.USER_UUID)); - UUID serverUUID = UUID.fromString(set.getString(NicknamesTable.SERVER_UUID)); - List nicknames = map.computeIfAbsent(uuid, x -> new ArrayList<>()); - nicknames.add(new Nickname( - set.getString(NicknamesTable.NICKNAME), set.getLong(NicknamesTable.LAST_USED), serverUUID - )); - } - return map; - } - }; - } - /** * Query database for nickname information of a server. * diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/SessionQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/SessionQueries.java index 76e704e0a..57b39924c 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/SessionQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/SessionQueries.java @@ -81,53 +81,6 @@ public class SessionQueries { private static final String ORDER_BY_SESSION_START_DESC = ORDER_BY + SessionsTable.SESSION_START + " DESC"; - /** - * Query the database for Session data without kill, death or world data. - * - * @return Multimap: Server UUID - (Player UUID - List of sessions) - */ - public static Query>>> fetchAllSessionsWithoutKillOrWorldData() { - String sql = SELECT + - SessionsTable.ID + ',' + - SessionsTable.USER_UUID + ',' + - SessionsTable.SERVER_UUID + ',' + - SessionsTable.SESSION_START + ',' + - SessionsTable.SESSION_END + ',' + - SessionsTable.DEATHS + ',' + - SessionsTable.MOB_KILLS + ',' + - SessionsTable.AFK_TIME + - FROM + SessionsTable.TABLE_NAME; - - return new QueryAllStatement>>>(sql, 20000) { - @Override - public Map>> processResults(ResultSet set) throws SQLException { - Map>> map = new HashMap<>(); - while (set.next()) { - UUID serverUUID = UUID.fromString(set.getString(SessionsTable.SERVER_UUID)); - UUID uuid = UUID.fromString(set.getString(SessionsTable.USER_UUID)); - - Map> sessionsByUser = map.getOrDefault(serverUUID, new HashMap<>()); - List sessions = sessionsByUser.getOrDefault(uuid, new ArrayList<>()); - - long start = set.getLong(SessionsTable.SESSION_START); - long end = set.getLong(SessionsTable.SESSION_END); - - int deaths = set.getInt(SessionsTable.DEATHS); - int mobKills = set.getInt(SessionsTable.MOB_KILLS); - int id = set.getInt(SessionsTable.ID); - - long timeAFK = set.getLong(SessionsTable.AFK_TIME); - - sessions.add(new Session(id, uuid, serverUUID, start, end, mobKills, deaths, timeAFK)); - - sessionsByUser.put(uuid, sessions); - map.put(serverUUID, sessionsByUser); - } - return map; - } - }; - } - /** * Query the database for Session data with kill, death or world data. * diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/TPSQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/TPSQueries.java index 40da98176..b6ffb0d26 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/TPSQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/TPSQueries.java @@ -19,14 +19,10 @@ package com.djrapitops.plan.storage.database.queries.objects; import com.djrapitops.plan.delivery.domain.DateObj; import com.djrapitops.plan.gathering.domain.TPS; import com.djrapitops.plan.gathering.domain.builders.TPSBuilder; -import com.djrapitops.plan.identification.Server; import com.djrapitops.plan.storage.database.queries.Query; -import com.djrapitops.plan.storage.database.queries.QueryAllStatement; import com.djrapitops.plan.storage.database.queries.QueryStatement; import com.djrapitops.plan.storage.database.sql.parsing.Select; import com.djrapitops.plan.storage.database.sql.tables.ServerTable; -import com.djrapitops.plugin.api.TimeAmount; -import org.apache.commons.text.TextStringBuilder; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -172,44 +168,6 @@ public class TPSQueries { }; } - public static Query>> fetchPlayerOnlineDataOfServers(Collection servers) { - if (servers.isEmpty()) { - return db -> new HashMap<>(); - } - - TextStringBuilder sql = new TextStringBuilder(SELECT); - sql.append(SERVER_ID).append(',') - .append(DATE).append(',') - .append(PLAYERS_ONLINE) - .append(FROM).append(TABLE_NAME) - .append(WHERE).append(DATE).append(">").append(System.currentTimeMillis() - TimeAmount.WEEK.toMillis(2L)) - .append(AND).append('('); - sql.appendWithSeparators(servers.stream().map(server -> SERVER_ID + "=" + server.getId()).iterator(), OR); - sql.append(')'); - - return new QueryAllStatement>>(sql.toString(), 10000) { - @Override - public Map> processResults(ResultSet set) throws SQLException { - Map> map = new HashMap<>(); - while (set.next()) { - int serverID = set.getInt(SERVER_ID); - int playersOnline = set.getInt(PLAYERS_ONLINE); - long date = set.getLong(DATE); - - List tpsList = map.getOrDefault(serverID, new ArrayList<>()); - - TPS tps = TPSBuilder.get().date(date) - .playersOnline(playersOnline) - .toTPS(); - tpsList.add(tps); - - map.put(serverID, tpsList); - } - return map; - } - }; - } - public static Query>> fetchPeakPlayerCount(UUID serverUUID, long afterDate) { String subQuery = '(' + SELECT + "MAX(" + PLAYERS_ONLINE + ')' + FROM + TABLE_NAME + WHERE + SERVER_ID + "=" + ServerTable.STATEMENT_SELECT_SERVER_ID + AND + DATE + ">= ?)"; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/UserInfoQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/UserInfoQueries.java index 74dd84c76..fdcf649db 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/UserInfoQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/UserInfoQueries.java @@ -153,36 +153,6 @@ public class UserInfoQueries { }; } - /** - * Query database for UUIDs of banned players on a server. - * - * @param serverUUID UUID of the Plan server. - * @return Set: Player UUID of a banned player. - */ - public static Query> fetchBannedUUIDsOfServer(UUID serverUUID) { - String sql = SELECT + - UserInfoTable.USER_UUID + - FROM + UserInfoTable.TABLE_NAME + - WHERE + UserInfoTable.SERVER_UUID + "=?" + - AND + UserInfoTable.BANNED + "=?"; - return new QueryStatement>(sql, 1000) { - @Override - public void prepare(PreparedStatement statement) throws SQLException { - statement.setString(1, serverUUID.toString()); - statement.setBoolean(2, true); - } - - @Override - public Set processResults(ResultSet set) throws SQLException { - Set bannedUsers = new HashSet<>(); - while (set.next()) { - bannedUsers.add(UUID.fromString(set.getString(UserInfoTable.USER_UUID))); - } - return bannedUsers; - } - }; - } - public static Query> fetchRegisterDates(long after, long before, UUID serverUUID) { String sql = SELECT + UserInfoTable.USER_UUID + ',' + diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WorldTimesQueries.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WorldTimesQueries.java index 2b37febb5..0b6a327df 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WorldTimesQueries.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/queries/objects/WorldTimesQueries.java @@ -40,8 +40,8 @@ import static com.djrapitops.plan.storage.database.sql.parsing.Sql.*; */ public class WorldTimesQueries { - private static String worldColumn = "world"; - private static final String SELECT_WORLD_TIMES_JOIN_WORLD_NAME = WorldTable.TABLE_NAME + '.' + WorldTable.NAME + " as " + worldColumn + + private static final String WORLD_COLUMN = "world"; + private static final String SELECT_WORLD_TIMES_JOIN_WORLD_NAME = WorldTable.TABLE_NAME + '.' + WorldTable.NAME + " as " + WORLD_COLUMN + FROM + WorldTimesTable.TABLE_NAME + INNER_JOIN + WorldTable.TABLE_NAME + " on " + WorldTable.TABLE_NAME + '.' + WorldTable.ID + "=" + WorldTimesTable.WORLD_ID; private static final String SELECT_WORLD_TIMES_STATEMENT_START = SELECT + @@ -64,7 +64,7 @@ public class WorldTimesQueries { String sql = SELECT_WORLD_TIMES_STATEMENT_START + SELECT_WORLD_TIMES_JOIN_WORLD_NAME + WHERE + WorldTimesTable.TABLE_NAME + '.' + WorldTimesTable.SERVER_UUID + "=?" + - GROUP_BY + worldColumn; + GROUP_BY + WORLD_COLUMN; return new QueryStatement(sql, 1000) { @Override @@ -78,7 +78,7 @@ public class WorldTimesQueries { WorldTimes worldTimes = new WorldTimes(); while (set.next()) { - String worldName = set.getString(worldColumn); + String worldName = set.getString(WORLD_COLUMN); GMTimes gmTimes = extractGMTimes(set, gms); @@ -99,7 +99,7 @@ public class WorldTimesQueries { String sql = SELECT_WORLD_TIMES_STATEMENT_START + SELECT_WORLD_TIMES_JOIN_WORLD_NAME + WHERE + WorldTimesTable.USER_UUID + "=?" + - GROUP_BY + worldColumn; + GROUP_BY + WORLD_COLUMN; return new QueryStatement(sql) { @Override @@ -113,7 +113,7 @@ public class WorldTimesQueries { WorldTimes worldTimes = new WorldTimes(); while (set.next()) { - String worldName = set.getString(worldColumn); + String worldName = set.getString(WORLD_COLUMN); GMTimes gmTimes = extractGMTimes(set, gms); @@ -135,7 +135,7 @@ public class WorldTimesQueries { WorldTimesTable.TABLE_NAME + '.' + WorldTimesTable.SERVER_UUID + ',' + SELECT_WORLD_TIMES_JOIN_WORLD_NAME + WHERE + WorldTimesTable.TABLE_NAME + '.' + WorldTimesTable.USER_UUID + "=?" + - GROUP_BY + worldColumn + ',' + WorldTimesTable.TABLE_NAME + '.' + WorldTimesTable.SERVER_UUID; + GROUP_BY + WORLD_COLUMN + ',' + WorldTimesTable.TABLE_NAME + '.' + WorldTimesTable.SERVER_UUID; return new QueryStatement>(sql, 1000) { @Override @@ -151,7 +151,7 @@ public class WorldTimesQueries { while (set.next()) { UUID serverUUID = UUID.fromString(set.getString(WorldTimesTable.SERVER_UUID)); WorldTimes worldTimes = worldTimesMap.getOrDefault(serverUUID, new WorldTimes()); - String worldName = set.getString(worldColumn); + String worldName = set.getString(WORLD_COLUMN); GMTimes gmTimes = extractGMTimes(set, gms); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/sql/parsing/Insert.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/sql/parsing/Insert.java index eae98d4e4..9aa581cdf 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/sql/parsing/Insert.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/sql/parsing/Insert.java @@ -19,8 +19,7 @@ package com.djrapitops.plan.storage.database.sql.parsing; public class Insert extends SqlParser { public Insert(String table) { - super("INSERT INTO " + table); - addSpace(); + super("INSERT INTO " + table + ' '); } public static String values(String table, String... columns) { diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/sql/parsing/SqlParser.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/sql/parsing/SqlParser.java index 2ebb8364f..5ac64be18 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/sql/parsing/SqlParser.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/sql/parsing/SqlParser.java @@ -33,11 +33,6 @@ public class SqlParser { s = new StringBuilder(start); } - public SqlParser addSpace() { - s.append(" "); - return this; - } - public SqlParser append(String string) { s.append(string); return this; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/sql/parsing/Update.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/sql/parsing/Update.java index 2cdf2af27..4ab4d3b42 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/sql/parsing/Update.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/sql/parsing/Update.java @@ -22,8 +22,7 @@ package com.djrapitops.plan.storage.database.sql.parsing; public class Update extends WhereParser { public Update(String table) { - super("UPDATE " + table + " SET"); - addSpace(); + super("UPDATE " + table + " SET "); } public static Update values(String table, String... values) { diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java index ad03cca08..4dd004a37 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/commands/RegisterWebUserTransaction.java @@ -31,7 +31,7 @@ import java.sql.SQLException; */ public class RegisterWebUserTransaction extends Transaction { - private WebUser webUser; + private final WebUser webUser; public RegisterWebUserTransaction(WebUser webUser) { this.webUser = webUser; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/events/BanStatusTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/events/BanStatusTransaction.java index 448bc4259..ddaa4404a 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/events/BanStatusTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/events/BanStatusTransaction.java @@ -34,8 +34,8 @@ import java.util.function.BooleanSupplier; */ public class BanStatusTransaction extends Transaction { - private UUID playerUUID; - private BooleanSupplier banStatus; + private final UUID playerUUID; + private final BooleanSupplier banStatus; public BanStatusTransaction(UUID playerUUID, BooleanSupplier banStatus) { this.playerUUID = playerUUID; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/events/OperatorStatusTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/events/OperatorStatusTransaction.java index 12f97314b..450b71d2b 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/events/OperatorStatusTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/events/OperatorStatusTransaction.java @@ -33,8 +33,8 @@ import java.util.UUID; */ public class OperatorStatusTransaction extends ThrowawayTransaction { - private UUID playerUUID; - private boolean operatorStatus; + private final UUID playerUUID; + private final boolean operatorStatus; public OperatorStatusTransaction(UUID playerUUID, boolean operatorStatus) { this.playerUUID = playerUUID; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/events/PingStoreTransaction.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/events/PingStoreTransaction.java index 4caabe4f3..88700a5f8 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/events/PingStoreTransaction.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/events/PingStoreTransaction.java @@ -20,10 +20,10 @@ import com.djrapitops.plan.delivery.domain.DateObj; import com.djrapitops.plan.gathering.domain.Ping; import com.djrapitops.plan.storage.database.queries.DataStoreQueries; import com.djrapitops.plan.storage.database.transactions.Transaction; +import com.djrapitops.plan.utilities.Predicates; import com.djrapitops.plan.utilities.analysis.Median; import java.util.List; -import java.util.OptionalInt; import java.util.UUID; import java.util.stream.Collectors; @@ -38,20 +38,12 @@ public class PingStoreTransaction extends Transaction { private final UUID serverUUID; private final List> pingList; - private OptionalInt max; - public PingStoreTransaction(UUID playerUUID, UUID serverUUID, List> pingList) { this.playerUUID = playerUUID; this.serverUUID = serverUUID; this.pingList = pingList; } - @Override - protected boolean shouldBeExecuted() { - max = getMax(); - return max.isPresent(); - } - @Override protected void performOperations() { Ping ping = calculateAggregatePing(); @@ -63,7 +55,7 @@ public class PingStoreTransaction extends Transaction { int minValue = getMinValue(); int meanValue = getMeanValue(); - int maxValue = max.getAsInt(); + int maxValue = getMax(); return new Ping(lastDate, serverUUID, minValue, maxValue, meanValue); } @@ -71,15 +63,15 @@ public class PingStoreTransaction extends Transaction { private int getMinValue() { return pingList.stream() .mapToInt(DateObj::getValue) - .filter(i -> i > 0 && i < 4000) + .filter(Predicates::pingInRange) .min().orElse(-1); } - private OptionalInt getMax() { + private int getMax() { return pingList.stream() .mapToInt(DateObj::getValue) - .filter(i -> i > 0 && i < 4000) - .max(); + .filter(Predicates::pingInRange) + .max().orElse(-1); } // VisibleForTesting diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/ExtensionTableRowValueLengthPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/ExtensionTableRowValueLengthPatch.java index 07fbb6a66..b0c2bb7f2 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/ExtensionTableRowValueLengthPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/ExtensionTableRowValueLengthPatch.java @@ -25,8 +25,8 @@ import com.djrapitops.plan.storage.database.sql.tables.ExtensionServerTableValue public class ExtensionTableRowValueLengthPatch extends Patch { - private String playerTable; - private String serverTable; + private final String playerTable; + private final String serverTable; public ExtensionTableRowValueLengthPatch() { playerTable = ExtensionPlayerTableValueTable.TABLE_NAME; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/GeoInfoOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/GeoInfoOptimizationPatch.java index 4fb29a00c..8bc1d1a85 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/GeoInfoOptimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/GeoInfoOptimizationPatch.java @@ -22,8 +22,8 @@ import static com.djrapitops.plan.storage.database.sql.parsing.Sql.*; public class GeoInfoOptimizationPatch extends Patch { - private String tempTableName; - private String oldTableName; + private final String tempTableName; + private final String oldTableName; public GeoInfoOptimizationPatch() { oldTableName = "plan_ips"; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/KillsOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/KillsOptimizationPatch.java index 0dfe9cc4e..1ba9228c0 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/KillsOptimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/KillsOptimizationPatch.java @@ -23,8 +23,8 @@ import static com.djrapitops.plan.storage.database.sql.parsing.Sql.FROM; public class KillsOptimizationPatch extends Patch { - private String tempTableName; - private String tableName; + private final String tempTableName; + private final String tableName; public KillsOptimizationPatch() { tableName = KillsTable.TABLE_NAME; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/NicknamesOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/NicknamesOptimizationPatch.java index 8d58d4969..9c3517880 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/NicknamesOptimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/NicknamesOptimizationPatch.java @@ -23,8 +23,8 @@ import static com.djrapitops.plan.storage.database.sql.parsing.Sql.FROM; public class NicknamesOptimizationPatch extends Patch { - private String tempTableName; - private String tableName; + private final String tempTableName; + private final String tableName; public NicknamesOptimizationPatch() { tableName = NicknamesTable.TABLE_NAME; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/PingOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/PingOptimizationPatch.java index bdf072924..27f7204e4 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/PingOptimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/PingOptimizationPatch.java @@ -23,8 +23,8 @@ import static com.djrapitops.plan.storage.database.sql.parsing.Sql.FROM; public class PingOptimizationPatch extends Patch { - private String tempTableName; - private String tableName; + private final String tempTableName; + private final String tableName; public PingOptimizationPatch() { tableName = PingTable.TABLE_NAME; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/SessionsOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/SessionsOptimizationPatch.java index 790580a18..727857d5a 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/SessionsOptimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/SessionsOptimizationPatch.java @@ -23,8 +23,8 @@ import static com.djrapitops.plan.storage.database.sql.parsing.Sql.FROM; public class SessionsOptimizationPatch extends Patch { - private String tempTableName; - private String tableName; + private final String tempTableName; + private final String tableName; public SessionsOptimizationPatch() { tableName = SessionsTable.TABLE_NAME; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/UserInfoOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/UserInfoOptimizationPatch.java index 641b2cddd..2ec8b4e1a 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/UserInfoOptimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/UserInfoOptimizationPatch.java @@ -23,8 +23,8 @@ import static com.djrapitops.plan.storage.database.sql.parsing.Sql.FROM; public class UserInfoOptimizationPatch extends Patch { - private String tempTableName; - private String tableName; + private final String tempTableName; + private final String tableName; public UserInfoOptimizationPatch() { tableName = UserInfoTable.TABLE_NAME; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldTimesOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldTimesOptimizationPatch.java index 883979872..b876ae4d8 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldTimesOptimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldTimesOptimizationPatch.java @@ -23,8 +23,8 @@ import static com.djrapitops.plan.storage.database.sql.parsing.Sql.FROM; public class WorldTimesOptimizationPatch extends Patch { - private String tempTableName; - private String tableName; + private final String tempTableName; + private final String tableName; public WorldTimesOptimizationPatch() { tableName = WorldTimesTable.TABLE_NAME; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldsOptimizationPatch.java b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldsOptimizationPatch.java index 9b177efdc..9f7ea0364 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldsOptimizationPatch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/storage/database/transactions/patches/WorldsOptimizationPatch.java @@ -23,8 +23,8 @@ import static com.djrapitops.plan.storage.database.sql.parsing.Sql.FROM; public class WorldsOptimizationPatch extends Patch { - private String tempTableName; - private String tableName; + private final String tempTableName; + private final String tableName; public WorldsOptimizationPatch() { tableName = WorldTable.TABLE_NAME; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/utilities/MiscUtils.java b/Plan/common/src/main/java/com/djrapitops/plan/utilities/MiscUtils.java index 1e7e038f7..062b9fe62 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/utilities/MiscUtils.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/utilities/MiscUtils.java @@ -20,9 +20,6 @@ import com.djrapitops.plan.settings.Permissions; import com.djrapitops.plugin.command.CommandUtils; import com.djrapitops.plugin.command.Sender; -import java.io.Closeable; -import java.io.IOException; - /** * Utility method class containing various static methods. * @@ -75,18 +72,6 @@ public class MiscUtils { return playerName; } - public static void close(Closeable... close) { - for (Closeable c : close) { - if (c != null) { - try { - c.close(); - } catch (IOException ignored) { - // Closing exceptions are ignored. - } - } - } - } - public static void close(AutoCloseable... close) { for (AutoCloseable c : close) { if (c != null) { diff --git a/Plan/common/src/main/java/com/djrapitops/plan/utilities/Predicates.java b/Plan/common/src/main/java/com/djrapitops/plan/utilities/Predicates.java index 2117b067f..668e2b64f 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/utilities/Predicates.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/utilities/Predicates.java @@ -38,4 +38,8 @@ public class Predicates { }; } + public static boolean pingInRange(int value) { + return value > 0 && value < 4000; + } + } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/utilities/analysis/Median.java b/Plan/common/src/main/java/com/djrapitops/plan/utilities/analysis/Median.java index 92b3ee2b0..cde9341a9 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/utilities/analysis/Median.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/utilities/analysis/Median.java @@ -28,7 +28,7 @@ import java.util.List; public class Median> { private final List values; - private int size; + private final int size; private Median(List values) { this.values = values; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/PlayerContainerLastPlayedComparator.java b/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/PlayerContainerLastPlayedComparator.java deleted file mode 100644 index f07c50223..000000000 --- a/Plan/common/src/main/java/com/djrapitops/plan/utilities/comparators/PlayerContainerLastPlayedComparator.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * This file is part of Player Analytics (Plan). - * - * Plan is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License v3 as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Plan is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Plan. If not, see . - */ -package com.djrapitops.plan.utilities.comparators; - -import com.djrapitops.plan.delivery.domain.container.PlayerContainer; -import com.djrapitops.plan.delivery.domain.keys.PlayerKeys; - -import java.util.Comparator; - -/** - * Comparator for PlayerContainer so that most recently seen is first. - * - * @author Rsl1122 - */ -public class PlayerContainerLastPlayedComparator implements Comparator { - - @Override - public int compare(PlayerContainer playerOne, PlayerContainer playerTwo) { - return Long.compare( - playerTwo.getValue(PlayerKeys.LAST_SEEN).orElse(0L), - playerOne.getValue(PlayerKeys.LAST_SEEN).orElse(0L) - ); - } -} diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/WorldMapTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/WorldMapTest.java index 5947d2f46..786b76c71 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/WorldMapTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/rendering/json/graphs/special/WorldMapTest.java @@ -20,7 +20,9 @@ import org.junit.jupiter.api.Test; import org.junit.platform.runner.JUnitPlatform; import org.junit.runner.RunWith; +import java.util.Arrays; import java.util.HashMap; +import java.util.List; import java.util.Map; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -42,8 +44,12 @@ class WorldMapTest { geolocations.put("Local Machine", 1); geolocations.put("Denmark", 2); - String expected = "[{'code':'SWE','value':1},{'code':'DNK','value':2},{'code':'FIN','value':1}]"; - String result = new WorldMap(geolocations).toHighChartsSeries(); + List expected = Arrays.asList( + new WorldMap.Entry("SWE", 1), + new WorldMap.Entry("DNK", 2), + new WorldMap.Entry("FIN", 1) + ); + List result = new WorldMap(geolocations).getEntries(); assertEquals(expected, result); } diff --git a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/HttpsServerTest.java b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/HttpsServerTest.java index 6c88e9c73..dbbda46b6 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/HttpsServerTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/delivery/webserver/HttpsServerTest.java @@ -16,7 +16,10 @@ */ package com.djrapitops.plan.delivery.webserver; -import com.djrapitops.plan.exceptions.connection.*; +import com.djrapitops.plan.exceptions.connection.BadRequestException; +import com.djrapitops.plan.exceptions.connection.ForbiddenException; +import com.djrapitops.plan.exceptions.connection.NotFoundException; +import com.djrapitops.plan.exceptions.connection.WebException; import com.djrapitops.plan.utilities.Base64Util; import org.junit.jupiter.api.Test; import utilities.HTTPConnector; @@ -66,7 +69,7 @@ interface HttpsServerTest { case 404: throw new NotFoundException(url.toString() + " returned a 404, ensure that your server is connected to an up to date Plan server."); case 500: - throw new InternalErrorException(); + throw new IllegalStateException(); // Not supported default: throw new WebException(url.toString() + "| Wrong response code " + responseCode); } diff --git a/Plan/common/src/test/java/utilities/dagger/PluginSuperClassBindingModule.java b/Plan/common/src/test/java/utilities/dagger/PluginSuperClassBindingModule.java index f240a44f8..0de35ca70 100644 --- a/Plan/common/src/test/java/utilities/dagger/PluginSuperClassBindingModule.java +++ b/Plan/common/src/test/java/utilities/dagger/PluginSuperClassBindingModule.java @@ -58,7 +58,7 @@ public class PluginSuperClassBindingModule { Timings timings, ErrorHandler errorHandler ) { - return new DBSystem(locale, sqLiteDB, h2Factory, logger, timings, errorHandler) { + return new DBSystem(locale, sqLiteDB, h2Factory, logger) { @Override public void enable() throws EnableException { databases.add(sqLiteDB.usingDefaultFile()); diff --git a/Plan/sponge/src/main/java/com/djrapitops/plan/gathering/listeners/sponge/PlayerOnlineListener.java b/Plan/sponge/src/main/java/com/djrapitops/plan/gathering/listeners/sponge/PlayerOnlineListener.java index afcfc4666..81590bac3 100644 --- a/Plan/sponge/src/main/java/com/djrapitops/plan/gathering/listeners/sponge/PlayerOnlineListener.java +++ b/Plan/sponge/src/main/java/com/djrapitops/plan/gathering/listeners/sponge/PlayerOnlineListener.java @@ -186,7 +186,7 @@ public class PlayerOnlineListener { database.executeTransaction(new NicknameStoreTransaction( playerUUID, new Nickname(displayName, time, serverUUID), - (uuid, name) -> name.equals(nicknameCache.getDisplayName(uuid)) + (uuid, name) -> nicknameCache.getDisplayName(playerUUID).map(name::equals).orElse(false) )); processing.submitNonCritical(() -> extensionService.updatePlayerValues(playerUUID, playerName, CallEvents.PLAYER_JOIN)); diff --git a/Plan/sponge/src/main/java/com/djrapitops/plan/gathering/listeners/sponge/SpongeChatListener.java b/Plan/sponge/src/main/java/com/djrapitops/plan/gathering/listeners/sponge/SpongeChatListener.java index 0ef673fcf..85514b2d0 100644 --- a/Plan/sponge/src/main/java/com/djrapitops/plan/gathering/listeners/sponge/SpongeChatListener.java +++ b/Plan/sponge/src/main/java/com/djrapitops/plan/gathering/listeners/sponge/SpongeChatListener.java @@ -77,7 +77,7 @@ public class SpongeChatListener { dbSystem.getDatabase().executeTransaction(new NicknameStoreTransaction( uuid, new Nickname(displayName, time, serverInfo.getServerUUID()), - (playerUUID, name) -> name.equals(nicknameCache.getDisplayName(playerUUID)) + (playerUUID, name) -> nicknameCache.getDisplayName(playerUUID).map(name::equals).orElse(false) )); } } \ No newline at end of file diff --git a/Plan/sponge/src/main/java/com/djrapitops/plan/storage/database/SpongeDBSystem.java b/Plan/sponge/src/main/java/com/djrapitops/plan/storage/database/SpongeDBSystem.java index 1ae0b1697..c65fd3b1a 100644 --- a/Plan/sponge/src/main/java/com/djrapitops/plan/storage/database/SpongeDBSystem.java +++ b/Plan/sponge/src/main/java/com/djrapitops/plan/storage/database/SpongeDBSystem.java @@ -48,7 +48,7 @@ public class SpongeDBSystem extends DBSystem { Timings timings, ErrorHandler errorHandler ) { - super(locale, sqLiteDB, h2DB, logger, timings, errorHandler); + super(locale, sqLiteDB, h2DB, logger); this.config = config; databases.add(mySQLDB);