summaryrefslogtreecommitdiffstats
path: root/bukkit/src/main/java/com
diff options
context:
space:
mode:
authorLMBishop <13875753+LMBishop@users.noreply.github.com>2022-04-17 15:02:44 +0100
committerLMBishop <13875753+LMBishop@users.noreply.github.com>2022-04-17 15:02:44 +0100
commit347875ee7b448909f8f34af6e0c1121f2f03f040 (patch)
treec8573eb32e5624073fdd4006570d6f934752c6bf /bukkit/src/main/java/com
parentd0e7b27be3e60cd25328c643d784e77dd5e4e61f (diff)
Improve error handling for MySQL storage provider
Diffstat (limited to 'bukkit/src/main/java/com')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java6
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/storage/MySqlStorageProvider.java11
2 files changed, 9 insertions, 8 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
index 50323255..a837970c 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
@@ -174,7 +174,11 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests {
this.storageProvider = new YamlStorageProvider(this);
break;
case "mysql":
- this.storageProvider = new MySqlStorageProvider(this, this.getConfig().getConfigurationSection("options.storage.database-settings"));
+ ConfigurationSection section = this.getConfig().getConfigurationSection("options.storage.database-settings");
+ if (section == null) {
+ questsLogger.warning("No database settings are configured - default values will be used");
+ }
+ this.storageProvider = new MySqlStorageProvider(this, section);
}
try {
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/storage/MySqlStorageProvider.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/storage/MySqlStorageProvider.java
index fa1ff133..13b0ac7d 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/storage/MySqlStorageProvider.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/storage/MySqlStorageProvider.java
@@ -63,6 +63,7 @@ public class MySqlStorageProvider implements StorageProvider {
configuration = new YamlConfiguration();
}
this.configuration = configuration;
+ this.fault = true;
}
@Override
@@ -99,12 +100,7 @@ public class MySqlStorageProvider implements StorageProvider {
}
}
- try {
- this.hikari = new HikariDataSource(config);
- } catch (Exception e) {
- e.printStackTrace();
- fault = true;
- }
+ this.hikari = new HikariDataSource(config);
this.prefix = configuration.getString("database-settings.table-prefix", "quests_");
this.statementProcessor = s -> s.replace("{prefix}", prefix);
try (Connection connection = hikari.getConnection()) {
@@ -116,8 +112,9 @@ public class MySqlStorageProvider implements StorageProvider {
s.executeBatch();
}
} catch (SQLException e) {
- e.printStackTrace();
+ throw new RuntimeException(e);
}
+ this.fault = false;
}
@Override