summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/database/Database.java
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2022-05-17 16:36:35 -0400
committerTyler Murphy <tylermurphy534@gmail.com>2022-05-17 16:36:35 -0400
commitb74b8136365ca2542242023fc91e370873d6eabf (patch)
tree75e1a9267d11fadad417cc91a225e70385983aae /src/main/java/net/tylermurphy/hideAndSeek/database/Database.java
parentmapsave bug fixes for windows servers (diff)
downloadkenshinshideandseek-b74b8136365ca2542242023fc91e370873d6eabf.tar.gz
kenshinshideandseek-b74b8136365ca2542242023fc91e370873d6eabf.tar.bz2
kenshinshideandseek-b74b8136365ca2542242023fc91e370873d6eabf.zip
working on expanding database
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/database/Database.java')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/database/Database.java41
1 files changed, 22 insertions, 19 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/database/Database.java b/src/main/java/net/tylermurphy/hideAndSeek/database/Database.java
index ce06244..0eceb98 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/database/Database.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/database/Database.java
@@ -21,48 +21,51 @@ package net.tylermurphy.hideAndSeek.database;
import com.google.common.io.ByteStreams;
import net.tylermurphy.hideAndSeek.Main;
-import org.sqlite.SQLiteConfig;
+import net.tylermurphy.hideAndSeek.database.connections.DatabaseConnection;
+import net.tylermurphy.hideAndSeek.database.connections.SQLiteConnection;
import java.io.ByteArrayInputStream;
-import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
import java.sql.Connection;
-import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.UUID;
public class Database {
- private final File databaseFile = new File(Main.getInstance().getDataFolder(), "database.db");
- private final PlayerInfoTable playerInfo;
- private final SQLiteConfig config;
+ private final GameDataTable playerInfo;
+ private final NameDataTable nameInfo;
+ private final DatabaseConnection connection;
public Database(){
- try {
- Class.forName("org.sqlite.JDBC");
- } catch (ClassNotFoundException e) {
- Main.getInstance().getLogger().severe(e.getMessage());
- throw new RuntimeException(e.getMessage());
- }
- config = new SQLiteConfig();
- config.setSynchronous(SQLiteConfig.SynchronousMode.NORMAL);
- config.setTempStore(SQLiteConfig.TempStore.MEMORY);
+ connection = new SQLiteConnection();
+
+ playerInfo = new GameDataTable(this);
- playerInfo = new PlayerInfoTable(this);
+ nameInfo = new NameDataTable(this);
+
+ LegacyTable legacyTable = new LegacyTable(this);
+ if(legacyTable.exists()){
+ if(legacyTable.copyData()){
+ if(!legacyTable.drop()){
+ Main.getInstance().getLogger().severe("Failed to drop old legacy table: player_info. Some data may be duplicated!");
+ }
+ }
+ }
}
- public PlayerInfoTable getGameData(){
+ public GameDataTable getGameData(){
return playerInfo;
}
+ public NameDataTable getNameData() { return nameInfo; }
+
protected Connection connect() {
Connection conn = null;
try {
- String url = "jdbc:sqlite:"+databaseFile;
- conn = DriverManager.getConnection(url, config.toProperties());
+ conn = connection.connect();
} catch (SQLException e) {
Main.getInstance().getLogger().severe(e.getMessage());
e.printStackTrace();