Merge pull request 'Fixed tracer not being deleted' (#55) from BauSystem/fix-tracer-deletion into main

Reviewed-on: https://steamwar.de/devlabs/SteamWar/SteamWar/pulls/55
Reviewed-by: YoyoNow <jwsteam@nidido.de>
This commit is contained in:
2024-11-24 22:37:19 +01:00
@@ -142,17 +142,18 @@ public class TraceManager implements Listener {
* *
* @param trace the trace to be removed * @param trace the trace to be removed
*/ */
public boolean remove(Trace trace) { public void remove(Trace trace) {
Map<Integer, Trace> traces = tracesByRegion.getOrDefault(trace.getRegion(), Collections.emptyMap()); Map<Integer, Trace> traces = tracesByRegion.getOrDefault(trace.getRegion(), Collections.emptyMap());
Integer traceId = traces.entrySet().stream() Integer traceId = traces.entrySet().stream()
.filter(entry -> entry.getValue() == trace) .filter(entry -> entry.getValue() == trace)
.map(Map.Entry::getKey) .map(Map.Entry::getKey)
.findFirst() .findFirst()
.orElse(null); .orElse(null);
if (traceId == null) return false; if (traceId == null) throw new RuntimeException("Trace not found while trying to remove see (c978eb98-b0b2-4009-91d8-acfa34e2831a)");
traces.remove(traceId); traces.remove(traceId);
trace.hide(); trace.hide();
return true; trace.getMetadataSaveFile().delete();
trace.getRecordsSaveFile().delete();
} }
/** /**
@@ -171,8 +172,8 @@ public class TraceManager implements Listener {
tracesByRegion.getOrDefault(region, new HashMap<>()) tracesByRegion.getOrDefault(region, new HashMap<>())
.forEach((i, trace) -> { .forEach((i, trace) -> {
if (trace.getRegion() != region) return; if (trace.getRegion() != region) return;
trace.getMetadataSaveFile().deleteOnExit(); trace.getMetadataSaveFile().delete();
trace.getRecordsSaveFile().deleteOnExit(); trace.getRecordsSaveFile().delete();
}); });
tracesByRegion.getOrDefault(region, new HashMap<>()).clear(); tracesByRegion.getOrDefault(region, new HashMap<>()).clear();
} }