Skip to content

Commit

Permalink
rework non minecraft api
Browse files Browse the repository at this point in the history
  • Loading branch information
MrNavaStar committed Feb 5, 2025
1 parent 1c40ec1 commit 7046dbc
Show file tree
Hide file tree
Showing 8 changed files with 38 additions and 27 deletions.
4 changes: 2 additions & 2 deletions src/main/java/me/mrnavastar/sqlib/SQLib.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package me.mrnavastar.sqlib;

import me.mrnavastar.sqlib.api.database.Database;
import me.mrnavastar.sqlib.impl.config.SQLibConfig;
import me.mrnavastar.sqlib.impl.config.Config;

import java.util.List;

Expand All @@ -10,7 +10,7 @@ public class SQLib {
protected static Database database;

public static Database getDatabase() {
SQLibConfig.load();
Config.load();
return database;
}

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/me/mrnavastar/sqlib/api/database/Database.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import me.mrnavastar.sqlib.api.DataStore;
import me.mrnavastar.sqlib.impl.SQLConnection;
import me.mrnavastar.sqlib.impl.SQLPrimitive;
import me.mrnavastar.sqlib.impl.config.SQLibConfig;
import me.mrnavastar.sqlib.impl.config.Config;

import java.util.*;

Expand All @@ -18,7 +18,7 @@ public abstract class Database {

static {
Runtime.getRuntime().addShutdownHook(new Thread(() -> databases.forEach(Database::close)));
SQLibConfig.load();
Config.load();
}

public static List<Database> getDatabases() {
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/me/mrnavastar/sqlib/impl/SQLConnection.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import lombok.Getter;
import me.mrnavastar.sqlib.api.DataContainer;
import me.mrnavastar.sqlib.api.DataStore;
import me.mrnavastar.sqlib.impl.config.SQLibConfig;
import me.mrnavastar.sqlib.impl.config.Config;
import org.jdbi.v3.core.Handle;
import org.jdbi.v3.core.Jdbi;

Expand All @@ -24,7 +24,7 @@ public SQLConnection(String connectionUrl, Properties properties) {
config.setUsername(properties.getProperty("user"));
config.setPassword(properties.getProperty("password"));
config.setMaximumPoolSize(50);
config.setConnectionTimeout(SQLibConfig.INSTANCE.database.timeout * 1000L);
config.setConnectionTimeout(Config.INSTANCE.database.timeout * 1000L);
config.setMaxLifetime(1800000); // 30 min
config.addDataSourceProperty("cachePrepStmts", "true");
config.addDataSourceProperty("useServerPrepStmts", "true");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package me.mrnavastar.sqlib.impl.config;

import com.fasterxml.jackson.dataformat.toml.TomlMapper;
import lombok.Setter;
import lombok.SneakyThrows;
import me.mrnavastar.sqlib.SQLib;
import me.mrnavastar.sqlib.api.database.MySQL;
Expand All @@ -16,9 +15,9 @@
import java.nio.file.Path;
import java.util.Objects;

public class SQLibConfig {
public class Config {

public static SQLibConfig INSTANCE;
public static Config INSTANCE;

public Database database;
public Local local;
Expand Down Expand Up @@ -62,24 +61,14 @@ public boolean validate() {
return database.type.equalsIgnoreCase("postgres") && server.validate();
}

@Setter
private static Path customConfigPath;
@Setter
private static Path customDefaultDirectory;

@SneakyThrows
public static void load() {
if (INSTANCE != null) return;

Class.forName("org.sqlite.JDBC");
Class.forName("org.mariadb.jdbc.Driver");
Class.forName("org.postgresql.Driver");

if (customConfigPath != null && customDefaultDirectory != null) {
load(customDefaultDirectory, customConfigPath);
return;
}


try {
Class.forName("net.fabricmc.loader.api.FabricLoader");
Fabric.load();
Expand All @@ -95,9 +84,9 @@ public static void load() {
try {
Class.forName("com.velocitypowered.api.plugin.Plugin");
Velocity.load();
} catch (ClassNotFoundException ignore) {
throw new RuntimeException("SQLib currently only supports Fabric, Quilt, and Velocity!");
}
} catch (ClassNotFoundException ignore) {}

if (!NonMinecraft.load()) throw new RuntimeException("SQLib currently only supports Fabric, Quilt, and Velocity!");
}

public static me.mrnavastar.sqlib.api.database.Database load(Path localDir, Path configDir) {
Expand All @@ -112,7 +101,7 @@ public static me.mrnavastar.sqlib.api.database.Database load(Path localDir, Path
writer.write(data);
}
}
INSTANCE = new TomlMapper().readValue(configFile, SQLibConfig.class);
INSTANCE = new TomlMapper().readValue(configFile, Config.class);
} catch (IOException e) {
e.printStackTrace();
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/me/mrnavastar/sqlib/impl/config/Fabric.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
public class Fabric extends SQLib {

public static void load() {
if (database == null) database = SQLibConfig.load(Path.of(FabricLoader.getInstance().getGameDir() + "/sqlib"), FabricLoader.getInstance().getConfigDir());
if (database == null) database = Config.load(Path.of(FabricLoader.getInstance().getGameDir() + "/sqlib"), FabricLoader.getInstance().getConfigDir());
}
}
22 changes: 22 additions & 0 deletions src/main/java/me/mrnavastar/sqlib/impl/config/NonMinecraft.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package me.mrnavastar.sqlib.impl.config;

import me.mrnavastar.sqlib.SQLib;

import java.nio.file.Path;

public class NonMinecraft extends SQLib {

private static Path databaseDir;
private static Path config;

public static void init(Path defaultDatabaseDir, Path configDir) {
databaseDir = defaultDatabaseDir;
config = configDir;
}

public static boolean load() {
if (databaseDir == null || config == null) return false;
if (database == null) database = Config.load(databaseDir, config);
return true;
}
}
2 changes: 1 addition & 1 deletion src/main/java/me/mrnavastar/sqlib/impl/config/Quilt.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@
public class Quilt extends SQLib {

public static void load() {
if (database == null) database = SQLibConfig.load(Path.of(QuiltLoader.getGameDir() + "/sqlib"), QuiltLoader.getConfigDir());
if (database == null) database = Config.load(Path.of(QuiltLoader.getGameDir() + "/sqlib"), QuiltLoader.getConfigDir());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ public class Velocity extends SQLib {
public static void load() {
if (database != null) return;
Path dir = Path.of("plugins/sqlib");
database = SQLibConfig.load(dir,dir);
database = Config.load(dir,dir);
}
}

0 comments on commit 7046dbc

Please sign in to comment.