From b527deff6e211a7fb36b7b84bb57531d03eb19bb Mon Sep 17 00:00:00 2001 From: xiaoheng1 <2018154970@qq.com> Date: Wed, 21 Apr 2021 14:35:48 +0800 Subject: [PATCH 1/2] fix #5432 Optimize the ConfigType.isValidType method --- .../alibaba/nacos/api/config/ConfigType.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/api/src/main/java/com/alibaba/nacos/api/config/ConfigType.java b/api/src/main/java/com/alibaba/nacos/api/config/ConfigType.java index cab303b3598..18f58f7feb2 100644 --- a/api/src/main/java/com/alibaba/nacos/api/config/ConfigType.java +++ b/api/src/main/java/com/alibaba/nacos/api/config/ConfigType.java @@ -18,6 +18,9 @@ import com.alibaba.nacos.api.utils.StringUtils; +import java.util.HashMap; +import java.util.Map; + /** * Config data type. * @@ -60,7 +63,15 @@ public enum ConfigType { */ UNSET("unset"); - String type; + private final String type; + + private static final Map localMap = new HashMap(); + + static { + for (ConfigType configType : values()) { + localMap.put(configType.getType(), configType); + } + } ConfigType(String type) { this.type = type; @@ -84,11 +95,6 @@ public static Boolean isValidType(String type) { if (StringUtils.isBlank(type)) { return false; } - for (ConfigType value : values()) { - if (value.type.equals(type)) { - return true; - } - } - return false; + return null != localMap.get(type) ? true : false; } } From cef663efadfeea511b818b89c6ae1ca7d7bbb8f2 Mon Sep 17 00:00:00 2001 From: xiaoheng1 <2018154970@qq.com> Date: Thu, 22 Apr 2021 10:32:08 +0800 Subject: [PATCH 2/2] code format --- .../main/java/com/alibaba/nacos/api/config/ConfigType.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/src/main/java/com/alibaba/nacos/api/config/ConfigType.java b/api/src/main/java/com/alibaba/nacos/api/config/ConfigType.java index 18f58f7feb2..4df813b29dc 100644 --- a/api/src/main/java/com/alibaba/nacos/api/config/ConfigType.java +++ b/api/src/main/java/com/alibaba/nacos/api/config/ConfigType.java @@ -65,11 +65,11 @@ public enum ConfigType { private final String type; - private static final Map localMap = new HashMap(); + private static final Map LOCAL_MAP = new HashMap(); static { for (ConfigType configType : values()) { - localMap.put(configType.getType(), configType); + LOCAL_MAP.put(configType.getType(), configType); } } @@ -95,6 +95,6 @@ public static Boolean isValidType(String type) { if (StringUtils.isBlank(type)) { return false; } - return null != localMap.get(type) ? true : false; + return null != LOCAL_MAP.get(type) ? true : false; } }