From 9cca6f91530eb9701f8dc2c7c65e740f7b8fc498 Mon Sep 17 00:00:00 2001 From: CJ Burkey Date: Sat, 11 May 2024 14:26:53 -0400 Subject: [PATCH] Create sqlite tables --- .../com/cjburkey/claimchunk/ClaimChunk.java | 11 ++++++++++- .../data/journaled/SqLiteWrapper.java | 4 +++- .../data/journaled/TableMigrationManager.java | 19 +++++++++---------- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/cjburkey/claimchunk/ClaimChunk.java b/src/main/java/com/cjburkey/claimchunk/ClaimChunk.java index 494ff5f..02cb265 100644 --- a/src/main/java/com/cjburkey/claimchunk/ClaimChunk.java +++ b/src/main/java/com/cjburkey/claimchunk/ClaimChunk.java @@ -6,6 +6,7 @@ import com.cjburkey.claimchunk.cmd.*; import com.cjburkey.claimchunk.config.ClaimChunkWorldProfileHandler; import com.cjburkey.claimchunk.config.ccconfig.*; +import com.cjburkey.claimchunk.data.journaled.JournaledDataHandler; import com.cjburkey.claimchunk.data.newdata.*; import com.cjburkey.claimchunk.event.*; import com.cjburkey.claimchunk.i18n.V2JsonMessages; @@ -365,9 +366,10 @@ private void initAnonymousData() { } } + @SuppressWarnings("CommentedOutCode") private boolean initDataHandler() { // Initialize the data handler if another plugin hasn't substituted one already - if (dataHandler == null) { + /*if (dataHandler == null) { // The ternary operator is great // But it's ugly sometimes // Yuck! @@ -383,6 +385,11 @@ private boolean initDataHandler() { this::createJsonDataHandler, JsonDataHandler::deleteFiles)) : createJsonDataHandler(); + }*/ + if (dataHandler == null) { + dataHandler = + new JournaledDataHandler( + new File(getDataFolder(), "/data/claimAndPlayerData.sqlite")); } Utils.debug("Using data handler \"%s\"", dataHandler.getClass().getName()); try { @@ -400,6 +407,7 @@ private boolean initDataHandler() { "Please double check your config and make sure it's set to the correct data" + " information to ensure ClaimChunk can operate normally"); } + System.exit(-1); return false; } @@ -448,6 +456,7 @@ private void initEcon() { Utils.log("Economy not enabled."); } + @SuppressWarnings("unused") private JsonDataHandler createJsonDataHandler() { // Create the basic JSON data handler return new JsonDataHandler( diff --git a/src/main/java/com/cjburkey/claimchunk/data/journaled/SqLiteWrapper.java b/src/main/java/com/cjburkey/claimchunk/data/journaled/SqLiteWrapper.java index ce0fe02..f095c91 100644 --- a/src/main/java/com/cjburkey/claimchunk/data/journaled/SqLiteWrapper.java +++ b/src/main/java/com/cjburkey/claimchunk/data/journaled/SqLiteWrapper.java @@ -1,5 +1,7 @@ package com.cjburkey.claimchunk.data.journaled; +import lombok.Getter; + import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -11,7 +13,7 @@ public class SqLiteWrapper { - private final File dbFile; + @Getter private final File dbFile; private Connection connection; public SqLiteWrapper(@NotNull File dbFile) { diff --git a/src/main/java/com/cjburkey/claimchunk/data/journaled/TableMigrationManager.java b/src/main/java/com/cjburkey/claimchunk/data/journaled/TableMigrationManager.java index d36cba3..c229ac4 100644 --- a/src/main/java/com/cjburkey/claimchunk/data/journaled/TableMigrationManager.java +++ b/src/main/java/com/cjburkey/claimchunk/data/journaled/TableMigrationManager.java @@ -44,31 +44,30 @@ private static void initializeTables(Connection connection) throws SQLException // cleaner. } - // TODO: CHECK THESE WORK! private static void tryCreateTables(Connection connection) throws SQLException { // Player data table connection - .prepareCall( + .prepareStatement( """ CREATE TABLE IF NOT EXISTS player_data ( player_id INTEGER PRIMARY KEY, - player_uuid VARCHAR(36) UNIQUE NOT NULL, - last_ign VARCHAR(32) NOT NULL, - chunk_name VARCHAR(32), + player_uuid TEXT UNIQUE NOT NULL, + last_ign TEXT NOT NULL, + chunk_name TEXT, last_online_time INTEGER NOT NULL, alerts_enabled INTEGER NOT NULL, - extra_max_claims INTEGER NOT NULL, + extra_max_claims INTEGER NOT NULL ) STRICT """) .execute(); // Chunk data table connection - .prepareCall( + .prepareStatement( """ CREATE TABLE IF NOT EXISTS chunk_data ( chunk_id INTEGER PRIMARY KEY, - chunk_world VARCHAR(32) NOT NULL, + chunk_world TEXT NOT NULL, chunk_x INTEGER NOT NULL, chunk_z INTEGER NOT NULL, owner_id INTEGER NOT NULL, @@ -80,14 +79,14 @@ FOREIGN KEY(owner_id) REFERENCES player_data(player_id) // Granular chunk player permission table connection - .prepareCall( + .prepareStatement( """ CREATE TABLE IF NOT EXISTS chunk_permissions ( chunk_id INTEGER NOT NULL, other_player_id INTEGER NOT NULL, permission_bits INTEGER NOT NULL, - FOREIGN KEY(chunk_id) REFERENCES chunk_data(chunk_id) + FOREIGN KEY(chunk_id) REFERENCES chunk_data(chunk_id), FOREIGN KEY(other_player_id) REFERENCES player_data(player_id) ) STRICT """)