refactor: replace inline Locale.ROOT calls with StringNormalizer in TwitchUserLookupService

This commit is contained in:
2026-04-24 16:19:39 +02:00
parent d8f492db2d
commit a1c9e471e0
@@ -3,6 +3,7 @@ package dev.kruhlmann.imgfloat.service;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import dev.kruhlmann.imgfloat.model.api.response.TwitchUserProfile; import dev.kruhlmann.imgfloat.model.api.response.TwitchUserProfile;
import dev.kruhlmann.imgfloat.util.StringNormalizer;
import java.time.Duration; import java.time.Duration;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
@@ -10,7 +11,6 @@ import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
@@ -50,7 +50,7 @@ public class TwitchUserLookupService {
List<String> normalizedLogins = logins List<String> normalizedLogins = logins
.stream() .stream()
.filter(Objects::nonNull) .filter(Objects::nonNull)
.map((login) -> login.toLowerCase(Locale.ROOT)) .map(StringNormalizer::toLowerCaseRoot)
.distinct() .distinct()
.toList(); .toList();
@@ -78,7 +78,7 @@ public class TwitchUserLookupService {
return List.of(); return List.of();
} }
String normalizedBroadcaster = broadcasterLogin.toLowerCase(Locale.ROOT); String normalizedBroadcaster = StringNormalizer.toLowerCaseRoot(broadcasterLogin);
Map<String, TwitchUserData> broadcasterData = fetchUsers(List.of(normalizedBroadcaster), accessToken, clientId); Map<String, TwitchUserData> broadcasterData = fetchUsers(List.of(normalizedBroadcaster), accessToken, clientId);
String broadcasterId = Optional.ofNullable(broadcasterData.get(normalizedBroadcaster)) String broadcasterId = Optional.ofNullable(broadcasterData.get(normalizedBroadcaster))
.map(TwitchUserData::id) .map(TwitchUserData::id)
@@ -94,7 +94,7 @@ public class TwitchUserLookupService {
existingAdmins existingAdmins
.stream() .stream()
.filter(Objects::nonNull) .filter(Objects::nonNull)
.map((login) -> login.toLowerCase(Locale.ROOT)) .map(StringNormalizer::toLowerCaseRoot)
.forEach(skipLogins::add); .forEach(skipLogins::add);
} }
skipLogins.add(normalizedBroadcaster); skipLogins.add(normalizedBroadcaster);
@@ -136,9 +136,9 @@ public class TwitchUserLookupService {
.data() .data()
.stream() .stream()
.filter(Objects::nonNull) .filter(Objects::nonNull)
.map(ModeratorData::userLogin) .map(ModeratorData::userLogin)
.filter(Objects::nonNull) .filter(Objects::nonNull)
.map((login) -> login.toLowerCase(Locale.ROOT)) .map(StringNormalizer::toLowerCaseRoot)
.filter((login) -> !skipLogins.contains(login)) .filter((login) -> !skipLogins.contains(login))
.forEach(moderatorLogins::add); .forEach(moderatorLogins::add);
} }
@@ -173,7 +173,7 @@ public class TwitchUserLookupService {
List<String> normalizedLogins = logins List<String> normalizedLogins = logins
.stream() .stream()
.filter(Objects::nonNull) .filter(Objects::nonNull)
.map((login) -> login.toLowerCase(Locale.ROOT)) .map(StringNormalizer::toLowerCaseRoot)
.distinct() .distinct()
.toList(); .toList();
@@ -206,7 +206,7 @@ public class TwitchUserLookupService {
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect( .collect(
Collectors.toMap( Collectors.toMap(
(user) -> user.login().toLowerCase(Locale.ROOT), (user) -> StringNormalizer.toLowerCaseRoot(user.login()),
Function.identity(), Function.identity(),
(a, b) -> a, (a, b) -> a,
HashMap::new HashMap::new