Skip to content

Commit

Permalink
fix: use concurrent map and set implementations
Browse files Browse the repository at this point in the history
  • Loading branch information
0utplay committed Sep 8, 2024
1 parent d9a68b9 commit 9681f4d
Showing 1 changed file with 6 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@

package eu.cloudnetservice.common.language;

import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Multimaps;
import com.google.common.collect.SetMultimap;
import eu.cloudnetservice.common.io.FileUtil;
import eu.cloudnetservice.common.resource.ResourceResolver;
Expand All @@ -28,11 +28,11 @@
import java.nio.file.Files;
import java.nio.file.Path;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicReference;
import java.util.regex.Pattern;
import lombok.NonNull;
Expand All @@ -56,7 +56,9 @@ public final class I18n {
private static final Pattern MESSAGE_FORMAT = Pattern.compile("\\{(.+?)\\$.+?\\$}");

private static final Logger LOGGER = LoggerFactory.getLogger(I18n.class);
private static final SetMultimap<String, Entry> REGISTERED_ENTRIES = HashMultimap.create();
private static final SetMultimap<String, Entry> REGISTERED_ENTRIES = Multimaps.newSetMultimap(
new ConcurrentHashMap<>(),
ConcurrentHashMap::newKeySet);
private static final AtomicReference<String> CURRENT_LANGUAGE = new AtomicReference<>("en_US");

private I18n() {
Expand Down Expand Up @@ -158,8 +160,7 @@ public static void addLanguageFile(@NonNull String lang, @NonNull Properties ent
* @throws NullPointerException if the given loader is null.
*/
public static void unregisterLanguageFiles(@NonNull ClassLoader loader) {
var entries = new ArrayList<>(REGISTERED_ENTRIES.entries());
for (var entry : entries) {
for (var entry : REGISTERED_ENTRIES.entries()) {
if (entry.getValue().source().equals(loader)) {
REGISTERED_ENTRIES.remove(entry.getKey(), entry.getValue());
}
Expand Down

0 comments on commit 9681f4d

Please sign in to comment.