This is an automated email from the ASF dual-hosted git repository. jinrongtong pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push: new 806454bc5e [ISSUE #7710] Handle blank string for UtilAll#split to fix the bugs of ACL 806454bc5e is described below commit 806454bc5e29d2f157cde99bdb082f94cdb377fa Author: Qinglong-Lee <lql1527362...@163.com> AuthorDate: Tue Jan 2 19:07:45 2024 +0800 [ISSUE #7710] Handle blank string for UtilAll#split to fix the bugs of ACL Co-authored-by: liqinglong <liqinglong96...@billjc.com> --- common/src/main/java/org/apache/rocketmq/common/UtilAll.java | 5 +++++ common/src/test/java/org/apache/rocketmq/common/UtilAllTest.java | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/common/src/main/java/org/apache/rocketmq/common/UtilAll.java b/common/src/main/java/org/apache/rocketmq/common/UtilAll.java index 19efa9aa90..3629ae648b 100644 --- a/common/src/main/java/org/apache/rocketmq/common/UtilAll.java +++ b/common/src/main/java/org/apache/rocketmq/common/UtilAll.java @@ -43,6 +43,7 @@ import java.util.function.Supplier; import java.util.zip.CRC32; import java.util.zip.DeflaterOutputStream; import java.util.zip.InflaterInputStream; +import java.util.Collections; import org.apache.commons.lang3.StringUtils; import org.apache.commons.validator.routines.InetAddressValidator; import org.apache.rocketmq.common.constant.LoggerName; @@ -681,6 +682,10 @@ public class UtilAll { return null; } + if (StringUtils.isBlank(str)) { + return Collections.EMPTY_LIST; + } + String[] addrArray = str.split(splitter); return Arrays.asList(addrArray); } diff --git a/common/src/test/java/org/apache/rocketmq/common/UtilAllTest.java b/common/src/test/java/org/apache/rocketmq/common/UtilAllTest.java index 2d22d5254a..a2b498f077 100644 --- a/common/src/test/java/org/apache/rocketmq/common/UtilAllTest.java +++ b/common/src/test/java/org/apache/rocketmq/common/UtilAllTest.java @@ -142,6 +142,15 @@ public class UtilAllTest { assertEquals("", UtilAll.join(objects, comma)); } + @Test + public void testSplit() { + List<String> list = Arrays.asList("groupA=DENY", "groupB=PUB|SUB", "groupC=SUB"); + String comma = ","; + assertEquals(list, UtilAll.split("groupA=DENY,groupB=PUB|SUB,groupC=SUB", comma)); + assertEquals(null, UtilAll.split(null, comma)); + assertEquals(Collections.EMPTY_LIST, UtilAll.split("", comma)); + } + static class DemoConfig { private int demoWidth = 0; private int demoLength = 0;