diff --git a/client/src/main/java/com/alibaba/nacos/client/naming/NacosNamingMaintainService.java b/client/src/main/java/com/alibaba/nacos/client/naming/NacosNamingMaintainService.java index efc783f2d7c..14a38d6b27a 100644 --- a/client/src/main/java/com/alibaba/nacos/client/naming/NacosNamingMaintainService.java +++ b/client/src/main/java/com/alibaba/nacos/client/naming/NacosNamingMaintainService.java @@ -48,17 +48,17 @@ public class NacosNamingMaintainService implements NamingMaintainService { private NamingProxy serverProxy; - public NacosNamingMaintainService(String serverList) { + public NacosNamingMaintainService(String serverList) throws NacosException { Properties properties = new Properties(); properties.setProperty(PropertyKeyConst.SERVER_ADDR, serverList); init(properties); } - public NacosNamingMaintainService(Properties properties) { + public NacosNamingMaintainService(Properties properties) throws NacosException { init(properties); } - private void init(Properties properties) { + private void init(Properties properties) throws NacosException { ValidatorUtils.checkInitParam(properties); namespace = InitUtils.initNamespaceForNaming(properties); InitUtils.initSerialization(); diff --git a/client/src/main/java/com/alibaba/nacos/client/naming/NacosNamingService.java b/client/src/main/java/com/alibaba/nacos/client/naming/NacosNamingService.java index 0077776d42c..73e7dea53cf 100644 --- a/client/src/main/java/com/alibaba/nacos/client/naming/NacosNamingService.java +++ b/client/src/main/java/com/alibaba/nacos/client/naming/NacosNamingService.java @@ -73,17 +73,17 @@ public class NacosNamingService implements NamingService { private NamingProxy serverProxy; - public NacosNamingService(String serverList) { + public NacosNamingService(String serverList) throws NacosException { Properties properties = new Properties(); properties.setProperty(PropertyKeyConst.SERVER_ADDR, serverList); init(properties); } - public NacosNamingService(Properties properties) { + public NacosNamingService(Properties properties) throws NacosException { init(properties); } - private void init(Properties properties) { + private void init(Properties properties) throws NacosException { ValidatorUtils.checkInitParam(properties); this.namespace = InitUtils.initNamespaceForNaming(properties); InitUtils.initSerialization(); diff --git a/client/src/main/java/com/alibaba/nacos/client/utils/ValidatorUtils.java b/client/src/main/java/com/alibaba/nacos/client/utils/ValidatorUtils.java index e2b25e91002..7d321e030c6 100644 --- a/client/src/main/java/com/alibaba/nacos/client/utils/ValidatorUtils.java +++ b/client/src/main/java/com/alibaba/nacos/client/utils/ValidatorUtils.java @@ -17,6 +17,7 @@ package com.alibaba.nacos.client.utils; import com.alibaba.nacos.api.PropertyKeyConst; +import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.common.utils.StringUtils; import java.util.Properties; @@ -28,34 +29,15 @@ * * @author liaochuntao */ +@SuppressWarnings("all") public final class ValidatorUtils { private static final Pattern CONTEXT_PATH_MATCH = Pattern.compile("(\\/)\\1+"); - private static final Pattern IP_MATCH = Pattern.compile("([^\\/:]+)(:\\d+)"); - public static void checkInitParam(Properties properties) { - checkServerAddr(properties.getProperty(PropertyKeyConst.SERVER_ADDR)); + public static void checkInitParam(Properties properties) throws NacosException { checkContextPath(properties.getProperty(PropertyKeyConst.CONTEXT_PATH)); } - public static void checkServerAddr(String serverAddr) { - if (StringUtils.isEmpty(serverAddr)) { - throw new IllegalArgumentException("Please set the serverAddr"); - } - String[] addrs; - if (serverAddr.contains(StringUtils.COMMA)) { - addrs = serverAddr.split(StringUtils.COMMA); - } else { - addrs = new String[]{serverAddr}; - } - for (String addr : addrs) { - Matcher matcher = IP_MATCH.matcher(addr.trim()); - if (!matcher.find()) { - throw new IllegalArgumentException("Incorrect serverAddr address : " + addr + ", example should like ip:port or domain:port"); - } - } - } - public static void checkContextPath(String contextPath) { if (contextPath == null) { return; diff --git a/client/src/test/java/com/alibaba/nacos/client/utils/ValidatorUtilsTest.java b/client/src/test/java/com/alibaba/nacos/client/utils/ValidatorUtilsTest.java index 8f910e15a7d..a1b5077c130 100644 --- a/client/src/test/java/com/alibaba/nacos/client/utils/ValidatorUtilsTest.java +++ b/client/src/test/java/com/alibaba/nacos/client/utils/ValidatorUtilsTest.java @@ -56,50 +56,4 @@ public void test_context_path_illegal_4() { ValidatorUtils.checkContextPath(contextPath4); } - @Test - public void test_server_addr() { - String serverAddr = "127.0.0.1:8848"; - ValidatorUtils.checkServerAddr(serverAddr); - String serverAddrs = "127.0.0.1:8848,127.0.0.1:80,127.0.0.1:8809"; - ValidatorUtils.checkServerAddr(serverAddrs); - } - - @Test - public void test_server_addr_k8s() { - String serverAddr = "busybox-1.busybox-subdomain.default.svc.cluster.local:80"; - ValidatorUtils.checkServerAddr(serverAddr); - String serverAddrs = "busybox-1.busybox-subdomain.default.svc.cluster.local:80,busybox-1.busybox-subdomain.default.svc.cluster.local:8111, busybox-1.busybox-subdomain.default.svc.cluster.local:8098"; - ValidatorUtils.checkServerAddr(serverAddrs); - } - - @Test(expected = IllegalArgumentException.class) - public void test_server_addr_err() { - String serverAddr = "127.0.0.1"; - ValidatorUtils.checkServerAddr(serverAddr); - } - - @Test(expected = IllegalArgumentException.class) - public void test_server_addr_illegal_err() { - String serverAddr = "127.0.0.1:"; - ValidatorUtils.checkServerAddr(serverAddr); - } - - @Test(expected = IllegalArgumentException.class) - public void test_server_addrs_err() { - String serverAddrs = "127.0.0.1:8848,127.0.0.1,127.0.0.1:8809"; - ValidatorUtils.checkServerAddr(serverAddrs); - } - - @Test(expected = IllegalArgumentException.class) - public void test_server_addr_k8s_err() { - String serverAddr = "busybox-1.busybox-subdomain.default.svc.cluster.local"; - ValidatorUtils.checkServerAddr(serverAddr); - } - - @Test(expected = IllegalArgumentException.class) - public void test_server_addrs_k8s_err() { - String serverAddrs = "busybox-1.busybox-subdomain.default.svc.cluster.local,busybox-1.busybox-subdomain.default.svc.cluster.local:8111, busybox-1.busybox-subdomain.default.svc.cluster.local:8098"; - ValidatorUtils.checkServerAddr(serverAddrs); - } - } diff --git a/common/src/main/java/com/alibaba/nacos/common/utils/StringUtils.java b/common/src/main/java/com/alibaba/nacos/common/utils/StringUtils.java index 94f50ad029f..8879b29e743 100644 --- a/common/src/main/java/com/alibaba/nacos/common/utils/StringUtils.java +++ b/common/src/main/java/com/alibaba/nacos/common/utils/StringUtils.java @@ -56,6 +56,15 @@ public static boolean isBlank(String str) { return true; } + public static boolean isAllBlank(String... strs) { + for (String str : strs) { + if (isNotBlank(str)) { + return false; + } + } + return true; + } + public static boolean isNotBlank(String str) { return !isBlank(str); }