From 31564d8284fd4cf79b38e302aaa320fb7eefb007 Mon Sep 17 00:00:00 2001 From: Gabriele C Date: Sun, 28 Nov 2021 16:47:47 +0100 Subject: [PATCH] Relocate MySQL connector and fix migrations --- docs/config.md | 10 +++++----- pom.xml | 4 ++++ src/main/java/fr/xephi/authme/datasource/MySQL.java | 4 ++-- .../authme/settings/SettingsMigrationService.java | 5 +++-- .../authme/settings/properties/DatabaseSettings.java | 6 +++--- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/docs/config.md b/docs/config.md index 7a71dc12..d135bbde 100644 --- a/docs/config.md +++ b/docs/config.md @@ -1,5 +1,5 @@ - + ## AuthMe Configuration The first time you run AuthMe it will create a config.yml file in the plugins/AuthMe folder, @@ -30,9 +30,9 @@ DataSource: mySQLPassword: '12345' # Driver Name of the MySQL database. # Built-in drivers: - # MySQL: 'com.mysql.cj.jdbc.Driver' - # MariaDB: 'org.mariadb.jdbc.Driver' - mySQLDriverClassName: com.mysql.cj.jdbc.Driver + # MySQL: 'fr.xephi.authme.libs.com.mysql.cj.jdbc.Driver' + # MariaDB: 'fr.xephi.authme.libs.org.mariadb.jdbc.Driver' + mySQLDriverClassName: fr.xephi.authme.libs.com.mysql.cj.jdbc.Driver # Database Name, use with converters or as SQLITE database name mySQLDatabase: authme # Table of the database @@ -590,4 +590,4 @@ To change settings on a running server, save your changes to config.yml and use --- -This page was automatically generated on the [AuthMe/AuthMeReloaded repository](https://github.com/AuthMe/AuthMeReloaded/tree/master/docs/) on Sat Aug 21 23:12:31 CEST 2021 +This page was automatically generated on the [AuthMe/AuthMeReloaded repository](https://github.com/AuthMe/AuthMeReloaded/tree/master/docs/) on Sun Nov 28 16:47:07 CET 2021 diff --git a/pom.xml b/pom.xml index 24dcb83a..61cb9c57 100644 --- a/pom.xml +++ b/pom.xml @@ -384,6 +384,10 @@ org.mariadb.jdbc fr.xephi.authme.libs.org.mariadb.jdbc + + com.mysql + fr.xephi.authme.libs.com.mysql + diff --git a/src/main/java/fr/xephi/authme/datasource/MySQL.java b/src/main/java/fr/xephi/authme/datasource/MySQL.java index 9591d8b5..72f10b16 100644 --- a/src/main/java/fr/xephi/authme/datasource/MySQL.java +++ b/src/main/java/fr/xephi/authme/datasource/MySQL.java @@ -104,8 +104,8 @@ public class MySQL extends AbstractSqlDataSource { try { Class.forName(this.className); } catch (ClassNotFoundException e) { - logger.info("Driver class '" + this.className + "' not found! Falling back to legacy MySQL driver (com.mysql.jdbc.Driver)"); - this.className = "com.mysql.jdbc.Driver"; + this.className = DatabaseSettings.MYSQL_DRIVER_CLASS_NAME.getDefaultValue(); + logger.info("Driver class '" + this.className + "' not found! Falling back to the built-in MySQL driver (" + this.className + ")"); } this.database = settings.getProperty(DatabaseSettings.MYSQL_DATABASE); this.tableName = settings.getProperty(DatabaseSettings.MYSQL_TABLE); diff --git a/src/main/java/fr/xephi/authme/settings/SettingsMigrationService.java b/src/main/java/fr/xephi/authme/settings/SettingsMigrationService.java index 84a0fdff..ca8da5da 100644 --- a/src/main/java/fr/xephi/authme/settings/SettingsMigrationService.java +++ b/src/main/java/fr/xephi/authme/settings/SettingsMigrationService.java @@ -65,8 +65,9 @@ public class SettingsMigrationService extends PlainMigrationService { configurationData.setValue(ALLOWED_NICKNAME_CHARACTERS, "[a-zA-Z0-9_]*"); changes = true; } - if ("com.mysql.jdbc.Driver".equals(reader.getString(DatabaseSettings.MYSQL_DRIVER_CLASS_NAME.getPath()))) { - configurationData.setValue(DatabaseSettings.MYSQL_DRIVER_CLASS_NAME, "com.mysql.cj.jdbc.Driver"); + String driverClass = reader.getString(DatabaseSettings.MYSQL_DRIVER_CLASS_NAME.getPath()); + if ("com.mysql.jdbc.Driver".equals(driverClass) || "com.mysql.cj.jdbc.Driver".equals(driverClass)) { + configurationData.setValue(DatabaseSettings.MYSQL_DRIVER_CLASS_NAME, DatabaseSettings.MYSQL_DRIVER_CLASS_NAME.getDefaultValue()); changes = true; } diff --git a/src/main/java/fr/xephi/authme/settings/properties/DatabaseSettings.java b/src/main/java/fr/xephi/authme/settings/properties/DatabaseSettings.java index e7b75627..c0c570c2 100644 --- a/src/main/java/fr/xephi/authme/settings/properties/DatabaseSettings.java +++ b/src/main/java/fr/xephi/authme/settings/properties/DatabaseSettings.java @@ -47,10 +47,10 @@ public final class DatabaseSettings implements SettingsHolder { @Comment({"Driver Name of the MySQL database.", "Built-in drivers:", - " MySQL: 'com.mysql.cj.jdbc.Driver'", - " MariaDB: 'org.mariadb.jdbc.Driver'"}) + " MySQL: 'fr.xephi.authme.libs.com.mysql.cj.jdbc.Driver'", + " MariaDB: 'fr.xephi.authme.libs.org.mariadb.jdbc.Driver'"}) public static final Property MYSQL_DRIVER_CLASS_NAME = - newProperty("DataSource.mySQLDriverClassName", "com.mysql.cj.jdbc.Driver"); + newProperty("DataSource.mySQLDriverClassName", "fr.xephi.authme.libs.com.mysql.cj.jdbc.Driver"); @Comment("Database Name, use with converters or as SQLITE database name") public static final Property MYSQL_DATABASE =