diff --git a/pom.xml b/pom.xml index 35552f3..a258e34 100644 --- a/pom.xml +++ b/pom.xml @@ -91,6 +91,12 @@ mariadb-java-client 3.1.2 + + com.mysql + mysql-connector-j + 8.1.0 + + com.github.jsixface diff --git a/src/main/java/xyz/atnrch/nicko/config/Configuration.java b/src/main/java/xyz/atnrch/nicko/config/Configuration.java index e5ff073..9fdef97 100644 --- a/src/main/java/xyz/atnrch/nicko/config/Configuration.java +++ b/src/main/java/xyz/atnrch/nicko/config/Configuration.java @@ -4,13 +4,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; public class Configuration { @JsonProperty("sql") - private final DataSourceConfiguration sqlConfiguration; + private final SQLDataSourceConfiguration sqlConfiguration; @JsonProperty("redis") private final DataSourceConfiguration redisConfiguration; private final String prefix; private final Boolean customLocale; - public Configuration(DataSourceConfiguration sqlConfiguration, DataSourceConfiguration redisConfiguration, String prefix, Boolean customLocale) { + public Configuration(SQLDataSourceConfiguration sqlConfiguration, DataSourceConfiguration redisConfiguration, String prefix, Boolean customLocale) { this.sqlConfiguration = sqlConfiguration; this.redisConfiguration = redisConfiguration; this.prefix = prefix; @@ -19,14 +19,14 @@ public class Configuration { public Configuration() { this( - new DataSourceConfiguration(false, "", 3306, "", ""), + new SQLDataSourceConfiguration(false, "", 3306, "", "", true), new DataSourceConfiguration(false, "", 6379, "", ""), "", false ); } - public DataSourceConfiguration getSqlConfiguration() { + public SQLDataSourceConfiguration getSqlConfiguration() { return sqlConfiguration; } diff --git a/src/main/java/xyz/atnrch/nicko/config/DataSourceConfiguration.java b/src/main/java/xyz/atnrch/nicko/config/DataSourceConfiguration.java index 291d242..20509df 100644 --- a/src/main/java/xyz/atnrch/nicko/config/DataSourceConfiguration.java +++ b/src/main/java/xyz/atnrch/nicko/config/DataSourceConfiguration.java @@ -1,9 +1,6 @@ package xyz.atnrch.nicko.config; public class DataSourceConfiguration { - public static final DataSourceConfiguration SQL_EMPTY = new DataSourceConfiguration(false, "127.0.0.1", 3306, "root", ""); - public static final DataSourceConfiguration REDIS_EMPTY = new DataSourceConfiguration(false, "127.0.0.1", 6379, "", ""); - private final boolean enabled; private final String address; private final Integer port; diff --git a/src/main/java/xyz/atnrch/nicko/config/DefaultDataSources.java b/src/main/java/xyz/atnrch/nicko/config/DefaultDataSources.java new file mode 100644 index 0000000..076ff54 --- /dev/null +++ b/src/main/java/xyz/atnrch/nicko/config/DefaultDataSources.java @@ -0,0 +1,8 @@ +package xyz.atnrch.nicko.config; + +public class DefaultDataSources { + public static final DataSourceConfiguration REDIS_EMPTY = new DataSourceConfiguration(false, "127.0.0.1", 6379, "", ""); + public static final SQLDataSourceConfiguration MARIADB_EMPTY = new SQLDataSourceConfiguration(false, "127.0.0.1", 3306, "root", "", true); + public static final SQLDataSourceConfiguration SQL_EMPTY = new SQLDataSourceConfiguration(false, "127.0.0.1", 3306, "root", "", false); + +} diff --git a/src/main/java/xyz/atnrch/nicko/config/SQLDataSourceConfiguration.java b/src/main/java/xyz/atnrch/nicko/config/SQLDataSourceConfiguration.java new file mode 100644 index 0000000..0bb9852 --- /dev/null +++ b/src/main/java/xyz/atnrch/nicko/config/SQLDataSourceConfiguration.java @@ -0,0 +1,14 @@ +package xyz.atnrch.nicko.config; + +public class SQLDataSourceConfiguration extends DataSourceConfiguration { + private final boolean mariadb; + + public SQLDataSourceConfiguration(boolean enabled, String address, Integer port, String username, String password, boolean mariadb) { + super(enabled, address, port, username, password); + this.mariadb = mariadb; + } + + public boolean isMariadb() { + return mariadb; + } +} diff --git a/src/main/java/xyz/atnrch/nicko/storage/PlayerDataStore.java b/src/main/java/xyz/atnrch/nicko/storage/PlayerDataStore.java index 0412913..bf7c719 100644 --- a/src/main/java/xyz/atnrch/nicko/storage/PlayerDataStore.java +++ b/src/main/java/xyz/atnrch/nicko/storage/PlayerDataStore.java @@ -1,16 +1,17 @@ package xyz.atnrch.nicko.storage; import org.bukkit.entity.Player; -import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.appearance.ActionResult; -import xyz.atnrch.nicko.profile.NickoProfile; +import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.i18n.I18NDict; import xyz.atnrch.nicko.mojang.MojangAPI; import xyz.atnrch.nicko.mojang.MojangUtils; +import xyz.atnrch.nicko.profile.NickoProfile; import xyz.atnrch.nicko.storage.json.JSONStorage; import xyz.atnrch.nicko.storage.map.MapCache; +import xyz.atnrch.nicko.storage.mariadb.MariaDBStorage; +import xyz.atnrch.nicko.storage.mysql.MySQLStorage; import xyz.atnrch.nicko.storage.redis.RedisCache; -import xyz.atnrch.nicko.storage.sql.SQLStorage; import java.io.IOException; import java.util.Optional; @@ -24,7 +25,9 @@ public class PlayerDataStore { public PlayerDataStore(MojangAPI mojangAPI, Configuration configuration) { this.mojangAPI = mojangAPI; - this.storage = configuration.getSqlConfiguration().isEnabled() ? new SQLStorage(configuration) : new JSONStorage(); + this.storage = configuration.getSqlConfiguration().isEnabled() ? + configuration.getSqlConfiguration().isMariadb() ? new MariaDBStorage(configuration) : new MySQLStorage(configuration) + : new JSONStorage(); this.cache = configuration.getRedisConfiguration().isEnabled() ? new RedisCache(configuration) : new MapCache(); } diff --git a/src/main/java/xyz/atnrch/nicko/storage/mariadb/MariaDBStorage.java b/src/main/java/xyz/atnrch/nicko/storage/mariadb/MariaDBStorage.java new file mode 100644 index 0000000..6908612 --- /dev/null +++ b/src/main/java/xyz/atnrch/nicko/storage/mariadb/MariaDBStorage.java @@ -0,0 +1,141 @@ +package xyz.atnrch.nicko.storage.mariadb; + +import xyz.atnrch.nicko.appearance.ActionResult; +import xyz.atnrch.nicko.config.Configuration; +import xyz.atnrch.nicko.i18n.I18NDict; +import xyz.atnrch.nicko.i18n.Locale; +import xyz.atnrch.nicko.profile.NickoProfile; +import xyz.atnrch.nicko.storage.Storage; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Optional; +import java.util.UUID; +import java.util.logging.Logger; + +public class MariaDBStorage extends Storage { + private final Logger logger = Logger.getLogger("SQLStorage"); + private final Configuration configuration; + + private MariaDBStorageProvider provider; + + public MariaDBStorage(Configuration configuration) { + this.configuration = configuration; + } + + @Override + public MariaDBStorageProvider getProvider() { + if (provider == null) { + provider = new MariaDBStorageProvider(configuration); + } + return provider; + } + + @Override + public ActionResult store(UUID uuid, NickoProfile profile) { + final Connection connection = getProvider().getConnection(); + if (connection == null) return ActionResult.error(I18NDict.Error.SQL_ERROR); + + try { + final PreparedStatement statement = isStored(uuid) ? + getUpdateStatement(connection, uuid, profile) : getInsertStatement(connection, uuid, profile); + statement.executeUpdate(); + return ActionResult.ok(); + } catch (SQLException e) { + logger.warning("Couldn't send SQL Request: " + e.getMessage()); + return ActionResult.error(I18NDict.Error.SQL_ERROR); + } + } + + @Override + public boolean isStored(UUID uuid) { + final Connection connection = getProvider().getConnection(); + if (connection == null) return false; + + try { + final String sql = "SELECT uuid FROM nicko.DATA WHERE uuid = ?"; + + final PreparedStatement statement = connection.prepareStatement(sql); + statement.setString(1, uuid.toString()); + + final ResultSet resultSet = statement.executeQuery(); + return resultSet.next(); + } catch (SQLException e) { + logger.warning("Couldn't check if data is present: " + e.getMessage()); + return false; + } + } + + @Override + public Optional retrieve(UUID uuid) { + final Connection connection = getProvider().getConnection(); + if (connection == null) return Optional.empty(); + if (!isStored(uuid)) return Optional.empty(); + + try { + final String sql = "SELECT * FROM nicko.DATA WHERE uuid = ?"; + + final PreparedStatement statement = connection.prepareStatement(sql); + statement.setString(1, uuid.toString()); + + final ResultSet resultSet = statement.executeQuery(); + String name = ""; + String skin = ""; + String locale = ""; + boolean bungeecord = false; + while (resultSet.next()) { + name = resultSet.getString("name"); + skin = resultSet.getString("skin"); + locale = resultSet.getString("locale"); + bungeecord = resultSet.getBoolean("bungeecord"); + } + + final NickoProfile profile = new NickoProfile(name, skin, Locale.fromCode(locale), bungeecord); + return Optional.of(profile); + } catch (SQLException e) { + logger.warning("Couldn't fetch profile: " + e.getMessage()); + return Optional.empty(); + } + } + + @Override + public ActionResult delete(UUID uuid) { + final Connection connection = getProvider().getConnection(); + if (connection == null) return ActionResult.error(I18NDict.Error.SQL_ERROR); + + try { + final String sql = "DELETE FROM nicko.DATA WHERE uuid = ?"; + final PreparedStatement statement = connection.prepareStatement(sql); + statement.setString(1, uuid.toString()); + int rows = statement.executeUpdate(); + return (rows == 1 ? ActionResult.ok() : ActionResult.error(I18NDict.Error.SQL_ERROR)); + } catch (SQLException e) { + logger.warning("Couldn't delete profile: " + e.getMessage()); + return ActionResult.error(I18NDict.Error.SQL_ERROR); + } + } + + private PreparedStatement getInsertStatement(Connection connection, UUID uuid, NickoProfile profile) throws SQLException { + final String sql = "INSERT IGNORE INTO nicko.DATA (`uuid`, `name`, `skin`, `locale`, `bungeecord`) VALUES (?, ?, ?, ?, ?)"; + final PreparedStatement statement = connection.prepareStatement(sql); + statement.setString(1, uuid.toString()); + statement.setString(2, profile.getName() == null ? null : profile.getName()); + statement.setString(3, profile.getSkin() == null ? null : profile.getSkin()); + statement.setString(4, profile.getLocale().getCode()); + statement.setBoolean(5, profile.isBungeecordTransfer()); + return statement; + } + + private PreparedStatement getUpdateStatement(Connection connection, UUID uuid, NickoProfile profile) throws SQLException { + final String sql = "UPDATE nicko.DATA SET name = ?, skin = ?, locale = ?, bungeecord = ? WHERE uuid = ?"; + final PreparedStatement statement = connection.prepareStatement(sql); + statement.setString(1, profile.getName() == null ? null : profile.getName()); + statement.setString(2, profile.getSkin() == null ? null : profile.getSkin()); + statement.setString(3, profile.getLocale().getCode()); + statement.setBoolean(4, profile.isBungeecordTransfer()); + statement.setString(5, uuid.toString()); + return statement; + } +} diff --git a/src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorageProvider.java b/src/main/java/xyz/atnrch/nicko/storage/mariadb/MariaDBStorageProvider.java similarity index 90% rename from src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorageProvider.java rename to src/main/java/xyz/atnrch/nicko/storage/mariadb/MariaDBStorageProvider.java index 473fd77..0c44ec5 100644 --- a/src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorageProvider.java +++ b/src/main/java/xyz/atnrch/nicko/storage/mariadb/MariaDBStorageProvider.java @@ -1,4 +1,4 @@ -package xyz.atnrch.nicko.storage.sql; +package xyz.atnrch.nicko.storage.mariadb; import org.mariadb.jdbc.MariaDbDataSource; import xyz.atnrch.nicko.config.Configuration; @@ -10,15 +10,15 @@ import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.logging.Logger; -public class SQLStorageProvider implements StorageProvider { - private final Logger logger = Logger.getLogger("SQLStorageProvider"); +public class MariaDBStorageProvider implements StorageProvider { + private final Logger logger = Logger.getLogger("MariaDBStorageProvider"); private final Configuration configuration; private Connection connection; private final String schemaName = "nicko"; - public SQLStorageProvider(Configuration configuration) { + public MariaDBStorageProvider(Configuration configuration) { this.configuration = configuration; } @@ -40,7 +40,7 @@ public class SQLStorageProvider implements StorageProvider { createTable(); return true; } catch (SQLException e) { - logger.severe("Couldn't establish a connection to the MySQL database: " + e.getMessage()); + logger.severe("Couldn't establish a connection to the MariaDB database: " + e.getMessage()); return false; } } diff --git a/src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorage.java b/src/main/java/xyz/atnrch/nicko/storage/mysql/MySQLStorage.java similarity index 94% rename from src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorage.java rename to src/main/java/xyz/atnrch/nicko/storage/mysql/MySQLStorage.java index 2c3a159..fb58b04 100644 --- a/src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorage.java +++ b/src/main/java/xyz/atnrch/nicko/storage/mysql/MySQLStorage.java @@ -1,4 +1,4 @@ -package xyz.atnrch.nicko.storage.sql; +package xyz.atnrch.nicko.storage.mysql; import xyz.atnrch.nicko.appearance.ActionResult; import xyz.atnrch.nicko.config.Configuration; @@ -15,20 +15,20 @@ import java.util.Optional; import java.util.UUID; import java.util.logging.Logger; -public class SQLStorage extends Storage { +public class MySQLStorage extends Storage { private final Logger logger = Logger.getLogger("SQLStorage"); private final Configuration configuration; - private SQLStorageProvider provider; + private MySQLStorageProvider provider; - public SQLStorage(Configuration configuration) { + public MySQLStorage(Configuration configuration) { this.configuration = configuration; } @Override - public SQLStorageProvider getProvider() { + public MySQLStorageProvider getProvider() { if (provider == null) { - provider = new SQLStorageProvider(configuration); + provider = new MySQLStorageProvider(configuration); } return provider; } diff --git a/src/main/java/xyz/atnrch/nicko/storage/mysql/MySQLStorageProvider.java b/src/main/java/xyz/atnrch/nicko/storage/mysql/MySQLStorageProvider.java new file mode 100644 index 0000000..0df0978 --- /dev/null +++ b/src/main/java/xyz/atnrch/nicko/storage/mysql/MySQLStorageProvider.java @@ -0,0 +1,88 @@ +package xyz.atnrch.nicko.storage.mysql; + +import com.mysql.cj.jdbc.MysqlDataSource; +import xyz.atnrch.nicko.config.Configuration; +import xyz.atnrch.nicko.config.DataSourceConfiguration; +import xyz.atnrch.nicko.storage.StorageProvider; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.util.logging.Logger; + +public class MySQLStorageProvider implements StorageProvider { + private final Logger logger = Logger.getLogger("MySQLStorageProvider"); + private final Configuration configuration; + + private Connection connection; + + private final String schemaName = "nicko"; + + public MySQLStorageProvider(Configuration configuration) { + this.configuration = configuration; + } + + @Override + public boolean init() { + try { + final MysqlDataSource dataSource = new MysqlDataSource(); + final DataSourceConfiguration sqlConfiguration = configuration.getSqlConfiguration(); + dataSource.setUrl("jdbc:mysql://" + sqlConfiguration.getAddress() + ":" + sqlConfiguration.getPort()); + dataSource.setUser(sqlConfiguration.getUsername()); + dataSource.setPassword(sqlConfiguration.getPassword()); + connection = dataSource.getConnection(); + connection.setAutoCommit(true); + final boolean initialized = connection != null && !connection.isClosed(); + + if (!initialized) return false; + + createDatabase(); + createTable(); + return true; + } catch (SQLException e) { + logger.severe("Couldn't establish a connection to the MySQL database: " + e.getMessage()); + return false; + } + } + + @Override + public boolean close() { + if (connection == null) { return true; } + try { + connection.close(); + return connection.isClosed(); + } catch (SQLException e) { + return false; + } + } + + private void createTable() throws SQLException { + final Connection connection = getConnection(); + + String query = "CREATE TABLE IF NOT EXISTS %s.DATA " + + "(uuid varchar(36) NOT NULL," + + "name varchar(16)," + + "skin varchar(16)," + + "locale char(2) NOT NULL," + + "bungeecord boolean NOT NULL," + + "PRIMARY KEY (uuid))"; + query = query.replace("%s", schemaName); + + final PreparedStatement statement = connection.prepareStatement(query); + statement.executeUpdate(); + } + + private void createDatabase() throws SQLException { + final Connection connection = getConnection(); + + String query = "CREATE DATABASE IF NOT EXISTS %s"; + query = query.replace("%s", schemaName); + + final PreparedStatement statement = connection.prepareStatement(query); + statement.executeUpdate(); + } + + public Connection getConnection() { + return connection; + } +} diff --git a/src/test/java/xyz/atnrch/nicko/test/NickoPluginTest.java b/src/test/java/xyz/atnrch/nicko/test/NickoPluginTest.java index a046898..72b2a7f 100644 --- a/src/test/java/xyz/atnrch/nicko/test/NickoPluginTest.java +++ b/src/test/java/xyz/atnrch/nicko/test/NickoPluginTest.java @@ -5,6 +5,7 @@ import xyz.atnrch.nicko.NickoBukkit; import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.config.DataSourceConfiguration; import org.junit.jupiter.api.*; +import xyz.atnrch.nicko.config.DefaultDataSources; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -15,7 +16,7 @@ public class NickoPluginTest { public static void setup() { final Configuration config = new Configuration( new DataSourceConfiguration(true, "127.0.0.1", 3306, "root", "12345"), - DataSourceConfiguration.REDIS_EMPTY, + DefaultDataSources.REDIS_EMPTY, "", false); MockBukkit.mock(); diff --git a/src/test/java/xyz/atnrch/nicko/test/i18n/ItemTranslationTest.java b/src/test/java/xyz/atnrch/nicko/test/i18n/ItemTranslationTest.java index a1b6e55..d68dc50 100644 --- a/src/test/java/xyz/atnrch/nicko/test/i18n/ItemTranslationTest.java +++ b/src/test/java/xyz/atnrch/nicko/test/i18n/ItemTranslationTest.java @@ -8,7 +8,7 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import xyz.atnrch.nicko.NickoBukkit; import xyz.atnrch.nicko.config.Configuration; -import xyz.atnrch.nicko.config.DataSourceConfiguration; +import xyz.atnrch.nicko.config.DefaultDataSources; import xyz.atnrch.nicko.i18n.I18N; import xyz.atnrch.nicko.i18n.I18NDict; import xyz.atnrch.nicko.i18n.ItemTranslation; @@ -22,8 +22,8 @@ public class ItemTranslationTest { @BeforeAll public static void setup() { final Configuration config = new Configuration( - DataSourceConfiguration.SQL_EMPTY, - DataSourceConfiguration.REDIS_EMPTY, + DefaultDataSources.SQL_EMPTY, + DefaultDataSources.REDIS_EMPTY, "", false); MockBukkit.mock(); diff --git a/src/test/java/xyz/atnrch/nicko/test/i18n/TranslationTest.java b/src/test/java/xyz/atnrch/nicko/test/i18n/TranslationTest.java index 6e16840..b8abd0b 100644 --- a/src/test/java/xyz/atnrch/nicko/test/i18n/TranslationTest.java +++ b/src/test/java/xyz/atnrch/nicko/test/i18n/TranslationTest.java @@ -9,6 +9,7 @@ import org.junit.jupiter.api.Test; import xyz.atnrch.nicko.NickoBukkit; import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.config.DataSourceConfiguration; +import xyz.atnrch.nicko.config.DefaultDataSources; import xyz.atnrch.nicko.i18n.I18N; import xyz.atnrch.nicko.i18n.I18NDict; import xyz.atnrch.nicko.i18n.Locale; @@ -21,8 +22,8 @@ public class TranslationTest { @BeforeAll public static void setup() { final Configuration config = new Configuration( - DataSourceConfiguration.SQL_EMPTY, - DataSourceConfiguration.REDIS_EMPTY, + DefaultDataSources.SQL_EMPTY, + DefaultDataSources.REDIS_EMPTY, "", false); MockBukkit.mock(); diff --git a/src/test/java/xyz/atnrch/nicko/test/storage/BrokenSQLTest.java b/src/test/java/xyz/atnrch/nicko/test/storage/BrokenSQLTest.java index 120e5fc..133067c 100644 --- a/src/test/java/xyz/atnrch/nicko/test/storage/BrokenSQLTest.java +++ b/src/test/java/xyz/atnrch/nicko/test/storage/BrokenSQLTest.java @@ -7,6 +7,7 @@ import xyz.atnrch.nicko.NickoBukkit; import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.config.DataSourceConfiguration; import xyz.atnrch.nicko.appearance.ActionResult; +import xyz.atnrch.nicko.config.DefaultDataSources; import xyz.atnrch.nicko.profile.NickoProfile; import org.junit.jupiter.api.*; @@ -23,7 +24,7 @@ public class BrokenSQLTest { public static void setup() { final Configuration config = new Configuration( new DataSourceConfiguration(true, "127.0.0.1", 3306, "root", ""), - DataSourceConfiguration.REDIS_EMPTY, + DefaultDataSources.REDIS_EMPTY, "", false); final ServerMock server = MockBukkit.mock(); diff --git a/src/test/java/xyz/atnrch/nicko/test/storage/SQLStorageTest.java b/src/test/java/xyz/atnrch/nicko/test/storage/SQLStorageTest.java index c6020bc..abccf52 100644 --- a/src/test/java/xyz/atnrch/nicko/test/storage/SQLStorageTest.java +++ b/src/test/java/xyz/atnrch/nicko/test/storage/SQLStorageTest.java @@ -6,6 +6,7 @@ import xyz.atnrch.nicko.NickoBukkit; import xyz.atnrch.nicko.appearance.ActionResult; import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.config.DataSourceConfiguration; +import xyz.atnrch.nicko.config.DefaultDataSources; import xyz.atnrch.nicko.i18n.Locale; import xyz.atnrch.nicko.profile.NickoProfile; import xyz.atnrch.nicko.storage.PlayerDataStore; @@ -24,7 +25,7 @@ public class SQLStorageTest { public static void setup() { final Configuration config = new Configuration( new DataSourceConfiguration(true, "127.0.0.1", 3306, "root", "12345"), - DataSourceConfiguration.REDIS_EMPTY, + DefaultDataSources.REDIS_EMPTY, "", false); diff --git a/src/test/java/xyz/atnrch/nicko/test/storage/map/MapCacheTest.java b/src/test/java/xyz/atnrch/nicko/test/storage/map/MapCacheTest.java index 9f67017..a46bd0a 100644 --- a/src/test/java/xyz/atnrch/nicko/test/storage/map/MapCacheTest.java +++ b/src/test/java/xyz/atnrch/nicko/test/storage/map/MapCacheTest.java @@ -6,6 +6,7 @@ import be.seeseemelk.mockbukkit.entity.PlayerMock; import xyz.atnrch.nicko.NickoBukkit; import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.config.DataSourceConfiguration; +import xyz.atnrch.nicko.config.DefaultDataSources; import xyz.atnrch.nicko.profile.NickoProfile; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; @@ -23,8 +24,8 @@ public class MapCacheTest { @BeforeAll public static void setup() { final Configuration config = new Configuration( - DataSourceConfiguration.SQL_EMPTY, - DataSourceConfiguration.REDIS_EMPTY, + DefaultDataSources.SQL_EMPTY, + DefaultDataSources.REDIS_EMPTY, "", false); final ServerMock server = MockBukkit.mock(); diff --git a/src/test/java/xyz/atnrch/nicko/test/storage/redis/RedisCacheTest.java b/src/test/java/xyz/atnrch/nicko/test/storage/redis/RedisCacheTest.java index e3bb4de..19006de 100644 --- a/src/test/java/xyz/atnrch/nicko/test/storage/redis/RedisCacheTest.java +++ b/src/test/java/xyz/atnrch/nicko/test/storage/redis/RedisCacheTest.java @@ -8,6 +8,7 @@ import xyz.atnrch.nicko.NickoBukkit; import xyz.atnrch.nicko.appearance.ActionResult; import xyz.atnrch.nicko.config.Configuration; import xyz.atnrch.nicko.config.DataSourceConfiguration; +import xyz.atnrch.nicko.config.DefaultDataSources; import xyz.atnrch.nicko.profile.NickoProfile; import xyz.atnrch.nicko.storage.PlayerDataStore; @@ -23,7 +24,7 @@ public class RedisCacheTest { @BeforeAll public static void setup() { final Configuration config = new Configuration( - DataSourceConfiguration.SQL_EMPTY, + DefaultDataSources.SQL_EMPTY, new DataSourceConfiguration(true, "127.0.0.1", 6379, "", ""), "", false);