diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/operation/CheckOperations.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/operation/CheckOperations.java index a78a441a7..fb4751661 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/operation/CheckOperations.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/operation/CheckOperations.java @@ -1,7 +1,5 @@ package com.djrapitops.plan.system.database.databases.operation; -import com.djrapitops.plan.system.info.server.ServerInfo; - import java.util.UUID; public interface CheckOperations { @@ -12,10 +10,7 @@ public interface CheckOperations { boolean doesWebUserExists(String username); - @Deprecated - default boolean isPlayerRegisteredOnThisServer(UUID player) { - return isPlayerRegistered(player, ServerInfo.getServerUUID_Old()); - } + boolean isPlayerRegisteredOnThisServer(UUID player); boolean isServerInDatabase(UUID serverUUID); } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/MySQLDB.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/MySQLDB.java index ce78d60fc..5afa12d47 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/MySQLDB.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/MySQLDB.java @@ -2,6 +2,7 @@ package com.djrapitops.plan.system.database.databases.sql; import com.djrapitops.plan.api.exceptions.database.DBInitException; import com.djrapitops.plan.api.exceptions.database.DBOpException; +import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plan.system.locale.Locale; import com.djrapitops.plan.system.locale.lang.PluginLang; import com.djrapitops.plan.system.settings.Settings; @@ -14,6 +15,7 @@ import com.djrapitops.plugin.logging.error.ErrorHandler; import com.djrapitops.plugin.task.RunnableFactory; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; +import dagger.Lazy; import javax.inject.Inject; import javax.sql.DataSource; @@ -34,12 +36,13 @@ public class MySQLDB extends SQLDB { public MySQLDB( Locale locale, PlanConfig config, + Lazy serverInfo, RunnableFactory runnableFactory, PluginLogger pluginLogger, Timings timings, ErrorHandler errorHandler ) { - super(locale, config, runnableFactory, pluginLogger, timings, errorHandler); + super(() -> serverInfo.get().getServerUUID(), locale, config, runnableFactory, pluginLogger, timings, errorHandler); } private static synchronized void increment() { diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLDB.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLDB.java index 86f2a694c..889eab805 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLDB.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLDB.java @@ -31,6 +31,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.UUID; +import java.util.function.Supplier; import java.util.stream.Collectors; /** @@ -41,6 +42,8 @@ import java.util.stream.Collectors; */ public abstract class SQLDB extends Database { + private final Supplier serverUUIDSupplier; + protected final Locale locale; protected final PlanConfig config; protected final RunnableFactory runnableFactory; @@ -75,6 +78,7 @@ public abstract class SQLDB extends Database { private PluginTask dbCleanTask; public SQLDB( + Supplier serverUUIDSupplier, Locale locale, PlanConfig config, RunnableFactory runnableFactory, @@ -82,6 +86,7 @@ public abstract class SQLDB extends Database { Timings timings, ErrorHandler errorHandler ) { + this.serverUUIDSupplier = serverUUIDSupplier; this.locale = locale; this.config = config; this.runnableFactory = runnableFactory; @@ -463,4 +468,8 @@ public abstract class SQLDB extends Database { public int hashCode() { return Objects.hash(getName()); } + + public Supplier getServerUUIDSupplier() { + return serverUUIDSupplier; + } } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLiteDB.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLiteDB.java index 28a82d14d..b9cfe9f0a 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLiteDB.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SQLiteDB.java @@ -2,6 +2,7 @@ package com.djrapitops.plan.system.database.databases.sql; import com.djrapitops.plan.api.exceptions.database.DBInitException; import com.djrapitops.plan.system.file.PlanFiles; +import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plan.system.locale.Locale; import com.djrapitops.plan.system.locale.lang.PluginLang; import com.djrapitops.plan.system.settings.config.PlanConfig; @@ -13,6 +14,7 @@ import com.djrapitops.plugin.logging.error.ErrorHandler; import com.djrapitops.plugin.task.AbsRunnable; import com.djrapitops.plugin.task.PluginTask; import com.djrapitops.plugin.task.RunnableFactory; +import dagger.Lazy; import javax.inject.Inject; import java.io.File; @@ -29,16 +31,17 @@ public class SQLiteDB extends SQLDB { private Connection connection; private PluginTask connectionPingTask; - public SQLiteDB( + private SQLiteDB( File databaseFile, Locale locale, PlanConfig config, + Lazy serverInfo, RunnableFactory runnableFactory, PluginLogger logger, Timings timings, ErrorHandler errorHandler ) { - super(locale, config, runnableFactory, logger, timings, errorHandler); + super(() -> serverInfo.get().getServerUUID(), locale, config, runnableFactory, logger, timings, errorHandler); dbName = databaseFile.getName(); this.databaseFile = databaseFile; } @@ -179,6 +182,7 @@ public class SQLiteDB extends SQLDB { private final Locale locale; private final PlanConfig config; + private final Lazy serverInfo; private final RunnableFactory runnableFactory; private final PluginLogger logger; private final Timings timings; @@ -190,6 +194,7 @@ public class SQLiteDB extends SQLDB { Locale locale, PlanConfig config, PlanFiles planFiles, + Lazy serverInfo, RunnableFactory runnableFactory, PluginLogger logger, Timings timings, @@ -198,6 +203,7 @@ public class SQLiteDB extends SQLDB { this.locale = locale; this.config = config; this.planFiles = planFiles; + this.serverInfo = serverInfo; this.runnableFactory = runnableFactory; this.logger = logger; this.timings = timings; @@ -213,7 +219,7 @@ public class SQLiteDB extends SQLDB { } public SQLiteDB usingFile(File databaseFile) { - return new SQLiteDB(databaseFile, locale, config, runnableFactory, logger, timings, errorHandler); + return new SQLiteDB(databaseFile, locale, config, serverInfo, runnableFactory, logger, timings, errorHandler); } } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SpongeMySQLDB.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SpongeMySQLDB.java index 2cee8bbed..20e413209 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SpongeMySQLDB.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/SpongeMySQLDB.java @@ -1,6 +1,7 @@ package com.djrapitops.plan.system.database.databases.sql; import com.djrapitops.plan.api.exceptions.database.DBInitException; +import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plan.system.locale.Locale; import com.djrapitops.plan.system.settings.Settings; import com.djrapitops.plan.system.settings.config.PlanConfig; @@ -8,6 +9,7 @@ import com.djrapitops.plugin.benchmarking.Timings; import com.djrapitops.plugin.logging.console.PluginLogger; import com.djrapitops.plugin.logging.error.ErrorHandler; import com.djrapitops.plugin.task.RunnableFactory; +import dagger.Lazy; import org.spongepowered.api.Sponge; import org.spongepowered.api.service.sql.SqlService; @@ -27,12 +29,13 @@ public class SpongeMySQLDB extends MySQLDB { public SpongeMySQLDB( Locale locale, PlanConfig config, + Lazy serverInfo, RunnableFactory runnableFactory, PluginLogger pluginLogger, Timings timings, ErrorHandler errorHandler ) { - super(locale, config, runnableFactory, pluginLogger, timings, errorHandler); + super(locale, config, serverInfo, runnableFactory, pluginLogger, timings, errorHandler); } @Override diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/operation/SQLCheckOps.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/operation/SQLCheckOps.java index 0de5f4137..2e0bac214 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/operation/SQLCheckOps.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/operation/SQLCheckOps.java @@ -21,6 +21,11 @@ public class SQLCheckOps extends SQLOps implements CheckOperations { return userInfoTable.isRegistered(player, server); } + @Override + public boolean isPlayerRegisteredOnThisServer(UUID player) { + return userInfoTable.isRegisteredOnThisServer(player); + } + @Override public boolean doesWebUserExists(String username) { return securityTable.userExists(username); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/Patch.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/Patch.java index e832d00f3..4205a114f 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/Patch.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/Patch.java @@ -8,6 +8,7 @@ import com.djrapitops.plan.system.database.databases.sql.statements.TableSqlPars import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.UUID; public abstract class Patch { @@ -91,4 +92,7 @@ public abstract class Patch { db.execute(sql); } + protected UUID getServerUUID() { + return db.getServerUUIDSupplier().get(); + } } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/Version10Patch.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/Version10Patch.java index 947ca42e0..5cad46a01 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/Version10Patch.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/patches/Version10Patch.java @@ -4,7 +4,6 @@ import com.djrapitops.plan.api.exceptions.database.DBInitException; import com.djrapitops.plan.api.exceptions.database.DBOpException; import com.djrapitops.plan.system.database.databases.sql.SQLDB; import com.djrapitops.plan.system.database.databases.sql.tables.*; -import com.djrapitops.plan.system.info.server.ServerInfo; import java.util.Optional; @@ -24,7 +23,7 @@ public class Version10Patch extends Patch { @Override public void apply() { try { - Optional fetchedServerID = db.getServerTable().getServerID(ServerInfo.getServerUUID_Old()); + Optional fetchedServerID = db.getServerTable().getServerID(getServerUUID()); if (!fetchedServerID.isPresent()) { throw new IllegalStateException("Server UUID was not registered, try rebooting the plugin."); } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/CommandUseTable.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/CommandUseTable.java index 9022dfefe..bb31ea024 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/CommandUseTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/CommandUseTable.java @@ -9,7 +9,6 @@ import com.djrapitops.plan.system.database.databases.sql.statements.Column; import com.djrapitops.plan.system.database.databases.sql.statements.Select; import com.djrapitops.plan.system.database.databases.sql.statements.Sql; import com.djrapitops.plan.system.database.databases.sql.statements.TableSqlParser; -import com.djrapitops.plan.system.info.server.ServerInfo; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -94,7 +93,7 @@ public class CommandUseTable extends Table { * @return command - times used Map */ public Map getCommandUse() { - return getCommandUse(ServerInfo.getServerUUID_Old()); + return getCommandUse(getServerUUID()); } public void commandUsed(String command) { @@ -110,7 +109,7 @@ public class CommandUseTable extends Table { boolean updated = execute(new ExecStatement(sql) { @Override public void prepare(PreparedStatement statement) throws SQLException { - statement.setString(1, ServerInfo.getServerUUID_Old().toString()); + statement.setString(1, getServerUUID().toString()); statement.setString(2, command); } }); @@ -144,7 +143,7 @@ public class CommandUseTable extends Table { public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, command); statement.setInt(2, 1); - statement.setString(3, ServerInfo.getServerUUID_Old().toString()); + statement.setString(3, getServerUUID().toString()); } }); } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/KillsTable.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/KillsTable.java index 2d47862e5..2c2fb86f0 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/KillsTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/KillsTable.java @@ -12,7 +12,6 @@ import com.djrapitops.plan.system.database.databases.sql.processing.QueryStateme import com.djrapitops.plan.system.database.databases.sql.statements.Column; import com.djrapitops.plan.system.database.databases.sql.statements.Sql; import com.djrapitops.plan.system.database.databases.sql.statements.TableSqlParser; -import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plugin.utilities.Verify; import java.sql.PreparedStatement; @@ -183,7 +182,7 @@ public class KillsTable extends UserIDTable { statement.setString(1, uuid.toString()); statement.setString(2, victim.toString()); - statement.setString(3, ServerInfo.getServerUUID_Old().toString()); + statement.setString(3, getServerUUID().toString()); statement.setInt(4, sessionID); statement.setLong(5, date); statement.setString(6, weapon); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/NicknamesTable.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/NicknamesTable.java index 88bc6ab59..3a81bb600 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/NicknamesTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/NicknamesTable.java @@ -9,7 +9,6 @@ import com.djrapitops.plan.system.database.databases.sql.processing.QueryStateme import com.djrapitops.plan.system.database.databases.sql.statements.Column; import com.djrapitops.plan.system.database.databases.sql.statements.Sql; import com.djrapitops.plan.system.database.databases.sql.statements.TableSqlParser; -import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plugin.utilities.Verify; import java.sql.PreparedStatement; @@ -111,7 +110,7 @@ public class NicknamesTable extends UserIDTable { * @return The nicknames of the User */ public List getNicknames(UUID uuid) { - return getNicknames(uuid, ServerInfo.getServerUUID_Old()); + return getNicknames(uuid, getServerUUID()); } public Map>> getAllNicknames() { @@ -167,7 +166,7 @@ public class NicknamesTable extends UserIDTable { statement.setLong(1, name.getDate()); statement.setString(2, name.getName()); statement.setString(3, uuid.toString()); - statement.setString(4, ServerInfo.getServerUUID_Old().toString()); + statement.setString(4, getServerUUID().toString()); } }); } @@ -177,7 +176,7 @@ public class NicknamesTable extends UserIDTable { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, uuid.toString()); - statement.setString(2, ServerInfo.getServerUUID_Old().toString()); + statement.setString(2, getServerUUID().toString()); statement.setString(3, name.getName()); statement.setLong(4, name.getDate()); } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/PingTable.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/PingTable.java index 5e53888e5..bd567c638 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/PingTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/PingTable.java @@ -9,7 +9,6 @@ import com.djrapitops.plan.system.database.databases.sql.processing.QueryStateme import com.djrapitops.plan.system.database.databases.sql.statements.Column; import com.djrapitops.plan.system.database.databases.sql.statements.Sql; import com.djrapitops.plan.system.database.databases.sql.statements.TableSqlParser; -import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plugin.api.TimeAmount; import java.sql.PreparedStatement; @@ -73,7 +72,7 @@ public class PingTable extends UserIDTable { @Override public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, uuid.toString()); - statement.setString(2, ServerInfo.getServerUUID_Old().toString()); + statement.setString(2, getServerUUID().toString()); statement.setLong(3, ping.getDate()); statement.setInt(4, ping.getMin()); statement.setInt(5, ping.getMax()); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/SessionsTable.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/SessionsTable.java index d3f37c1bb..3f57aecc0 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/SessionsTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/SessionsTable.java @@ -11,7 +11,6 @@ import com.djrapitops.plan.system.database.databases.sql.statements.Column; import com.djrapitops.plan.system.database.databases.sql.statements.Select; import com.djrapitops.plan.system.database.databases.sql.statements.Sql; import com.djrapitops.plan.system.database.databases.sql.statements.TableSqlParser; -import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plugin.utilities.Verify; import java.sql.PreparedStatement; @@ -134,7 +133,7 @@ public class SessionsTable extends UserIDTable { statement.setInt(4, session.getUnsafe(SessionKeys.DEATH_COUNT)); statement.setInt(5, session.getUnsafe(SessionKeys.MOB_KILL_COUNT)); statement.setLong(6, session.getUnsafe(SessionKeys.AFK_TIME)); - statement.setString(7, ServerInfo.getServerUUID_Old().toString()); + statement.setString(7, getServerUUID().toString()); } }); } @@ -239,7 +238,7 @@ public class SessionsTable extends UserIDTable { * @return Milliseconds played on THIS server. 0 if player or server not found. */ public long getPlaytime(UUID uuid) { - return getPlaytime(uuid, ServerInfo.getServerUUID_Old()); + return getPlaytime(uuid, getServerUUID()); } /** @@ -250,7 +249,7 @@ public class SessionsTable extends UserIDTable { * @return Milliseconds played on THIS server. 0 if player or server not found. */ public long getPlaytime(UUID uuid, long afterDate) { - return getPlaytime(uuid, ServerInfo.getServerUUID_Old(), afterDate); + return getPlaytime(uuid, getServerUUID(), afterDate); } /** @@ -357,7 +356,7 @@ public class SessionsTable extends UserIDTable { * @return How many sessions player has. 0 if player or server not found. */ public int getSessionCount(UUID uuid, long afterDate) { - return getSessionCount(uuid, ServerInfo.getServerUUID_Old(), afterDate); + return getSessionCount(uuid, getServerUUID(), afterDate); } public Map> getSessionInfoOfServer(UUID serverUUID) { @@ -404,7 +403,7 @@ public class SessionsTable extends UserIDTable { } public Map> getSessionInfoOfServer() { - return getSessionInfoOfServer(ServerInfo.getServerUUID_Old()); + return getSessionInfoOfServer(getServerUUID()); } public Map getLastSeenForAllPlayers() { diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/TPSTable.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/TPSTable.java index d8a893d88..84bde8ad1 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/TPSTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/TPSTable.java @@ -12,7 +12,6 @@ import com.djrapitops.plan.system.database.databases.sql.statements.Select; import com.djrapitops.plan.system.database.databases.sql.statements.Sql; import com.djrapitops.plan.system.database.databases.sql.statements.TableSqlParser; import com.djrapitops.plan.system.info.server.Server; -import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plugin.api.TimeAmount; import com.djrapitops.plugin.utilities.Verify; @@ -105,7 +104,7 @@ public class TPSTable extends Table { * @return @throws SQLException */ public List getTPSData() { - return getTPSData(ServerInfo.getServerUUID_Old()); + return getTPSData(getServerUUID()); } /** @@ -138,7 +137,7 @@ public class TPSTable extends Table { execute(new ExecStatement(insertStatement) { @Override public void prepare(PreparedStatement statement) throws SQLException { - statement.setString(1, ServerInfo.getServerUUID_Old().toString()); + statement.setString(1, getServerUUID().toString()); statement.setLong(2, tps.getDate()); statement.setDouble(3, tps.getTicksPerSecond()); statement.setInt(4, tps.getPlayers()); @@ -194,7 +193,7 @@ public class TPSTable extends Table { } public Optional getPeakPlayerCount(long afterDate) { - return getPeakPlayerCount(ServerInfo.getServerUUID_Old(), afterDate); + return getPeakPlayerCount(getServerUUID(), afterDate); } public Map> getAllTPS() { diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/Table.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/Table.java index 6fc895155..d7e31a247 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/Table.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/Table.java @@ -10,6 +10,7 @@ import com.google.common.base.Objects; import java.sql.Connection; import java.sql.SQLException; +import java.util.UUID; /** * Abstract representation of a SQL database table. @@ -44,11 +45,8 @@ public abstract class Table { } } - protected void renameTable(String to) { - String sql = usingMySQL ? - "RENAME TABLE " + tableName + " TO " + to : - "ALTER TABLE " + tableName + " RENAME TO " + to; - execute(sql); + protected UUID getServerUUID() { + return db.getServerUUIDSupplier().get(); } /** diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/TransferTable.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/TransferTable.java index 08ff5a0a9..37f874222 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/TransferTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/TransferTable.java @@ -11,7 +11,6 @@ import com.djrapitops.plan.system.database.databases.sql.processing.QueryStateme import com.djrapitops.plan.system.database.databases.sql.statements.Column; import com.djrapitops.plan.system.database.databases.sql.statements.Sql; import com.djrapitops.plan.system.database.databases.sql.statements.TableSqlParser; -import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plugin.api.TimeAmount; import java.sql.PreparedStatement; @@ -90,7 +89,7 @@ public class TransferTable extends Table { execute(new ExecStatement(sql) { @Override public void prepare(PreparedStatement statement) throws SQLException { - statement.setString(1, ServerInfo.getServerUUID_Old().toString()); + statement.setString(1, getServerUUID().toString()); statement.setString(2, "onlineStatus"); } }); @@ -100,7 +99,7 @@ public class TransferTable extends Table { execute(new ExecStatement(insertStatementNoParts) { @Override public void prepare(PreparedStatement statement) throws SQLException { - statement.setString(1, ServerInfo.getServerUUID_Old().toString()); + statement.setString(1, getServerUUID().toString()); statement.setLong(2, System.currentTimeMillis() + TimeAmount.HOUR.ms()); statement.setString(3, "configSettings"); statement.setString(4, null); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/UserInfoTable.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/UserInfoTable.java index f44736fdb..689e1b28d 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/UserInfoTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/UserInfoTable.java @@ -11,7 +11,6 @@ import com.djrapitops.plan.system.database.databases.sql.processing.ExecStatemen import com.djrapitops.plan.system.database.databases.sql.processing.QueryAllStatement; import com.djrapitops.plan.system.database.databases.sql.processing.QueryStatement; import com.djrapitops.plan.system.database.databases.sql.statements.*; -import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plugin.utilities.Verify; import java.sql.PreparedStatement; @@ -69,7 +68,7 @@ public class UserInfoTable extends UserIDTable { public void prepare(PreparedStatement statement) throws SQLException { statement.setString(1, uuid.toString()); statement.setLong(2, registered); - statement.setString(3, ServerInfo.getServerUUID_Old().toString()); + statement.setString(3, getServerUUID().toString()); } }); } @@ -95,7 +94,7 @@ public class UserInfoTable extends UserIDTable { } public boolean isRegistered(UUID uuid) { - return isRegistered(uuid, ServerInfo.getServerUUID_Old()); + return isRegistered(uuid, getServerUUID()); } public void updateOpStatus(UUID uuid, boolean op) { @@ -166,7 +165,7 @@ public class UserInfoTable extends UserIDTable { } public UserInfo getUserInfo(UUID uuid) { - return getAllUserInfo(uuid).get(ServerInfo.getServerUUID_Old()); + return getAllUserInfo(uuid).get(getServerUUID()); } public List getServerUserInfo(UUID serverUUID) { @@ -213,7 +212,7 @@ public class UserInfoTable extends UserIDTable { * @return List of UserInfo objects. */ public List getServerUserInfo() { - return getServerUserInfo(ServerInfo.getServerUUID_Old()); + return getServerUserInfo(getServerUUID()); } public Map> getAllUserInfo() { @@ -312,6 +311,10 @@ public class UserInfoTable extends UserIDTable { }); } + public boolean isRegisteredOnThisServer(UUID player) { + return isRegistered(player, getServerUUID()); + } + public enum Col implements Column { USER_ID(UserIDTable.Col.USER_ID.get()), SERVER_ID("server_id"), diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/WorldTable.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/WorldTable.java index 5ddaf133f..4e3a55967 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/WorldTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/WorldTable.java @@ -8,7 +8,6 @@ import com.djrapitops.plan.system.database.databases.sql.processing.QueryStateme import com.djrapitops.plan.system.database.databases.sql.statements.Column; import com.djrapitops.plan.system.database.databases.sql.statements.Sql; import com.djrapitops.plan.system.database.databases.sql.statements.TableSqlParser; -import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plugin.utilities.Verify; import java.sql.PreparedStatement; @@ -73,7 +72,7 @@ public class WorldTable extends Table { } public List getWorlds() { - return getWorlds(ServerInfo.getServerUUID_Old()); + return getWorlds(getServerUUID()); } public List getWorlds(UUID serverUUID) { @@ -100,7 +99,7 @@ public class WorldTable extends Table { } public void saveWorlds(Collection worlds) { - saveWorlds(worlds, ServerInfo.getServerUUID_Old()); + saveWorlds(worlds, getServerUUID()); } /** diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/WorldTimesTable.java b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/WorldTimesTable.java index 76dea846c..f8a61a552 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/WorldTimesTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/databases/sql/tables/WorldTimesTable.java @@ -12,7 +12,6 @@ import com.djrapitops.plan.system.database.databases.sql.processing.QueryStateme import com.djrapitops.plan.system.database.databases.sql.statements.Column; import com.djrapitops.plan.system.database.databases.sql.statements.Sql; import com.djrapitops.plan.system.database.databases.sql.statements.TableSqlParser; -import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plugin.utilities.Verify; import java.sql.PreparedStatement; @@ -143,7 +142,7 @@ public class WorldTimesTable extends UserIDTable { GMTimes gmTimes = entry.getValue(); statement.setString(1, uuid.toString()); statement.setString(2, worldName); - String serverUUID = ServerInfo.getServerUUID_Old().toString(); + String serverUUID = getServerUUID().toString(); statement.setString(3, serverUUID); statement.setString(4, serverUUID); statement.setInt(5, sessionID); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/importing/data/UserImportData.java b/Plan/src/main/java/com/djrapitops/plan/system/importing/data/UserImportData.java index e06155663..134f7f3e3 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/importing/data/UserImportData.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/importing/data/UserImportData.java @@ -7,7 +7,6 @@ package com.djrapitops.plan.system.importing.data; import com.djrapitops.plan.data.container.PlayerKill; import com.djrapitops.plan.data.store.objects.Nickname; import com.djrapitops.plan.data.time.GMTimes; -import com.djrapitops.plan.system.info.server.ServerInfo; import java.util.*; @@ -49,8 +48,8 @@ public class UserImportData { this.deaths = deaths; } - public static UserImportDataBuilder builder() { - return new UserImportDataBuilder(); + public static UserImportDataBuilder builder(UUID serverUUID) { + return new UserImportDataBuilder(serverUUID); } public String getName() { @@ -150,6 +149,8 @@ public class UserImportData { } public static final class UserImportDataBuilder { + private final UUID serverUUID; + private final List nicknames = new ArrayList<>(); private final List ips = new ArrayList<>(); private final Map worldTimes = new HashMap<>(); @@ -163,8 +164,8 @@ public class UserImportData { private int mobKills; private int deaths; - private UserImportDataBuilder() { - /* Private Constructor */ + private UserImportDataBuilder(UUID serverUUID) { + this.serverUUID = serverUUID; } public UserImportDataBuilder name(String name) { @@ -197,7 +198,6 @@ public class UserImportData { public UserImportDataBuilder nicknames(String... nicknames) { long time = System.currentTimeMillis(); - UUID serverUUID = ServerInfo.getServerUUID_Old(); Arrays.stream(nicknames) .map(nick -> new Nickname(nick, time, serverUUID)) diff --git a/Plan/src/main/java/com/djrapitops/plan/system/importing/importers/Importer.java b/Plan/src/main/java/com/djrapitops/plan/system/importing/importers/Importer.java index 9dbbc4ba4..193856890 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/importing/importers/Importer.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/importing/importers/Importer.java @@ -38,7 +38,7 @@ public abstract class Importer { private final GeolocationCache geolocationCache; private final Database database; - private final UUID serverUUID; + protected final UUID serverUUID; private final String name; diff --git a/Plan/src/main/java/com/djrapitops/plan/system/importing/importers/OfflinePlayerImporter.java b/Plan/src/main/java/com/djrapitops/plan/system/importing/importers/OfflinePlayerImporter.java index e798eb28e..2f7bfa67c 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/importing/importers/OfflinePlayerImporter.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/importing/importers/OfflinePlayerImporter.java @@ -48,7 +48,7 @@ public class OfflinePlayerImporter extends Importer { Set banned = Bukkit.getBannedPlayers(); Arrays.stream(Bukkit.getOfflinePlayers()).parallel().forEach(player -> { - UserImportData.UserImportDataBuilder builder = UserImportData.builder(); + UserImportData.UserImportDataBuilder builder = UserImportData.builder(serverUUID); builder.name(player.getName()) .uuid(player.getUniqueId()) .registered(player.getFirstPlayed()); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/info/server/ServerInfo.java b/Plan/src/main/java/com/djrapitops/plan/system/info/server/ServerInfo.java index 5fc56b216..aaa6a9586 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/info/server/ServerInfo.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/info/server/ServerInfo.java @@ -5,7 +5,6 @@ package com.djrapitops.plan.system.info.server; import com.djrapitops.plan.api.exceptions.EnableException; -import com.djrapitops.plan.system.PlanSystem; import com.djrapitops.plan.system.SubSystem; import com.djrapitops.plan.system.info.server.properties.ServerProperties; import com.djrapitops.plugin.utilities.Verify; @@ -28,18 +27,6 @@ public abstract class ServerInfo implements SubSystem { this.serverProperties = serverProperties; } - @Deprecated - public static ServerInfo getInstance() { - ServerInfo serverInfo = PlanSystem.getInstance().getServerInfo(); - Verify.nullCheck(serverInfo, () -> new IllegalStateException("ServerInfo was not initialized.")); - return serverInfo; - } - - @Deprecated - public static UUID getServerUUID_Old() { - return getInstance().server.getUuid(); - } - public Server getServer() { return server; } diff --git a/Plan/src/test/java/com/djrapitops/plan/system/database/databases/SQLiteTest.java b/Plan/src/test/java/com/djrapitops/plan/system/database/databases/SQLiteTest.java index 9a3c6b607..e383bf827 100644 --- a/Plan/src/test/java/com/djrapitops/plan/system/database/databases/SQLiteTest.java +++ b/Plan/src/test/java/com/djrapitops/plan/system/database/databases/SQLiteTest.java @@ -89,7 +89,7 @@ public class SQLiteTest { db.remove().everything(); ServerTable serverTable = db.getServerTable(); serverTable.saveCurrentServerInfo(new Server(-1, TestConstants.SERVER_UUID, "ServerName", "", 20)); -// assertEquals(ServerInfo.getServerUUID_Old(), TestConstants.SERVER_UUID); TODO check if assertion is required + assertEquals(db.getServerUUIDSupplier().get(), TestConstants.SERVER_UUID); System.out.println("-- Clear Complete --\n"); } diff --git a/Plan/src/test/java/com/djrapitops/plan/system/importing/data/ImportBuilderTest.java b/Plan/src/test/java/com/djrapitops/plan/system/importing/data/ImportBuilderTest.java index 681599150..f2cad9cdf 100644 --- a/Plan/src/test/java/com/djrapitops/plan/system/importing/data/ImportBuilderTest.java +++ b/Plan/src/test/java/com/djrapitops/plan/system/importing/data/ImportBuilderTest.java @@ -68,7 +68,7 @@ public class ImportBuilderTest { @Test public void testEmptyUserBuilder() { - UserImportData data = UserImportData.builder().build(); + UserImportData data = UserImportData.builder(TestConstants.SERVER_UUID).build(); assertEquals(0, data.getRegistered()); assertEquals(0, data.getTimesKicked()); @@ -122,7 +122,7 @@ public class ImportBuilderTest { @Test public void testUserDataBuilder() { - UserImportData.UserImportDataBuilder builder = UserImportData.builder(); + UserImportData.UserImportDataBuilder builder = UserImportData.builder(TestConstants.SERVER_UUID); UUID uuid = UUID.randomUUID(); PlayerKill playerKill = new PlayerKill(uuid, randomString, 1); diff --git a/Plan/src/test/java/com/djrapitops/plan/system/settings/network/NetworkSettingsTest.java b/Plan/src/test/java/com/djrapitops/plan/system/settings/network/NetworkSettingsTest.java index 23d0593d1..e01255a0e 100644 --- a/Plan/src/test/java/com/djrapitops/plan/system/settings/network/NetworkSettingsTest.java +++ b/Plan/src/test/java/com/djrapitops/plan/system/settings/network/NetworkSettingsTest.java @@ -10,6 +10,8 @@ import org.junit.rules.TemporaryFolder; import utilities.TestConstants; import utilities.mocks.SystemMockUtil; +import static org.junit.Assert.assertEquals; + public class NetworkSettingsTest { @ClassRule @@ -43,7 +45,7 @@ public class NetworkSettingsTest { db.remove().everything(); ServerTable serverTable = db.getServerTable(); serverTable.saveCurrentServerInfo(new Server(-1, TestConstants.SERVER_UUID, "ServerName", "", 20)); -// assertEquals(ServerInfo.getServerUUID_Old(), TestConstants.SERVER_UUID); TODO check if assert is necessary. + assertEquals(db.getServerUUIDSupplier().get(), TestConstants.SERVER_UUID); } @Test