You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2021/10/21 05:07:02 UTC

[shardingsphere] branch master updated: Adding validation for invalid dataNode String (#13169)

This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new ced5020  Adding validation for invalid dataNode String (#13169)
ced5020 is described below

commit ced50203bd704d455396f094548003fc717926f1
Author: PUNEET KUMAR <85...@users.noreply.github.com>
AuthorDate: Thu Oct 21 10:36:24 2021 +0530

    Adding validation for invalid dataNode String (#13169)
    
    * Adding validation for invalid dataNode String
    
    * Added test cases
    
    * used ommityEmptyStrings() from guava api
---
 .../org/apache/shardingsphere/infra/datanode/DataNode.java     |  2 +-
 .../org/apache/shardingsphere/infra/datanode/DataNodeTest.java | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
index 14defd8..2916ee0 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
@@ -55,7 +55,7 @@ public final class DataNode {
     }
     
     private static boolean isValidDataNode(final String dataNodeStr) {
-        return dataNodeStr.contains(DELIMITER) && 2 == Splitter.on(DELIMITER).splitToList(dataNodeStr).size();
+        return dataNodeStr.contains(DELIMITER) && 2 == Splitter.on(DELIMITER).omitEmptyStrings().splitToList(dataNodeStr).size();
     }
     
     @Override
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/datanode/DataNodeTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/datanode/DataNodeTest.java
index 7cd7f6c..b6af666 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/datanode/DataNodeTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/datanode/DataNodeTest.java
@@ -69,4 +69,14 @@ public final class DataNodeTest {
     public void assertToString() {
         assertThat(new DataNode("ds_0.tbl_0").toString(), is("DataNode(dataSourceName=ds_0, tableName=tbl_0)"));
     }
+
+    @Test(expected = ShardingSphereConfigurationException.class)
+    public void assertEmptyDataSourceDataNode() {
+        new DataNode(".tbl_0");
+    }
+
+    @Test(expected = ShardingSphereConfigurationException.class)
+    public void assertEmptyTableDataNode() {
+        new DataNode("ds_0.");
+    }
 }