From 005758c1e5368e415e04dc34ca842b069e20e0e2 Mon Sep 17 00:00:00 2001
From: potzplitz <127513690+potzplitz@users.noreply.github.com>
Date: Sun, 24 Mar 2024 17:46:29 +0100
Subject: [PATCH] started working on new database system using sqlite
---
pom.xml | 11 ++++++++
src/data/FetchGDData.java | 9 -------
src/database/DatabaseManager.java | 15 +++++++++++
src/database/Sqlite.java | 38 ++++++++++++++++++++++++++++
src/firstlaunch/FirstlaunchMain.java | 1 +
src/main/Main.java | 10 ++++++--
src/media/PlaySong.java | 15 +++++------
src/module-info.java | 1 +
8 files changed, 81 insertions(+), 19 deletions(-)
delete mode 100644 src/data/FetchGDData.java
create mode 100644 src/database/DatabaseManager.java
create mode 100644 src/database/Sqlite.java
diff --git a/pom.xml b/pom.xml
index 1d66620..d7348b1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,11 +37,22 @@
jdash-client
4.0.5
+
+ org.xerial
+ sqlite-jdbc
+ 3.45.2.0
+
javazoom
jlayer
1.0.1
+
+ ch.qos.logback
+ logback-classic
+ 1.2.10
+
+
src
diff --git a/src/data/FetchGDData.java b/src/data/FetchGDData.java
deleted file mode 100644
index 0678552..0000000
--- a/src/data/FetchGDData.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package data;
-
-public class FetchGDData {
-
- public void getSongData() {
-
- }
-
-}
diff --git a/src/database/DatabaseManager.java b/src/database/DatabaseManager.java
new file mode 100644
index 0000000..cfeb354
--- /dev/null
+++ b/src/database/DatabaseManager.java
@@ -0,0 +1,15 @@
+package database;
+
+public class DatabaseManager {
+
+ public void manage() {
+ Sqlite sql = new Sqlite("test");
+ if(sql.exists()) {
+ System.out.println(true);
+ } else {
+ System.out.println(false);
+ sql.createNewDatabase();
+ }
+ }
+
+}
diff --git a/src/database/Sqlite.java b/src/database/Sqlite.java
new file mode 100644
index 0000000..5b344f0
--- /dev/null
+++ b/src/database/Sqlite.java
@@ -0,0 +1,38 @@
+package database;
+
+import java.io.File;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.SQLException;
+import java.sql.DriverManager;
+
+public class Sqlite {
+
+ private static String url = "jdbc:sqlite:C:\\ExtremeDemonList\\database\\sqlite\\";
+ private static String filename;
+
+ public Sqlite(String dbname) { // setzt variablen
+ url += dbname + ".db";
+ filename = dbname + "";
+
+ }
+
+ public boolean exists() { // überprüft, ob datenbank existiert
+
+ File file = new File("C:\\ExtremeDemonList\\database\\sqlite\\" + filename + ".db");
+ if(file.exists()) {
+ return true; // ja
+ } else {
+ return false; // nein
+ }
+ }
+
+ public void createNewDatabase() { // erstellt eine neue datenbank
+ try (Connection conn = DriverManager.getConnection(url)) {
+ DatabaseMetaData meta = conn.getMetaData();
+
+ } catch(SQLException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/firstlaunch/FirstlaunchMain.java b/src/firstlaunch/FirstlaunchMain.java
index 973d307..0026e85 100644
--- a/src/firstlaunch/FirstlaunchMain.java
+++ b/src/firstlaunch/FirstlaunchMain.java
@@ -4,6 +4,7 @@ public class FirstlaunchMain {
public void main() {
+
}
}
diff --git a/src/main/Main.java b/src/main/Main.java
index 1e1116a..8b14bed 100644
--- a/src/main/Main.java
+++ b/src/main/Main.java
@@ -7,6 +7,7 @@ import javax.swing.UnsupportedLookAndFeelException;
import api.GetApiData;
import data.FetchData;
import data.ManageFiles;
+import database.DatabaseManager;
import filestructure.CreateFileStructure;
import gui.LoadMenu;
@@ -27,10 +28,15 @@ public class Main {
FetchData fetch = new FetchData();
fetch.getGithubString();
- load.updateBar("Liste wird auf Updates geprüft...");
+ load.updateBar("Einträge werden Indexiert...");
ManageFiles manager = new ManageFiles();
- manager.compareArrays();
+ manager.compareArrays();
+
+ load.updateBar("Datenbank wird geladen...");
+
+ DatabaseManager data = new DatabaseManager();
+ data.manage();
load.updateBar("Ladevorgang abgeschlossen");
load.close();
diff --git a/src/media/PlaySong.java b/src/media/PlaySong.java
index 55276a5..fd6a2f3 100644
--- a/src/media/PlaySong.java
+++ b/src/media/PlaySong.java
@@ -32,13 +32,13 @@ public class PlaySong {
}
private void playSong(String path) {
- String filePath = path; // Passe den Pfad zu deiner MP3-Datei an
+ String filePath = path;
try {
FileInputStream fis = new FileInputStream(filePath);
AdvancedPlayer player = new AdvancedPlayer(fis);
- // Starte das Abspielen in einem neuen Thread, damit der Hauptthread nicht blockiert wird
+
Thread playerThread = new Thread(() -> {
try {
player.play();
@@ -49,16 +49,15 @@ public class PlaySong {
playerThread.start();
- // Gib dem Player Zeit, die MP3-Datei abzuspielen
- Thread.sleep(10000); // Zum Beispiel 10 Sekunden abwarten
- // Beende den Player und schließe die FileInputStream
+ Thread.sleep(10000);
+
+
player.close();
fis.close();
- } catch (FileNotFoundException | JavaLayerException | InterruptedException e) {
+ } catch (IOException | JavaLayerException | InterruptedException e) {
e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
+
e.printStackTrace();
}
diff --git a/src/module-info.java b/src/module-info.java
index b577c5f..67aea5f 100644
--- a/src/module-info.java
+++ b/src/module-info.java
@@ -13,4 +13,5 @@
requires jdash.client;
requires jdash.common;
requires jlayer;
+ requires java.sql;
}
\ No newline at end of file