This is an automated email from the ASF dual-hosted git repository.
lizhimins pushed a commit to branch rocketmq-studio
in repository https://gitbox.apache.org/repos/asf/rocketmq-dashboard.git
The following commit(s) were added to refs/heads/rocketmq-studio by this push:
new 60bbb780 fix(ai): normalize provider names with root locale (#1490)
60bbb780 is described below
commit 60bbb780096619ded0d3946a30a925d13b21c6d1
Author: yyqdbngt <[email protected]>
AuthorDate: Tue Aug 11 17:49:41 2026 +0800
fix(ai): normalize provider names with root locale (#1490)
Co-authored-by: yyqdbngt <[email protected]>
---
.../studio/ops/ai/OpenAiCompatibleLlmClient.java | 3 ++-
.../studio/ops/ai/OpenAiCompatibleLlmClientTest.java | 16 ++++++++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git
a/server/src/main/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClient.java
b/server/src/main/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClient.java
index 71e11338..f8940149 100644
---
a/server/src/main/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClient.java
+++
b/server/src/main/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClient.java
@@ -37,6 +37,7 @@ import java.time.Duration;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
@@ -381,6 +382,6 @@ public class OpenAiCompatibleLlmClient {
}
private String normalize(String provider) {
- return provider == null ? "" : provider.trim().toLowerCase();
+ return provider == null ? "" :
provider.trim().toLowerCase(Locale.ROOT);
}
}
diff --git
a/server/src/test/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClientTest.java
b/server/src/test/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClientTest.java
index 9eaef33d..6fc960b7 100644
---
a/server/src/test/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClientTest.java
+++
b/server/src/test/java/org/apache/rocketmq/studio/ops/ai/OpenAiCompatibleLlmClientTest.java
@@ -31,6 +31,7 @@ import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
+import java.util.Locale;
import java.util.concurrent.atomic.AtomicReference;
import static org.assertj.core.api.Assertions.assertThat;
@@ -79,6 +80,21 @@ class OpenAiCompatibleLlmClientTest {
assertThat(requestBody.get().path("max_tokens").asInt()).isEqualTo(256);
}
+ @Test
+ void supportsShouldNormalizeProviderIndependentlyOfDefaultLocale() {
+ Locale originalLocale = Locale.getDefault();
+
+ boolean supported;
+ try {
+ Locale.setDefault(Locale.forLanguageTag("tr-TR"));
+ supported = client.supports(config("OPENAI", "sk-test"));
+ } finally {
+ Locale.setDefault(originalLocale);
+ }
+
+ assertThat(supported).isTrue();
+ }
+
@Test
void completeShouldNormalizeFullChatCompletionsEndpoint() {
AtomicReference<String> requestPath = new AtomicReference<>();