From 833177933a2e670b6ef6a49ee0c44d426672f432 Mon Sep 17 00:00:00 2001 From: games647 Date: Thu, 4 Aug 2022 14:28:30 +0200 Subject: [PATCH] Remove and fix storage driver check --- .../fastlogin/core/shared/FastLoginCore.java | 25 +++---------------- .../fastlogin/core/storage/SQLiteStorage.java | 8 +++--- 2 files changed, 7 insertions(+), 26 deletions(-) diff --git a/core/src/main/java/com/github/games647/fastlogin/core/shared/FastLoginCore.java b/core/src/main/java/com/github/games647/fastlogin/core/shared/FastLoginCore.java index fbe7fa8e..338110fa 100644 --- a/core/src/main/java/com/github/games647/fastlogin/core/shared/FastLoginCore.java +++ b/core/src/main/java/com/github/games647/fastlogin/core/shared/FastLoginCore.java @@ -66,8 +66,6 @@ import net.md_5.bungee.config.Configuration; import net.md_5.bungee.config.ConfigurationProvider; import net.md_5.bungee.config.YamlConfiguration; -import org.slf4j.Logger; - import static java.util.function.Function.identity; import static java.util.stream.Collectors.toMap; import static java.util.stream.Collectors.toSet; @@ -224,10 +222,7 @@ public class FastLoginCore

> { } public boolean setupDatabase() { - String driver = config.getString("driver"); - if (!checkDriver(driver)) { - return false; - } + String type = config.getString("driver"); HikariConfig databaseConfig = new HikariConfig(); String database = config.getString("database"); @@ -235,7 +230,7 @@ public class FastLoginCore

> { databaseConfig.setConnectionTimeout(config.getInt("timeout", 30) * 1_000L); databaseConfig.setMaxLifetime(config.getInt("lifetime", 30) * 1_000L); - if (driver.contains("sqlite")) { + if (type.contains("sqlite")) { storage = new SQLiteStorage(this, database, databaseConfig); } else { String host = config.get("host", ""); @@ -254,7 +249,7 @@ public class FastLoginCore

> { databaseConfig.setUsername(config.get("username", "")); databaseConfig.setPassword(config.getString("password")); - storage = new MySQLStorage(this, driver, host, port, database, databaseConfig, useSSL); + storage = new MySQLStorage(this, type, host, port, database, databaseConfig, useSSL); } try { @@ -266,20 +261,6 @@ public class FastLoginCore

> { } } - private boolean checkDriver(String className) { - try { - Class.forName(className); - return true; - } catch (ClassNotFoundException notFoundEx) { - Logger log = plugin.getLog(); - log.warn("This driver {} is not supported on this platform", className); - log.warn("Please choose either MySQL (Spigot, BungeeCord), SQLite (Spigot, Sponge) or " - + "MariaDB (Sponge, Velocity)", notFoundEx); - } - - return false; - } - public Configuration getConfig() { return config; } diff --git a/core/src/main/java/com/github/games647/fastlogin/core/storage/SQLiteStorage.java b/core/src/main/java/com/github/games647/fastlogin/core/storage/SQLiteStorage.java index 14645401..2c4490cd 100644 --- a/core/src/main/java/com/github/games647/fastlogin/core/storage/SQLiteStorage.java +++ b/core/src/main/java/com/github/games647/fastlogin/core/storage/SQLiteStorage.java @@ -37,6 +37,7 @@ import java.util.UUID; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; +import org.sqlite.JDBC; import org.sqlite.SQLiteConfig; public class SQLiteStorage extends SQLStorage { @@ -54,17 +55,16 @@ public class SQLiteStorage extends SQLStorage { config.setConnectionTestQuery("SELECT 1"); config.setMaximumPoolSize(1); - config.addDataSourceProperty("url", path); + config.addDataSourceProperty("url", JDBC.PREFIX + path); // a try to fix https://www.spigotmc.org/threads/fastlogin.101192/page-26#post-1874647 // format strings retrieved by the timestamp column to match them from MySQL // vs the default: yyyy-MM-dd HH:mm:ss.SSS SQLiteConfig sqLiteConfig = new SQLiteConfig(); sqLiteConfig.setDateStringFormat("yyyy-MM-dd HH:mm:ss"); - config.addDataSourceProperty("config", config); + // sqLiteConfig.setDatePrecision("seconds"); - // TODO: test first for compatibility - // config.addDataSourceProperty("date_precision", "seconds"); + config.addDataSourceProperty("config", sqLiteConfig); return config; }