From 3344ba67ccbc38cc6a5d6f025d8d649c3191f7df Mon Sep 17 00:00:00 2001 From: Riley Schneider <88947587+Ferryry@users.noreply.github.com> Date: Sun, 14 Dec 2025 17:53:04 +0100 Subject: [PATCH] Updated files and created compose.yml for internal database usage --- docker/compose.yml | 19 ++++++++++ .../sql/createTaskTable.sql | 0 resources/sql/createWorkerTable.sql | 5 +++ .../sql/deleteTaskTable.sql | 0 .../sql/insertTaskTable.sql | 0 resources/sql/insertWorkerTable.sql | 1 + .../sql/selectTaskTable.sql | 0 .../sql/updateTaskTable.sql | 0 .../provider/SimpleDatabaseManager.java | 35 +++++++++++++++++++ .../temp/project/DatabaseGoodCasesTest.java | 8 ++++- 10 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 docker/compose.yml rename {src/main/java/hhn/temp/project/provider => resources}/sql/createTaskTable.sql (100%) create mode 100644 resources/sql/createWorkerTable.sql rename {src/main/java/hhn/temp/project/provider => resources}/sql/deleteTaskTable.sql (100%) rename {src/main/java/hhn/temp/project/provider => resources}/sql/insertTaskTable.sql (100%) create mode 100644 resources/sql/insertWorkerTable.sql rename {src/main/java/hhn/temp/project/provider => resources}/sql/selectTaskTable.sql (100%) rename {src/main/java/hhn/temp/project/provider => resources}/sql/updateTaskTable.sql (100%) diff --git a/docker/compose.yml b/docker/compose.yml new file mode 100644 index 00000000..60f5f3a9 --- /dev/null +++ b/docker/compose.yml @@ -0,0 +1,19 @@ +version: "3.9" + +services: + mysql: + image: mysql:8.0 + container_name: mysql-db + restart: unless-stopped + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: sql7810540& + MYSQL_USER: sql7810540& + MYSQL_PASSWORD: mXdJCFtDZz + ports: + - "3306:3306" + volumes: + - mysql_data:/var/lib/mysql + +volumes: + mysql_data: \ No newline at end of file diff --git a/src/main/java/hhn/temp/project/provider/sql/createTaskTable.sql b/resources/sql/createTaskTable.sql similarity index 100% rename from src/main/java/hhn/temp/project/provider/sql/createTaskTable.sql rename to resources/sql/createTaskTable.sql diff --git a/resources/sql/createWorkerTable.sql b/resources/sql/createWorkerTable.sql new file mode 100644 index 00000000..159d6dde --- /dev/null +++ b/resources/sql/createWorkerTable.sql @@ -0,0 +1,5 @@ +CREATE TABLE Worker ( + id INT AUTO_INCREMENT PRIMARY KEY, + workerid INT, + name VARCHAR(255) NOT NULL +); \ No newline at end of file diff --git a/src/main/java/hhn/temp/project/provider/sql/deleteTaskTable.sql b/resources/sql/deleteTaskTable.sql similarity index 100% rename from src/main/java/hhn/temp/project/provider/sql/deleteTaskTable.sql rename to resources/sql/deleteTaskTable.sql diff --git a/src/main/java/hhn/temp/project/provider/sql/insertTaskTable.sql b/resources/sql/insertTaskTable.sql similarity index 100% rename from src/main/java/hhn/temp/project/provider/sql/insertTaskTable.sql rename to resources/sql/insertTaskTable.sql diff --git a/resources/sql/insertWorkerTable.sql b/resources/sql/insertWorkerTable.sql new file mode 100644 index 00000000..d99a2d5e --- /dev/null +++ b/resources/sql/insertWorkerTable.sql @@ -0,0 +1 @@ +INSERT INTO Worker (workerid, name) VALUES (?, ?) \ No newline at end of file diff --git a/src/main/java/hhn/temp/project/provider/sql/selectTaskTable.sql b/resources/sql/selectTaskTable.sql similarity index 100% rename from src/main/java/hhn/temp/project/provider/sql/selectTaskTable.sql rename to resources/sql/selectTaskTable.sql diff --git a/src/main/java/hhn/temp/project/provider/sql/updateTaskTable.sql b/resources/sql/updateTaskTable.sql similarity index 100% rename from src/main/java/hhn/temp/project/provider/sql/updateTaskTable.sql rename to resources/sql/updateTaskTable.sql diff --git a/src/main/java/hhn/temp/project/provider/SimpleDatabaseManager.java b/src/main/java/hhn/temp/project/provider/SimpleDatabaseManager.java index e53ff173..ca958401 100644 --- a/src/main/java/hhn/temp/project/provider/SimpleDatabaseManager.java +++ b/src/main/java/hhn/temp/project/provider/SimpleDatabaseManager.java @@ -3,15 +3,50 @@ package hhn.temp.project.provider; import hhn.temp.project.Task; import hhn.temp.project.Worker; +import java.io.File; +import java.io.IOException; +import java.net.URISyntaxException; +import java.nio.file.Files; +import java.nio.file.Path; import java.sql.*; import java.util.*; public class SimpleDatabaseManager implements DatabaseManager { + private final static Path INSERT_TASK = Path.of("./src/main/resources/sql/InsertTaskTable.sql"); + private final static Path DELETE_TASK = Path.of("./src/main/resources/sql/DeleteTaskTable.sql"); + private final static Path SELECT_TASK = Path.of("./src/main/resources/sql/SelectTaskTable.sql"); + private final static Path UPDATE_TASK = Path.of("./src/main/resources/sql/UpdateTaskTable.sql"); + private boolean connected = false; private Map temporaryTaskList = new HashMap(); private Map temporaryWorkerList = new HashMap<>(); + public enum QueryMode { + INSERT, + SELECT, + UPDATE, + DELETE + } + + public String loadFile(QueryMode queryMode) throws IOException, URISyntaxException { + switch (queryMode) { + case INSERT -> { + return Files.readString(INSERT_TASK); + } + case SELECT -> { + + } + case DELETE -> { + + } + case UPDATE -> { + + } + } + return ""; + } + @Override public void saveTask(Task task) throws SQLException { if (!connected) { diff --git a/test/hhn/temp/project/DatabaseGoodCasesTest.java b/test/hhn/temp/project/DatabaseGoodCasesTest.java index b72b00be..e34bd28f 100644 --- a/test/hhn/temp/project/DatabaseGoodCasesTest.java +++ b/test/hhn/temp/project/DatabaseGoodCasesTest.java @@ -9,6 +9,7 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; import java.io.IOException; +import java.net.URISyntaxException; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collection; @@ -16,7 +17,7 @@ import java.util.List; public class DatabaseGoodCasesTest { - private DatabaseManager databaseManager; + private SimpleDatabaseManager databaseManager; @BeforeEach public void setup() throws SQLException { @@ -83,4 +84,9 @@ public class DatabaseGoodCasesTest { assertEquals(0, databaseManager.getTotalNumberOfTasks()); assertEquals(0, databaseManager.getTotalNumberOfWorkers()); } + + @Test + public void testRandom() throws IOException, URISyntaxException { + System.out.println(databaseManager.loadFile(SimpleDatabaseManager.QueryMode.INSERT)); + } } \ No newline at end of file