From d6f4970277e981fef1bc6f43b24bd6fb543fd756 Mon Sep 17 00:00:00 2001 From: CarmJos Date: Fri, 20 May 2022 18:16:44 +0800 Subject: [PATCH] [3.1.0] fix(api): configuration reload problem BREAKING CHANGES: Now we override "onReload()" method to define ConfigurationProvider how to reload the configs. Fix the problem that when the configuration file is read, the "reload()" method not working. --- core/pom.xml | 2 +- .../configuration/core/source/ConfigurationProvider.java | 7 ++++++- impl/json/pom.xml | 2 +- .../cc/carm/lib/configuration/json/JSONConfigProvider.java | 4 ++-- impl/yaml/pom.xml | 2 +- .../cc/carm/lib/configuration/yaml/YAMLConfigProvider.java | 2 +- pom.xml | 2 +- 7 files changed, 13 insertions(+), 8 deletions(-) diff --git a/core/pom.xml b/core/pom.xml index 5ab246d..f945491 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -5,7 +5,7 @@ easyconfiguration-parent cc.carm.lib - 3.0.0 + 3.1.0 4.0.0 diff --git a/core/src/main/java/cc/carm/lib/configuration/core/source/ConfigurationProvider.java b/core/src/main/java/cc/carm/lib/configuration/core/source/ConfigurationProvider.java index 8ed0b53..1ba57dc 100644 --- a/core/src/main/java/cc/carm/lib/configuration/core/source/ConfigurationProvider.java +++ b/core/src/main/java/cc/carm/lib/configuration/core/source/ConfigurationProvider.java @@ -26,10 +26,15 @@ public abstract class ConfigurationProvider { public abstract @NotNull W getConfiguration(); - public abstract void reload() throws Exception; + public void reload() throws Exception { + onReload(); // 调用重写的Reload方法 + this.updateTime = System.currentTimeMillis(); + } public abstract void save() throws Exception; + protected abstract void onReload() throws Exception; + public abstract void setHeaderComment(@Nullable String path, @Nullable List comments); public abstract void setInlineComment(@NotNull String path, @Nullable String comment); diff --git a/impl/json/pom.xml b/impl/json/pom.xml index 383e490..0611f22 100644 --- a/impl/json/pom.xml +++ b/impl/json/pom.xml @@ -5,7 +5,7 @@ easyconfiguration-parent cc.carm.lib - 3.0.0 + 3.1.0 ../../pom.xml 4.0.0 diff --git a/impl/json/src/main/java/cc/carm/lib/configuration/json/JSONConfigProvider.java b/impl/json/src/main/java/cc/carm/lib/configuration/json/JSONConfigProvider.java index ea70ddf..4a34b74 100644 --- a/impl/json/src/main/java/cc/carm/lib/configuration/json/JSONConfigProvider.java +++ b/impl/json/src/main/java/cc/carm/lib/configuration/json/JSONConfigProvider.java @@ -49,7 +49,6 @@ public class JSONConfigProvider extends FileConfigProvider { if (map == null) map = new LinkedHashMap<>(); this.configuration = new JSONConfigWrapper(map); - this.initializer = new ConfigInitializer<>(this); } @Override @@ -58,7 +57,8 @@ public class JSONConfigProvider extends FileConfigProvider { } @Override - public void reload() { + protected void onReload() throws Exception { + super.reload(); initializeConfig(); } diff --git a/impl/yaml/pom.xml b/impl/yaml/pom.xml index b13d73e..fbda624 100644 --- a/impl/yaml/pom.xml +++ b/impl/yaml/pom.xml @@ -5,7 +5,7 @@ easyconfiguration-parent cc.carm.lib - 3.0.0 + 3.1.0 ../../pom.xml 4.0.0 diff --git a/impl/yaml/src/main/java/cc/carm/lib/configuration/yaml/YAMLConfigProvider.java b/impl/yaml/src/main/java/cc/carm/lib/configuration/yaml/YAMLConfigProvider.java index 6484df2..56e3450 100644 --- a/impl/yaml/src/main/java/cc/carm/lib/configuration/yaml/YAMLConfigProvider.java +++ b/impl/yaml/src/main/java/cc/carm/lib/configuration/yaml/YAMLConfigProvider.java @@ -38,7 +38,7 @@ public class YAMLConfigProvider extends FileConfigProvider { } @Override - public void reload() throws Exception { + protected void onReload() throws Exception { configuration.load(getFile()); } diff --git a/pom.xml b/pom.xml index 5039333..ed44964 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ cc.carm.lib easyconfiguration-parent pom - 3.0.0 + 3.1.0 core impl/yaml