From ed46f93ba334459adcb9a0dbe51cee0bd22d73a2 Mon Sep 17 00:00:00 2001 From: Tomuxs Date: Thu, 12 Jun 2025 16:28:39 +0200 Subject: [PATCH] Added database initialisation --- app/src/main/java/org/skinner/Database.java | 17 +++++++++++++++-- app/src/main/java/org/skinner/WebApp.java | 3 +++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/skinner/Database.java b/app/src/main/java/org/skinner/Database.java index c68c2fd..b0017e3 100644 --- a/app/src/main/java/org/skinner/Database.java +++ b/app/src/main/java/org/skinner/Database.java @@ -9,8 +9,10 @@ import java.util.List; public class Database { private Database() { try { + if (!inited) + throw new DatabaseException("Database not initialised"); // TODO: Allow changing connection address - connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/skinner", "skinner", "skinner"); + connection = DriverManager.getConnection(address, username, password); InputStream is = WebApp.class.getResourceAsStream("/sql/init.sql"); executeScript(is); @@ -51,6 +53,13 @@ public class Database { stmt.close(); } + public static void init(String address, String username, String password) { + Database.address = address; + Database.username = username; + Database.password = password; + Database.inited = true; + } + public static String[] getSkinHashes() throws SQLException { Statement stmt = getConnection().createStatement(); ResultSet resultSet = stmt.executeQuery("SELECT _hash FROM skin;"); @@ -338,7 +347,11 @@ public class Database { private static Skin ensureDefaultSkin() throws SQLException { return ensureDefaultSkin(null); } - + + private static boolean inited = false; + private static String address; + private static String username; + private static String password; private boolean errored = false; private SQLException exception; private Connection connection; diff --git a/app/src/main/java/org/skinner/WebApp.java b/app/src/main/java/org/skinner/WebApp.java index 03e35ce..e71368f 100644 --- a/app/src/main/java/org/skinner/WebApp.java +++ b/app/src/main/java/org/skinner/WebApp.java @@ -8,6 +8,9 @@ import com.sun.net.httpserver.*; public class WebApp { public static void main(String[] args) throws IOException { + // Initialise database + Database.init("jdbc:mysql://localhost:3306/skinner", "skinner", "skinner"); + // Create an HttpServer instance HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);