From 9db609305d2efdba4783816ec580cb76d90ef195 Mon Sep 17 00:00:00 2001 From: Eiren Rain Date: Thu, 14 Jan 2021 01:06:58 +0300 Subject: [PATCH] Better config management --- src/main/java/io/eiren/vr/VRServer.java | 21 +++++++++++++++---- .../vr/processor/HumanPoseProcessor.java | 1 - 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/eiren/vr/VRServer.java b/src/main/java/io/eiren/vr/VRServer.java index b955f4f18..5ef9d69ab 100644 --- a/src/main/java/io/eiren/vr/VRServer.java +++ b/src/main/java/io/eiren/vr/VRServer.java @@ -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 trackersConfig = new FastList<>(); + List nodes = config.getNodeList("trackers", null); + List> 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 iterator = configuration.values().iterator(); while(iterator.hasNext()) { TrackerConfig tc = iterator.next(); - Map cfg = new HashMap<>(); - trackersConfig.add(cfg); + Map cfg = null; + for(int i = 0; i < trackersConfig.size(); ++i) { + Map 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)); } } diff --git a/src/main/java/io/eiren/vr/processor/HumanPoseProcessor.java b/src/main/java/io/eiren/vr/processor/HumanPoseProcessor.java index 74177a361..1d2bfa9fd 100644 --- a/src/main/java/io/eiren/vr/processor/HumanPoseProcessor.java +++ b/src/main/java/io/eiren/vr/processor/HumanPoseProcessor.java @@ -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;