Better config management

This commit is contained in:
Eiren Rain
2021-01-14 01:06:58 +03:00
parent 9544fc5173
commit 9db609305d
2 changed files with 17 additions and 5 deletions

View File

@@ -2,7 +2,6 @@ package io.eiren.vr;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
@@ -79,14 +78,28 @@ public class VRServer extends Thread {
@ThreadSafe
public void saveConfig() {
List<Object> trackersConfig = new FastList<>();
List<YamlNode> nodes = config.getNodeList("trackers", null);
List<Map<String, Object>> trackersConfig = new FastList<>(nodes.size());
for(int i = 0; i < nodes.size(); ++i) {
trackersConfig.add(nodes.get(i).root);
}
config.setProperty("trackers", trackersConfig);
synchronized(configuration) {
Iterator<TrackerConfig> iterator = configuration.values().iterator();
while(iterator.hasNext()) {
TrackerConfig tc = iterator.next();
Map<String, Object> cfg = new HashMap<>();
trackersConfig.add(cfg);
Map<String, Object> cfg = null;
for(int i = 0; i < trackersConfig.size(); ++i) {
Map<String, Object> c = trackersConfig.get(i);
if(tc.trackerName.equals(c.get("name"))) {
cfg = c;
break;
}
}
if(cfg == null) {
cfg = new HashMap<>();
trackersConfig.add(cfg);
}
tc.saveConfig(new YamlNode(cfg));
}
}

View File

@@ -1,7 +1,6 @@
package io.eiren.vr.processor;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;