Skip to content

Commit

Permalink
allow sqlib to be used in non minecraft projects
Browse files Browse the repository at this point in the history
  • Loading branch information
MrNavaStar committed Feb 4, 2025
1 parent cd5b57d commit ac13224
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 13 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.Config;
import me.mrnavastar.sqlib.impl.config.SQLibConfig;

import java.util.List;

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

public static Database getDatabase() {
Config.load();
SQLibConfig.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.Config;
import me.mrnavastar.sqlib.impl.config.SQLibConfig;

import java.util.*;

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

static {
Runtime.getRuntime().addShutdownHook(new Thread(() -> databases.forEach(Database::close)));
Config.load();
SQLibConfig.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.Config;
import me.mrnavastar.sqlib.impl.config.SQLibConfig;
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(Config.INSTANCE.database.timeout * 1000L);
config.setConnectionTimeout(SQLibConfig.INSTANCE.database.timeout * 1000L);
config.setMaxLifetime(1800000); // 30 min
config.addDataSourceProperty("cachePrepStmts", "true");
config.addDataSourceProperty("useServerPrepStmts", "true");
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 = Config.load(Path.of(FabricLoader.getInstance().getGameDir() + "/sqlib"), FabricLoader.getInstance().getConfigDir());
if (database == null) database = SQLibConfig.load(Path.of(FabricLoader.getInstance().getGameDir() + "/sqlib"), FabricLoader.getInstance().getConfigDir());
}
}
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 = Config.load(Path.of(QuiltLoader.getGameDir() + "/sqlib"), QuiltLoader.getConfigDir());
if (database == null) database = SQLibConfig.load(Path.of(QuiltLoader.getGameDir() + "/sqlib"), QuiltLoader.getConfigDir());
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
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 @@ -15,9 +16,9 @@
import java.nio.file.Path;
import java.util.Objects;

public class Config {
public class SQLibConfig {

public static Config INSTANCE;
public static SQLibConfig INSTANCE;

public Database database;
public Local local;
Expand Down Expand Up @@ -61,14 +62,24 @@ 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,12 +106,13 @@ public static me.mrnavastar.sqlib.api.database.Database load(Path localDir, Path
try {
File configFile = new File(configDir + "/sqlib.toml");
if (!configFile.exists()) {
configFile.mkdirs();
String data = new String(Objects.requireNonNull(SQLib.class.getResourceAsStream("/sqlib.toml")).readAllBytes()).replace("${local_path}", localDir.toString().replace("\\", "/"));
try (FileWriter writer = new FileWriter(configFile)) {
writer.write(data);
}
}
INSTANCE = new TomlMapper().readValue(configFile, Config.class);
INSTANCE = new TomlMapper().readValue(configFile, SQLibConfig.class);
} catch (IOException e) {
e.printStackTrace();
}
Expand Down
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 = Config.load(dir,dir);
database = SQLibConfig.load(dir,dir);
}
}

0 comments on commit ac13224

Please sign in to comment.