From cdae63db1d2010a4c4e1b1b1884165c982bcedc8 Mon Sep 17 00:00:00 2001 From: extio-de Date: Wed, 11 Feb 2026 22:18:09 +0100 Subject: [PATCH] feat(localization): handle concurrent modification in translate method --- .../extio/game_engine/i18n/LocalizationServiceImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/extio/game_engine/i18n/LocalizationServiceImpl.java b/src/main/java/de/extio/game_engine/i18n/LocalizationServiceImpl.java index 1af9b07..8b98c05 100644 --- a/src/main/java/de/extio/game_engine/i18n/LocalizationServiceImpl.java +++ b/src/main/java/de/extio/game_engine/i18n/LocalizationServiceImpl.java @@ -1,6 +1,7 @@ package de.extio.game_engine.i18n; import java.io.InputStream; +import java.util.ConcurrentModificationException; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -122,7 +123,13 @@ public class LocalizationServiceImpl implements LocalizationService { if (this.currentLanguage == null) { return NOT_FOUND_PREFIX + id + "}"; } - return this.currentLanguage.computeIfAbsent(id, key -> key); + try { + return this.currentLanguage.computeIfAbsent(id, key -> key); + } + catch (final ConcurrentModificationException e) { + LOGGER.warn("Concurrent modification while translating id '{}'", id, e); + return NOT_FOUND_PREFIX + id + "}"; + } } @Override