Skip to content

Commit c3ce90b

Browse files
committed
Fix non-existent config updates being constantly applied
1 parent 1ad3667 commit c3ce90b

3 files changed

Lines changed: 12 additions & 9 deletions

File tree

Plan/common/src/main/java/com/djrapitops/plan/settings/config/ResourceSettings.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ public ResourceSettings(
4141
}
4242

4343
public boolean shouldBeCustomized(String plugin, @Untrusted String fileName) {
44+
if ("Plan".equals(plugin)) return false;
45+
4446
ConfigNode fileCustomization = getCustomizationConfigNode();
4547
fileCustomization.setComment(Collections.singletonList("The files are placed in /Plan/web/ if the setting is 'true' when accessed."));
4648

Plan/common/src/main/java/com/djrapitops/plan/settings/config/changes/ConfigChange.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.util.ArrayList;
2323
import java.util.Collections;
2424
import java.util.Optional;
25-
import java.util.function.Predicate;
2625

2726
/**
2827
* Represents a change made to the config structure.
@@ -48,7 +47,9 @@ public Moved(String oldPath, String newPath) {
4847

4948
@Override
5049
public synchronized void apply(Config config) {
51-
if (!config.moveChild(oldPath, newPath)) {
50+
if (config.getNode(newPath).isPresent()) {
51+
super.apply(config);
52+
} else if (!config.moveChild(oldPath, newPath)) {
5253
throw new IllegalStateException("Failed to move config node from '" + oldPath + "' to '" + newPath + "'");
5354
}
5455
}
@@ -102,12 +103,12 @@ public MovedValue(String oldPath, String newPath) {
102103

103104
@Override
104105
public boolean hasBeenApplied(Config config) {
105-
return config.getNode(oldPath)
106-
.map(ConfigNode::getString)
107-
.map(String::trim)
108-
.filter(Predicate.not(String::isEmpty))
109-
.isEmpty()
110-
&& config.getNode(newPath).isPresent();
106+
Optional<ConfigNode> oldNode = config.getNode(oldPath);
107+
Optional<ConfigNode> newNode = config.getNode(newPath);
108+
if (oldNode.isPresent()) {
109+
return false;
110+
}
111+
return newNode.isPresent();
111112
}
112113

113114
@Override

Plan/common/src/main/java/com/djrapitops/plan/settings/config/changes/ConfigUpdater.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ ConfigChange[] configEnhancementPatch() {
165165
new ConfigChange.MovedValue("Time.Thresholds.Remove_ping_data_after", "Time.Thresholds.Remove_ping_data_after.Time"),
166166
new ConfigChange.MovedValue("Time.Thresholds.AFK_threshold", "Time.Thresholds.AFK_threshold.Time"),
167167
new ConfigChange.MovedValue("Time.Thresholds.Remove_inactive_player_data_after", "Time.Thresholds.Remove_inactive_player_data_after.Time"),
168-
new ConfigChange.MovedValue("Time.Periodic_tasks.Extension_data_refresh_every", "Time.Periodic_tasks.Extension_data_refresh_every.Time"),
168+
new ConfigChange.MovedValue("Time.Periodic_tasks.Extension_data_refresh_every", "Time.Periodic_tasks.Extension_server_data_refresh_every.Time"),
169169
new ConfigChange.MovedValue("Time.Periodic_tasks.Check_DB_for_server_config_files_every", "Time.Periodic_tasks.Check_DB_for_server_config_files_every.Time"),
170170
new ConfigChange.MovedValue("Time.Periodic_tasks.Clean_Database_every", "Time.Periodic_tasks.Clean_Database_every.Time"),
171171
new ConfigChange.MovedValue("Time.Delays.Ping_server_enable_delay", "Time.Delays.Ping_server_enable_delay.Time"),

0 commit comments

Comments
 (0)