refactor: migrate remaining Locale.ROOT toLowerCaseRoot calls to StringNormalizer in service layer

This commit is contained in:
2026-04-24 16:28:21 +02:00
parent 0d3d679fff
commit 9002fc60d7
4 changed files with 17 additions and 17 deletions
@@ -3,6 +3,7 @@ package dev.kruhlmann.imgfloat.service;
import dev.kruhlmann.imgfloat.model.api.response.ScriptMarketplaceEntry;
import dev.kruhlmann.imgfloat.service.media.AssetContent;
import dev.kruhlmann.imgfloat.util.AllowedDomainNormalizer;
import dev.kruhlmann.imgfloat.util.StringNormalizer;
import java.io.IOException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
@@ -10,7 +11,6 @@ import java.nio.file.Path;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.atomic.AtomicReference;
@@ -61,7 +61,7 @@ public class MarketplaceScriptSeedLoader {
if (scripts.isEmpty()) {
return List.of();
}
String normalized = query == null ? null : query.toLowerCase(Locale.ROOT);
String normalized = query == null ? null : StringNormalizer.toLowerCaseRoot(query);
return scripts
.stream()
.filter((script) -> script.matchesQuery(normalized))
@@ -104,8 +104,8 @@ public class MarketplaceScriptSeedLoader {
if (normalized == null || normalized.isBlank()) {
return true;
}
String entryName = Optional.ofNullable(name).orElse("").toLowerCase(Locale.ROOT);
String entryDescription = Optional.ofNullable(description).orElse("").toLowerCase(Locale.ROOT);
String entryName = StringNormalizer.toLowerCaseRoot(Optional.ofNullable(name).orElse(""));
String entryDescription = StringNormalizer.toLowerCaseRoot(Optional.ofNullable(description).orElse(""));
return entryName.contains(normalized) || entryDescription.contains(normalized);
}
@@ -242,7 +242,7 @@ public class MarketplaceScriptSeedLoader {
} catch (IOException ex) {
LOG.warn("Failed to detect media type for {}", attachment, ex);
}
String filename = attachment.getFileName().toString().toLowerCase(Locale.ROOT);
String filename = StringNormalizer.toLowerCaseRoot(attachment.getFileName().toString());
int dot = filename.lastIndexOf('.');
if (dot > -1 && dot < filename.length() - 1) {
String extension = filename.substring(dot + 1);
@@ -11,12 +11,12 @@ import dev.kruhlmann.imgfloat.repository.ScriptAssetFileRepository;
import dev.kruhlmann.imgfloat.repository.ScriptAssetRepository;
import dev.kruhlmann.imgfloat.service.media.AssetContent;
import dev.kruhlmann.imgfloat.util.AllowedDomainNormalizer;
import dev.kruhlmann.imgfloat.util.StringNormalizer;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
@@ -64,7 +64,7 @@ public class MarketplaceService {
}
public List<ScriptMarketplaceEntry> listScripts(String query, String sessionUsername) {
String normalized = query == null ? null : query.strip().toLowerCase(Locale.ROOT);
String normalized = query == null ? null : StringNormalizer.normalize(query);
if (normalized != null && normalized.isBlank()) {
normalized = null;
}
@@ -85,8 +85,8 @@ public class MarketplaceService {
.filter(script -> {
String name = Optional.ofNullable(script.getName()).orElse("");
String desc = Optional.ofNullable(script.getDescription()).orElse("");
return name.toLowerCase(Locale.ROOT).contains(queryFilter)
|| desc.toLowerCase(Locale.ROOT).contains(queryFilter);
return StringNormalizer.toLowerCaseRoot(name).contains(queryFilter)
|| StringNormalizer.toLowerCaseRoot(desc).contains(queryFilter);
})
.toList();
}
@@ -9,7 +9,7 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.time.Duration;
import java.util.List;
import java.util.Locale;
import dev.kruhlmann.imgfloat.util.StringNormalizer;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;
@@ -71,7 +71,7 @@ public class SevenTvEmoteService {
if (channelLogin == null || channelLogin.isBlank()) {
return List.of();
}
String normalized = channelLogin.toLowerCase(Locale.ROOT);
String normalized = StringNormalizer.toLowerCaseRoot(channelLogin);
List<CachedEmote> emotes = channelEmoteCache.computeIfAbsent(normalized, this::fetchChannelEmotes);
return emotes.stream().map(CachedEmote::descriptor).toList();
}
@@ -80,7 +80,7 @@ public class SevenTvEmoteService {
if (channelLogin == null || channelLogin.isBlank()) {
return;
}
String normalized = channelLogin.toLowerCase(Locale.ROOT);
String normalized = StringNormalizer.toLowerCaseRoot(channelLogin);
channelEmoteCache.put(normalized, fetchChannelEmotes(normalized));
}
@@ -260,7 +260,7 @@ public class SevenTvEmoteService {
if (path == null) {
return null;
}
String name = path.getFileName().toString().toLowerCase(Locale.ROOT);
String name = StringNormalizer.toLowerCaseRoot(path.getFileName().toString());
if (name.endsWith(".gif")) {
return MediaType.IMAGE_GIF;
}
@@ -9,7 +9,7 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.time.Duration;
import java.util.List;
import java.util.Locale;
import dev.kruhlmann.imgfloat.util.StringNormalizer;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
@@ -89,7 +89,7 @@ public class TwitchEmoteService {
if (channelLogin == null || channelLogin.isBlank()) {
return List.of();
}
String normalized = channelLogin.toLowerCase(Locale.ROOT);
String normalized = StringNormalizer.toLowerCaseRoot(channelLogin);
List<CachedEmote> emotes = channelEmoteCache.computeIfAbsent(normalized, this::fetchChannelEmotes);
return emotes.stream().map(CachedEmote::descriptor).toList();
}
@@ -98,7 +98,7 @@ public class TwitchEmoteService {
if (channelLogin == null || channelLogin.isBlank()) {
return;
}
String normalized = channelLogin.toLowerCase(Locale.ROOT);
String normalized = StringNormalizer.toLowerCaseRoot(channelLogin);
channelEmoteCache.put(normalized, fetchChannelEmotes(normalized));
}
@@ -329,7 +329,7 @@ public class TwitchEmoteService {
if (path == null) {
return null;
}
String name = path.getFileName().toString().toLowerCase(Locale.ROOT);
String name = StringNormalizer.toLowerCaseRoot(path.getFileName().toString());
if (name.endsWith(".gif")) {
return MediaType.IMAGE_GIF;
}