diff --git a/Plan/pom.xml b/Plan/pom.xml index 2a4e02cc3..83cb26a18 100644 --- a/Plan/pom.xml +++ b/Plan/pom.xml @@ -17,7 +17,7 @@ - + com.destroystokyo.paper paper diff --git a/Plan/src/main/java/com/djrapitops/plan/Log.java b/Plan/src/main/java/com/djrapitops/plan/Log.java index 3215a1a09..7c27a253c 100644 --- a/Plan/src/main/java/com/djrapitops/plan/Log.java +++ b/Plan/src/main/java/com/djrapitops/plan/Log.java @@ -119,7 +119,7 @@ public class Log { * Logs trace of caught Exception to Errors.txt and notifies on console. * * @param source Class name the exception was caught in. - * @param e Throwable, eg NullPointerException + * @param e {@code Throwable}, eg NullPointerException */ public static void toLog(String source, Throwable e) { Plan.getInstance().getPluginLogger().toLog(source, e); @@ -129,7 +129,7 @@ public class Log { * Logs multiple caught Errors to Errors.txt. * * @param source Class name the exception was caught in. - * @param e Collection of Throwables, eg NullPointerException + * @param e Collection of {@code Throwable}, eg NullPointerException */ public static void toLog(String source, Collection e) { Plan.getInstance().getPluginLogger().toLog(source, e); diff --git a/Plan/src/main/java/com/djrapitops/plan/Plan.java b/Plan/src/main/java/com/djrapitops/plan/Plan.java index 0f0e48254..469a60078 100644 --- a/Plan/src/main/java/com/djrapitops/plan/Plan.java +++ b/Plan/src/main/java/com/djrapitops/plan/Plan.java @@ -151,6 +151,21 @@ public class Plan extends BukkitPlugin { } Benchmark.stop("Enable", "Init Database"); + Benchmark.start("WebServer Initialization"); + + uiServer = new WebServer(this); + registerWebAPIs(); // TODO Move to WebServer class + uiServer.initServer(); + + if (!uiServer.isEnabled()) { + Log.error("WebServer was not successfully initialized."); + } + + //TODO Re-Enable after DB ServerTable has been initialized properly. + Benchmark.start("ServerInfo Registration"); + serverInfoManager = new ServerInfoManager(this); + Benchmark.stop("Enable", "ServerInfo Registration"); + Benchmark.start("Init DataCache"); this.dataCache = new DataCache(this); Benchmark.stop("Enable", "Init DataCache"); @@ -174,21 +189,6 @@ public class Plan extends BukkitPlugin { Benchmark.stop("Enable", "Analysis refresh task registration"); - Benchmark.start("WebServer Initialization"); - - uiServer = new WebServer(this); - registerWebAPIs(); // TODO Move to WebServer class - uiServer.initServer(); - - if (!uiServer.isEnabled()) { - Log.error("WebServer was not successfully initialized."); - } - - //TODO Re-Enable after DB ServerTable has been initialized properly. -// Benchmark.start("ServerInfo Registration"); -// serverInfoManager = new ServerInfoManager(this); -// Benchmark.stop("Enable", "ServerInfo Registration"); - setupFilter(); // TODO Move to RegisterCommand Constructor // Data view settings // TODO Rewrite. (TextUI removed & webserver might be running on bungee diff --git a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageHotswapCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageHotswapCommand.java index 7e3a2dfa8..e7a3ba06b 100644 --- a/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageHotswapCommand.java +++ b/Plan/src/main/java/com/djrapitops/plan/command/commands/manage/ManageHotswapCommand.java @@ -69,6 +69,8 @@ public class ManageHotswapCommand extends SubCommand { return true; } + assert database != null; + try { database.getVersion(); //Test db connection } catch (Exception e) { diff --git a/Plan/src/main/java/com/djrapitops/plan/data/cache/AnalysisCacheHandler.java b/Plan/src/main/java/com/djrapitops/plan/data/cache/AnalysisCacheHandler.java index 91c4bd2f1..6255fee94 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/cache/AnalysisCacheHandler.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/cache/AnalysisCacheHandler.java @@ -31,7 +31,7 @@ public class AnalysisCacheHandler { private AnalysisData cache; private boolean analysisEnabled; - private Set notifyWhenCached; + private final Set notifyWhenCached; /** * Class Constructor. diff --git a/Plan/src/main/java/com/djrapitops/plan/data/listeners/PlanChatListener.java b/Plan/src/main/java/com/djrapitops/plan/data/listeners/PlanChatListener.java index 8ae8cdb66..c4108e4d2 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/listeners/PlanChatListener.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/listeners/PlanChatListener.java @@ -15,7 +15,7 @@ import org.bukkit.event.player.AsyncPlayerChatEvent; */ public class PlanChatListener implements Listener { - private Plan plugin; + private final Plan plugin; /** * Class Constructor. diff --git a/Plan/src/main/java/com/djrapitops/plan/data/server/ServerInfoManager.java b/Plan/src/main/java/com/djrapitops/plan/data/server/ServerInfoManager.java index 136cf1aeb..ccbed6bee 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/server/ServerInfoManager.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/server/ServerInfoManager.java @@ -27,10 +27,10 @@ import java.util.UUID; */ public class ServerInfoManager { - private Plan plugin; + private final Plan plugin; private ServerInfo serverInfo; private ServerInfoFile serverInfoFile; - private ServerTable serverTable; + private final ServerTable serverTable; public ServerInfoManager(Plan plugin) { this.plugin = plugin; @@ -60,7 +60,7 @@ public class ServerInfoManager { } } - private void updateDbInfo(UUID serverUUID) throws SQLException { + private void updateDbInfo(UUID serverUUID) throws SQLException, IOException { Optional serverID = serverTable.getServerID(serverUUID); if (!serverID.isPresent()) { registerServer(serverUUID); @@ -76,21 +76,24 @@ public class ServerInfoManager { serverTable.saveCurrentServerInfo(serverInfo); } - private void registerServer() throws SQLException { + private void registerServer() throws SQLException, IOException { registerServer(generateNewUUID(plugin.getServer())); } - private void registerServer(UUID serverUUID) throws SQLException { + private void registerServer(UUID serverUUID) throws SQLException, IOException { String webAddress = plugin.getUiServer().getAccessAddress(); String name = Settings.SERVER_NAME.toString(); serverInfo = new ServerInfo(-1, serverUUID, name, webAddress); serverTable.saveCurrentServerInfo(serverInfo); Optional serverID = serverTable.getServerID(serverUUID); - if (serverID.isPresent()) { - serverInfo.setId(serverID.get()); - } else { + if (!serverID.isPresent()) { throw new IllegalStateException("Failed to Register Server (ID not found)"); } + + int id = serverID.get(); + serverInfo.setId(id); + + serverInfoFile.saveInfo(serverInfo, new ServerInfo(id, serverUUID, name, webAddress)); } private UUID generateNewUUID(Server server) { diff --git a/Plan/src/main/java/com/djrapitops/plan/database/Database.java b/Plan/src/main/java/com/djrapitops/plan/database/Database.java index 3b061be68..804ad6630 100644 --- a/Plan/src/main/java/com/djrapitops/plan/database/Database.java +++ b/Plan/src/main/java/com/djrapitops/plan/database/Database.java @@ -168,6 +168,8 @@ public abstract class Database { return getName().toLowerCase().replace(" ", ""); } + public abstract boolean isNewDatabase() throws SQLException; + /** * Used to get the database schema version. * diff --git a/Plan/src/main/java/com/djrapitops/plan/database/databases/MySQLDB.java b/Plan/src/main/java/com/djrapitops/plan/database/databases/MySQLDB.java index de1a81498..816bb6535 100644 --- a/Plan/src/main/java/com/djrapitops/plan/database/databases/MySQLDB.java +++ b/Plan/src/main/java/com/djrapitops/plan/database/databases/MySQLDB.java @@ -39,6 +39,7 @@ public class MySQLDB extends SQLDB { dataSource.setUsername(username); dataSource.setPassword(password); + dataSource.setMaxTotal(-1); } diff --git a/Plan/src/main/java/com/djrapitops/plan/database/databases/SQLDB.java b/Plan/src/main/java/com/djrapitops/plan/database/databases/SQLDB.java index 373d545f3..3e79af132 100644 --- a/Plan/src/main/java/com/djrapitops/plan/database/databases/SQLDB.java +++ b/Plan/src/main/java/com/djrapitops/plan/database/databases/SQLDB.java @@ -138,15 +138,6 @@ public abstract class SQLDB extends Database { return true; } - private boolean isNewDatabase() { - try { - getVersion(); - return false; - } catch (Exception ignored) { - return true; - } - } - /** * @return */ @@ -197,6 +188,11 @@ public abstract class SQLDB extends Database { return versionTable.getVersion(); } + @Override + public boolean isNewDatabase() throws SQLException { + return versionTable.isNewDatabase(); + } + /** * @param version * @throws SQLException diff --git a/Plan/src/main/java/com/djrapitops/plan/database/sql/SqlParser.java b/Plan/src/main/java/com/djrapitops/plan/database/sql/SqlParser.java index 52427f948..1babf6cf4 100644 --- a/Plan/src/main/java/com/djrapitops/plan/database/sql/SqlParser.java +++ b/Plan/src/main/java/com/djrapitops/plan/database/sql/SqlParser.java @@ -8,7 +8,7 @@ package main.java.com.djrapitops.plan.database.sql; */ public class SqlParser { - private StringBuilder s; + private final StringBuilder s; public SqlParser() { s = new StringBuilder(); diff --git a/Plan/src/main/java/com/djrapitops/plan/database/tables/ActionsTable.java b/Plan/src/main/java/com/djrapitops/plan/database/tables/ActionsTable.java index 7fee4f9dd..74ef5bee8 100644 --- a/Plan/src/main/java/com/djrapitops/plan/database/tables/ActionsTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/database/tables/ActionsTable.java @@ -39,7 +39,7 @@ public class ActionsTable extends UserIDTable { private final String columnActionID = "action_id"; private final String columnAdditionalInfo = "additional_info"; - private ServerTable serverTable; + private final ServerTable serverTable; public ActionsTable(SQLDB db, boolean usingMySQL) { super("plan_actions", db, usingMySQL); diff --git a/Plan/src/main/java/com/djrapitops/plan/database/tables/CommandUseTable.java b/Plan/src/main/java/com/djrapitops/plan/database/tables/CommandUseTable.java index 5718482bc..7e23817a5 100644 --- a/Plan/src/main/java/com/djrapitops/plan/database/tables/CommandUseTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/database/tables/CommandUseTable.java @@ -25,7 +25,7 @@ public class CommandUseTable extends Table { private final String columnCommand = "command"; private final String columnTimesUsed = "times_used"; private final String columnServerID = "server_id"; - private ServerTable serverTable; + private final ServerTable serverTable; /** * @param db diff --git a/Plan/src/main/java/com/djrapitops/plan/database/tables/NicknamesTable.java b/Plan/src/main/java/com/djrapitops/plan/database/tables/NicknamesTable.java index 4118c3bb7..2b4e10319 100644 --- a/Plan/src/main/java/com/djrapitops/plan/database/tables/NicknamesTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/database/tables/NicknamesTable.java @@ -20,7 +20,7 @@ public class NicknamesTable extends UserIDTable { private final String columnNick = "nickname"; private final String columnServerID = "server_id"; - private ServerTable serverTable; + private final ServerTable serverTable; /** * @param db The database diff --git a/Plan/src/main/java/com/djrapitops/plan/database/tables/Table.java b/Plan/src/main/java/com/djrapitops/plan/database/tables/Table.java index 6e9fa6334..81a21fb78 100644 --- a/Plan/src/main/java/com/djrapitops/plan/database/tables/Table.java +++ b/Plan/src/main/java/com/djrapitops/plan/database/tables/Table.java @@ -115,7 +115,6 @@ public abstract class Table { * @throws SQLException */ protected PreparedStatement prepareStatement(String sql) throws SQLException { - System.out.println(sql); return getConnection().prepareStatement(sql); } diff --git a/Plan/src/main/java/com/djrapitops/plan/database/tables/UserInfoTable.java b/Plan/src/main/java/com/djrapitops/plan/database/tables/UserInfoTable.java index e3f35ad39..64a807c06 100644 --- a/Plan/src/main/java/com/djrapitops/plan/database/tables/UserInfoTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/database/tables/UserInfoTable.java @@ -89,6 +89,7 @@ public class UserInfoTable extends UserIDTable { set = statement.executeQuery(); return set.next(); } finally { + endTransaction(statement); close(set, statement); } } @@ -142,6 +143,7 @@ public class UserInfoTable extends UserIDTable { } return null; } finally { + endTransaction(statement); close(set, statement); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/database/tables/UsersTable.java b/Plan/src/main/java/com/djrapitops/plan/database/tables/UsersTable.java index cafd2ce77..34ab1741f 100644 --- a/Plan/src/main/java/com/djrapitops/plan/database/tables/UsersTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/database/tables/UsersTable.java @@ -251,6 +251,7 @@ public class UsersTable extends UserIDTable { } return null; } finally { + endTransaction(statement); close(set, statement); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/database/tables/VersionTable.java b/Plan/src/main/java/com/djrapitops/plan/database/tables/VersionTable.java index 78a9ab35e..8bac7e4a9 100644 --- a/Plan/src/main/java/com/djrapitops/plan/database/tables/VersionTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/database/tables/VersionTable.java @@ -1,6 +1,5 @@ package main.java.com.djrapitops.plan.database.tables; -import main.java.com.djrapitops.plan.Log; import main.java.com.djrapitops.plan.database.databases.SQLDB; import main.java.com.djrapitops.plan.database.sql.Sql; import main.java.com.djrapitops.plan.database.sql.TableSqlParser; @@ -33,6 +32,27 @@ public class VersionTable extends Table { ); } + public boolean isNewDatabase() throws SQLException { + PreparedStatement statement = null; + ResultSet set = null; + try { + if (usingMySQL) { + statement = prepareStatement("SHOW TABLES LIKE ?"); + } else { + statement = prepareStatement("SELECT tbl_name FROM sqlite_master WHERE tbl_name=?"); + } + + statement.setString(1, tableName); + + set = statement.executeQuery(); + + return set.next(); + } finally { + endTransaction(statement); + close(set, statement); + } + } + /** * @return @throws SQLException */ @@ -47,12 +67,15 @@ public class VersionTable extends Table { if (set.next()) { version = set.getInt("version"); } - Log.debug("Database", "DB Schema version: " + version); return version; + } catch (Exception exc) { + exc.printStackTrace(); } finally { endTransaction(statement); close(set, statement); } + + return 1; } /** diff --git a/Plan/src/main/java/com/djrapitops/plan/queue/processing/Processor.java b/Plan/src/main/java/com/djrapitops/plan/queue/processing/Processor.java index 214acf9d4..efa0a4574 100644 --- a/Plan/src/main/java/com/djrapitops/plan/queue/processing/Processor.java +++ b/Plan/src/main/java/com/djrapitops/plan/queue/processing/Processor.java @@ -10,7 +10,7 @@ package main.java.com.djrapitops.plan.queue.processing; * @author Rsl1122 */ public abstract class Processor { - protected T object; + protected final T object; public Processor(T object) { this.object = object; diff --git a/Plan/src/main/java/com/djrapitops/plan/ui/html/Html.java b/Plan/src/main/java/com/djrapitops/plan/ui/html/Html.java index 2c8c95d6c..46bc93768 100644 --- a/Plan/src/main/java/com/djrapitops/plan/ui/html/Html.java +++ b/Plan/src/main/java/com/djrapitops/plan/ui/html/Html.java @@ -60,7 +60,7 @@ public enum Html { @Deprecated ERROR_TABLE_2(TABLELINE_2.parse("No data", "No data")), TABLE_END(""); // KILLDATA_NONE("No Kills"), - private String html; + private final String html; Html(String html) { this.html = html; diff --git a/Plan/src/main/java/com/djrapitops/plan/ui/theme/Theme.java b/Plan/src/main/java/com/djrapitops/plan/ui/theme/Theme.java index 2b93f411d..063b9a35c 100644 --- a/Plan/src/main/java/com/djrapitops/plan/ui/theme/Theme.java +++ b/Plan/src/main/java/com/djrapitops/plan/ui/theme/Theme.java @@ -47,7 +47,7 @@ public enum Theme { "fff", "000", "267F00", "e5cc12", "b74343", "1E90FF", "e0d264", "7dcc24", "b58310", "ac69ef", "ddd", "565556"); - private String[] colors; + private final String[] colors; Theme(String... colors) { int length = colors.length; @@ -63,19 +63,17 @@ public enum Theme { } public String replaceThemeColors(String resourceString) { - Theme def = Theme.DEFAULT; String replaced = resourceString; for (Colors c : Colors.values()) { - replaced = replaced.replace("#" + def.getColor(c.getId()), "#" + this.getColor(c.getId())); + replaced = replaced.replace("#" + Theme.DEFAULT.getColor(c.getId()), "#" + this.getColor(c.getId())); } return replaced; } public static String replaceColors(String resourceString) { - Theme def = Theme.DEFAULT; String replaced = resourceString; for (Colors c : Colors.values()) { - replaced = replaced.replace("#" + def.getColor(c.getId()), c.getColor()); + replaced = replaced.replace("#" + Theme.DEFAULT.getColor(c.getId()), c.getColor()); } return replaced; } diff --git a/Plan/src/main/java/com/djrapitops/plan/ui/webserver/api/bukkit/ConfigureWebAPI.java b/Plan/src/main/java/com/djrapitops/plan/ui/webserver/api/bukkit/ConfigureWebAPI.java index 57e3964e3..562a01d9e 100644 --- a/Plan/src/main/java/com/djrapitops/plan/ui/webserver/api/bukkit/ConfigureWebAPI.java +++ b/Plan/src/main/java/com/djrapitops/plan/ui/webserver/api/bukkit/ConfigureWebAPI.java @@ -10,7 +10,6 @@ import main.java.com.djrapitops.plan.ui.webserver.response.Response; import main.java.com.djrapitops.plan.ui.webserver.response.api.BadRequestResponse; import main.java.com.djrapitops.plan.ui.webserver.response.api.SuccessResponse; import main.java.com.djrapitops.plan.utilities.webserver.api.WebAPI; -import org.apache.commons.lang3.text.translate.CharSequenceTranslator; import org.bukkit.configuration.file.FileConfiguration; import java.util.Map; diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/analysis/ReduceGapTriangles.java b/Plan/src/main/java/com/djrapitops/plan/utilities/analysis/ReduceGapTriangles.java index 015e05cee..fc267e59b 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/analysis/ReduceGapTriangles.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/analysis/ReduceGapTriangles.java @@ -30,6 +30,8 @@ public class ReduceGapTriangles { continue; } + assert lastPoint != null; + long date = (long) point.getX(); long lastDate = (long) lastPoint.getX(); double y = point.getY(); diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/webserver/api/WebAPIManager.java b/Plan/src/main/java/com/djrapitops/plan/utilities/webserver/api/WebAPIManager.java index ad258ccd4..c4b1f59a2 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/webserver/api/WebAPIManager.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/webserver/api/WebAPIManager.java @@ -19,7 +19,7 @@ public class WebAPIManager { throw new IllegalStateException("Utility class"); } - private static Map registry = new HashMap<>(); + private static final Map registry = new HashMap<>(); public static void registerNewAPI(String method, WebAPI api) { registry.put(method.toLowerCase(), api); diff --git a/Plan/test/test/java/main/java/com/djrapitops/plan/data/SessionTest.java b/Plan/test/test/java/main/java/com/djrapitops/plan/data/SessionTest.java index 2faa8b6c2..57b212021 100644 --- a/Plan/test/test/java/main/java/com/djrapitops/plan/data/SessionTest.java +++ b/Plan/test/test/java/main/java/com/djrapitops/plan/data/SessionTest.java @@ -28,8 +28,5 @@ public class SessionTest { public void setUp() { } - /** - * - */ // TODO Rewrite } diff --git a/Plan/test/test/java/main/java/com/djrapitops/plan/data/cache/GeolocationCacheTest.java b/Plan/test/test/java/main/java/com/djrapitops/plan/data/cache/GeolocationCacheTest.java index 3eaa9aae8..61b8157ee 100644 --- a/Plan/test/test/java/main/java/com/djrapitops/plan/data/cache/GeolocationCacheTest.java +++ b/Plan/test/test/java/main/java/com/djrapitops/plan/data/cache/GeolocationCacheTest.java @@ -21,7 +21,7 @@ import static junit.framework.TestCase.*; @PrepareForTest(JavaPlugin.class) public class GeolocationCacheTest { - private Map ipsToCountries = new HashMap<>(); + private final Map ipsToCountries = new HashMap<>(); @Before public void setUp() { diff --git a/Plan/test/test/java/main/java/com/djrapitops/plan/data/time/WorldTimesTest.java b/Plan/test/test/java/main/java/com/djrapitops/plan/data/time/WorldTimesTest.java index d1b0859a0..e9f6bbdac 100644 --- a/Plan/test/test/java/main/java/com/djrapitops/plan/data/time/WorldTimesTest.java +++ b/Plan/test/test/java/main/java/com/djrapitops/plan/data/time/WorldTimesTest.java @@ -35,7 +35,7 @@ public class WorldTimesTest { public void testWorldChange() { long changeTime = time + 1000L; test.updateState(worldTwo, gms[0], changeTime); - assertEquals(1000L, (long) test.getWorldPlaytime(worldOne)); + assertEquals(1000L, test.getWorldPlaytime(worldOne)); assertEquals(1000L, test.getGMTimes(worldOne).getTime(gms[0])); } @@ -43,7 +43,7 @@ public class WorldTimesTest { public void testGMChange() { long changeTime = time + 1000L; test.updateState(worldOne, gms[0], changeTime); - assertEquals(1000L, (long) test.getWorldPlaytime(worldOne)); + assertEquals(1000L, test.getWorldPlaytime(worldOne)); assertEquals(1000L, test.getGMTimes(worldOne).getTime(gms[0])); } @@ -52,10 +52,10 @@ public class WorldTimesTest { long changeTime = time + 1000L; long changeTime2 = changeTime + 1000L; test.updateState(worldTwo, gms[2], changeTime); - assertEquals(1000L, (long) test.getWorldPlaytime(worldOne)); + assertEquals(1000L, test.getWorldPlaytime(worldOne)); assertEquals(1000L, test.getGMTimes(worldOne).getTime(gms[0])); test.updateState(worldOne, gms[1], changeTime2); - assertEquals(1000L, (long) test.getWorldPlaytime(worldOne)); + assertEquals(1000L, test.getWorldPlaytime(worldOne)); assertEquals(1000L, test.getGMTimes(worldOne).getTime(gms[0])); assertEquals(1000L, test.getGMTimes(worldTwo).getTime(gms[2])); } diff --git a/Plan/test/test/java/main/java/com/djrapitops/plan/database/DBUtilsTest.java b/Plan/test/test/java/main/java/com/djrapitops/plan/database/DBUtilsTest.java index 6b5af5a2c..d6f230941 100644 --- a/Plan/test/test/java/main/java/com/djrapitops/plan/database/DBUtilsTest.java +++ b/Plan/test/test/java/main/java/com/djrapitops/plan/database/DBUtilsTest.java @@ -8,6 +8,7 @@ package test.java.main.java.com.djrapitops.plan.database; import main.java.com.djrapitops.plan.database.Container; import main.java.com.djrapitops.plan.database.DBUtils; import org.junit.Test; +import test.java.utils.RandomData; import java.util.ArrayList; import java.util.HashMap; @@ -61,4 +62,15 @@ public class DBUtilsTest { assertEquals(946, result.get(2).size()); } + @Test + public void testContainers() { + Object object = new Object(); + int id = RandomData.randomInt(1, 100); + + Container container = new Container<>(object, id); + + assertEquals(id, container.getId()); + assertEquals(object, container.getObject()); + } + } diff --git a/Plan/test/test/java/main/java/com/djrapitops/plan/database/DatabaseTest.java b/Plan/test/test/java/main/java/com/djrapitops/plan/database/DatabaseTest.java index 123e0081d..9a9c484f7 100644 --- a/Plan/test/test/java/main/java/com/djrapitops/plan/database/DatabaseTest.java +++ b/Plan/test/test/java/main/java/com/djrapitops/plan/database/DatabaseTest.java @@ -47,9 +47,9 @@ public class DatabaseTest { private Database db; private Database backup; private int rows; - private UUID uuid = MockUtils.getPlayerUUID(); - private List worlds = Arrays.asList("TestWorld", "TestWorld2"); - private UUID uuid2 = MockUtils.getPlayer2UUID(); + private final UUID uuid = MockUtils.getPlayerUUID(); + private final List worlds = Arrays.asList("TestWorld", "TestWorld2"); + private final UUID uuid2 = MockUtils.getPlayer2UUID(); public DatabaseTest() { } @@ -63,8 +63,6 @@ public class DatabaseTest { db.getServerTable().saveCurrentServerInfo(new ServerInfo(-1, TestInit.getServerUUID(), "ServerName", "")); File f = new File(plan.getDataFolder(), "Errors.txt"); rows = FileUtil.lines(f).size(); - - db.init(); } @After @@ -497,13 +495,8 @@ public class DatabaseTest { assertTrue(usersTable.isRegistered(uuid)); - System.out.println("0 " + uuid); - System.out.println("1 " + db.getUsersTable().getSavedUUIDs()); - db.removeAccount(uuid); - System.out.println("2 " + db.getUsersTable().getSavedUUIDs()); - assertFalse(usersTable.isRegistered(uuid)); assertFalse(userInfoTable.isRegistered(uuid)); assertTrue(nicknamesTable.getNicknames(uuid).isEmpty()); diff --git a/Plan/test/test/java/main/java/com/djrapitops/plan/ui/graphs/GraphTest.java b/Plan/test/test/java/main/java/com/djrapitops/plan/ui/graphs/GraphTest.java index d124a5503..45793eeb1 100644 --- a/Plan/test/test/java/main/java/com/djrapitops/plan/ui/graphs/GraphTest.java +++ b/Plan/test/test/java/main/java/com/djrapitops/plan/ui/graphs/GraphTest.java @@ -21,10 +21,10 @@ import static junit.framework.TestCase.assertEquals; */ public class GraphTest { - private List tpsList = new ArrayList<>(); - private List sessionList = new ArrayList<>(); - private Map geoList = new HashMap<>(); - private Map worldTimes = new HashMap<>(); + private final List tpsList = new ArrayList<>(); + private final List sessionList = new ArrayList<>(); + private final Map geoList = new HashMap<>(); + private final Map worldTimes = new HashMap<>(); private List points = new ArrayList<>(); diff --git a/Plan/test/test/java/main/java/com/djrapitops/plan/utilities/dump/HastebinTest.java b/Plan/test/test/java/main/java/com/djrapitops/plan/utilities/dump/HastebinTest.java index c0601f67a..00ebe53e5 100644 --- a/Plan/test/test/java/main/java/com/djrapitops/plan/utilities/dump/HastebinTest.java +++ b/Plan/test/test/java/main/java/com/djrapitops/plan/utilities/dump/HastebinTest.java @@ -28,7 +28,7 @@ import static junit.framework.TestCase.assertNotNull; @PrepareForTest(JavaPlugin.class) public class HastebinTest { - private AtomicReference testLink = new AtomicReference<>(null); + private final AtomicReference testLink = new AtomicReference<>(null); @Before public void checkAvailability() throws Exception { diff --git a/Plan/test/test/java/utils/DBTestSuite.java b/Plan/test/test/java/utils/DBTestSuite.java index a8fc5e31e..02847b493 100644 --- a/Plan/test/test/java/utils/DBTestSuite.java +++ b/Plan/test/test/java/utils/DBTestSuite.java @@ -22,27 +22,31 @@ import java.io.IOException; public class DBTestSuite { @BeforeClass public static void setUp() throws IOException { - clean(true); + clean(); } @AfterClass public static void tearDown() throws IOException { - clean(false); + clean(); } - private static void clean(boolean dbOnly) throws IOException { + private static void clean() { File testFolder = TestInit.getTestFolder(); if (!testFolder.exists() || !testFolder.isDirectory()) { return; } - for (File f : testFolder.listFiles()) { - if (dbOnly && !f.getName().contains(".db")) { - continue; - } + File[] files = testFolder.listFiles(); - f.delete(); + if (files == null) { + return; + } + + for (File f : files) { + if (!f.delete()) { + f.deleteOnExit(); + } } } }