From e31f1ff3e465dc5bd60cace175721a8106496db8 Mon Sep 17 00:00:00 2001 From: jascotty2 Date: Tue, 3 Sep 2019 18:27:25 -0500 Subject: [PATCH 1/2] save when new default values exist --- src/main/java/com/songoda/core/SongodaCore.java | 2 +- .../java/com/songoda/core/configuration/Config.java | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/songoda/core/SongodaCore.java b/src/main/java/com/songoda/core/SongodaCore.java index eb4ed37d..e5ff5fae 100644 --- a/src/main/java/com/songoda/core/SongodaCore.java +++ b/src/main/java/com/songoda/core/SongodaCore.java @@ -276,7 +276,7 @@ public class SongodaCore { final String er = e.getMessage(); System.out.println("Connection with Songoda servers failed: " + (er.contains("URL") ? er.substring(0, er.indexOf("URL") + 3) : er)); } catch (ParseException e) { - System.out.println("Failed to parse json."); + System.out.println("Failed to parse json for " + plugin.getJavaPlugin().getName() + " update check"); } } diff --git a/src/main/java/com/songoda/core/configuration/Config.java b/src/main/java/com/songoda/core/configuration/Config.java index de48ac56..c17a56f8 100644 --- a/src/main/java/com/songoda/core/configuration/Config.java +++ b/src/main/java/com/songoda/core/configuration/Config.java @@ -409,7 +409,7 @@ public class Config extends ConfigSection { public void delaySave() { // save async even if no plugin or if plugin disabled - if (changed && saveTask == null) { + if (saveTask == null && (changed || hasNewDefaults())) { autosaveTimer = new Timer((plugin != null ? plugin.getName() + "-ConfigSave-" : "ConfigSave-") + getFile().getName()); autosaveTimer.schedule(saveTask = new SaveTask(), autosaveInterval * 1000L); } @@ -417,7 +417,7 @@ public class Config extends ConfigSection { public boolean saveChanges() { boolean saved = true; - if (changed) { + if (changed || hasNewDefaults()) { saved = save(); } if(saveTask != null) { @@ -430,6 +430,14 @@ public class Config extends ConfigSection { return saved; } + boolean hasNewDefaults() { + if (file != null && !file.exists()) return true; + for (String def : defaults.keySet()) { + if (!values.containsKey(def)) return true; + } + return false; + } + public boolean save() { if(saveTask != null) { //Close Threads From f73e54c4e20501e91a1da5f8703df21b8e4ed504 Mon Sep 17 00:00:00 2001 From: jascotty2 Date: Tue, 3 Sep 2019 18:28:31 -0500 Subject: [PATCH 2/2] version 2.0.4 --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 855d166a..f5d5f770 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ stages: variables: name: "SongodaCore" path: "/builds/$CI_PROJECT_PATH" - version: "2.0.3" + version: "2.0.4" build: stage: build