This is an automated email from the ASF dual-hosted git repository. xxyu pushed a commit to branch kylin5 in repository https://gitbox.apache.org/repos/asf/kylin.git
commit e35d6a147aaf20a70d70f766398069f1d324c3d8 Author: DorrisRuixuanZhang <dorriszh...@hotmail.com> AuthorDate: Tue Mar 21 10:47:13 2023 +0800 KYLIN-5577 To fix the bug of checking upper case model alias --- .../java/org/apache/kylin/rest/service/FusionModelService.java | 10 ++++++++-- .../org/apache/kylin/rest/service/FusionModelServiceTest.java | 9 +++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/modeling-service/src/main/java/org/apache/kylin/rest/service/FusionModelService.java b/src/modeling-service/src/main/java/org/apache/kylin/rest/service/FusionModelService.java index 5bea1e95e9..bce2acf180 100644 --- a/src/modeling-service/src/main/java/org/apache/kylin/rest/service/FusionModelService.java +++ b/src/modeling-service/src/main/java/org/apache/kylin/rest/service/FusionModelService.java @@ -20,6 +20,7 @@ package org.apache.kylin.rest.service; import java.util.List; import java.util.Locale; +import java.util.Set; import org.apache.commons.lang3.ArrayUtils; import org.apache.kylin.common.KylinConfig; @@ -253,7 +254,12 @@ public class FusionModelService extends AbstractModelService implements TableFus } public boolean modelExists(String modelAlias, String project) { - return getManager(NDataModelManager.class, project).listAllModelAlias() - .contains(modelAlias.toLowerCase(Locale.ROOT)); + Set<String> allModelAlias = getManager(NDataModelManager.class, project).listAllModelAlias(); + for (String alias : allModelAlias) { + if (alias.equalsIgnoreCase(modelAlias)) { + return true; + } + } + return false; } } diff --git a/src/modeling-service/src/test/java/org/apache/kylin/rest/service/FusionModelServiceTest.java b/src/modeling-service/src/test/java/org/apache/kylin/rest/service/FusionModelServiceTest.java index 6b12926cf6..a2443f00f4 100644 --- a/src/modeling-service/src/test/java/org/apache/kylin/rest/service/FusionModelServiceTest.java +++ b/src/modeling-service/src/test/java/org/apache/kylin/rest/service/FusionModelServiceTest.java @@ -32,6 +32,8 @@ import org.apache.kylin.common.persistence.transaction.UnitOfWork; import org.apache.kylin.common.scheduler.EventBusFactory; import org.apache.kylin.common.util.JsonUtil; import org.apache.kylin.common.util.Pair; +import org.apache.kylin.guava30.shaded.common.collect.Lists; +import org.apache.kylin.guava30.shaded.common.collect.Sets; import org.apache.kylin.job.constant.JobStatusEnum; import org.apache.kylin.metadata.cube.model.IndexPlan; import org.apache.kylin.metadata.cube.model.NDataflowManager; @@ -69,9 +71,6 @@ import org.springframework.security.authentication.TestingAuthenticationToken; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.test.util.ReflectionTestUtils; -import org.apache.kylin.guava30.shaded.common.collect.Lists; -import org.apache.kylin.guava30.shaded.common.collect.Sets; - import lombok.val; import lombok.var; @@ -466,6 +465,8 @@ public class FusionModelServiceTest extends SourceTestCase { @Test public void testModelExistsIgnoreCase() { - Assert.assertTrue(fusionModelService.modelExists("Stream_Merge1", "streaming_test")); + String project = "streaming_test"; + Assert.assertTrue(fusionModelService.modelExists("Stream_Merge1", project)); + Assert.assertTrue(fusionModelService.modelExists("auto_model_p_lineorder_0", project)); } }