From 84a915efc7eabe73f9eebacd833974f2d3037833 Mon Sep 17 00:00:00 2001 From: EarthCow <56940983+EarthCow@users.noreply.github.com> Date: Sat, 7 Mar 2026 21:20:30 -0500 Subject: [PATCH 1/3] Move SQLConfig to upper level --- .../common/storage/SQLConfig.java | 16 ++++++++++++++++ .../common/storage/SQLPlayerDataStore.java | 8 ++++---- .../common/storage/SQLPlayerJoinTracker.java | 15 --------------- 3 files changed, 20 insertions(+), 19 deletions(-) create mode 100644 src/main/java/xyz/earthcow/networkjoinmessages/common/storage/SQLConfig.java diff --git a/src/main/java/xyz/earthcow/networkjoinmessages/common/storage/SQLConfig.java b/src/main/java/xyz/earthcow/networkjoinmessages/common/storage/SQLConfig.java new file mode 100644 index 0000000..a8af97d --- /dev/null +++ b/src/main/java/xyz/earthcow/networkjoinmessages/common/storage/SQLConfig.java @@ -0,0 +1,16 @@ +package xyz.earthcow.networkjoinmessages.common.storage; + +/** + * Immutable value object carrying the SQL connection parameters read from config. + */ +public record SQLConfig( + String host, + int port, + String database, + String username, + String password, + String driver, + String tablePrefix, + boolean useSSL, + int connectionTimeout +) {} diff --git a/src/main/java/xyz/earthcow/networkjoinmessages/common/storage/SQLPlayerDataStore.java b/src/main/java/xyz/earthcow/networkjoinmessages/common/storage/SQLPlayerDataStore.java index b740ff0..41c47d5 100644 --- a/src/main/java/xyz/earthcow/networkjoinmessages/common/storage/SQLPlayerDataStore.java +++ b/src/main/java/xyz/earthcow/networkjoinmessages/common/storage/SQLPlayerDataStore.java @@ -16,7 +16,7 @@ * downloaded automatically from Maven Central on first use and cached in * {@code /drivers/}. See {@link SQLDriverLoader}. * - *

Connection details are supplied via {@link SQLPlayerJoinTracker.SQLConfig}. + *

Connection details are supplied via {@link SQLConfig}. * The store keeps a single persistent {@link Connection} and transparently * reconnects on failure. * @@ -34,11 +34,11 @@ public class SQLPlayerDataStore implements PlayerDataStore { private final String UPSERT_POSTGRES; private final CoreLogger logger; - private final SQLPlayerJoinTracker.SQLConfig sqlConfig; + private final SQLConfig sqlConfig; private final boolean isPostgres; private Connection connection; - public SQLPlayerDataStore(CoreLogger logger, SQLPlayerJoinTracker.SQLConfig sqlConfig, Path pluginDataFolder) + public SQLPlayerDataStore(CoreLogger logger, SQLConfig sqlConfig, Path pluginDataFolder) throws SQLException, SQLDriverLoader.DriverLoadException { this.logger = logger; this.sqlConfig = sqlConfig; @@ -190,7 +190,7 @@ private boolean isConnectionInvalid() { } /** - * Builds a JDBC URL from the {@link SQLPlayerJoinTracker.SQLConfig}. + * Builds a JDBC URL from the {@link SQLConfig}. * *