ningyu1 closed pull request #1970: [Dubbo-1962] Resolving inconsistent 
parameter validation rules
URL: https://github.com/apache/incubator-dubbo/pull/1970
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
index da86ea0017..c726d5e869 100644
--- 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
+++ 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
@@ -538,6 +538,7 @@ public String getProtocol() {
     }
 
     public void setProtocol(String protocol) {
+        checkName("protocol", protocol);
         this.protocol = protocol;
     }
 
diff --git 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryConfig.java
 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryConfig.java
index a9a8145e29..3de25e2ee3 100644
--- 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryConfig.java
+++ 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryConfig.java
@@ -293,6 +293,7 @@ public String getGroup() {
     }
 
     public void setGroup(String group) {
+        checkKey("group", group);
         this.group = group;
     }
 
@@ -301,6 +302,7 @@ public String getVersion() {
     }
 
     public void setVersion(String version) {
+        checkKey("version", version);
         this.version = version;
     }
 
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
index 1bac760c20..30a2689d99 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java
@@ -49,6 +49,7 @@ public void testInjvm() throws Exception {
         rc.setRegistry(registry);
         rc.setInterface(DemoService.class.getName());
         rc.setInjvm(false);
+        rc.setProtocol("dubbo");
 
         try {
             demoService.export();
@@ -60,4 +61,15 @@ public void testInjvm() throws Exception {
         }
     }
 
+    @Test
+    public void testProtocol() throws Exception {
+        ReferenceConfig<DemoService> rc = new ReferenceConfig<DemoService>();
+        try {
+            rc.setProtocol("dubbo://");
+        } catch (IllegalStateException e) {
+            Assert.assertEquals(e.getMessage(), "Invalid protocol=\"dubbo://\" 
contains illegal character, only digit, letter, '-', '_' or '.' is legal.");
+        }
+        Assert.assertNull(rc.getProtocol());
+    }
+
 }
\ No newline at end of file
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/RegistryConfigTest.java
 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/RegistryConfigTest.java
index 75c99b1433..550a6efcdd 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/RegistryConfigTest.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/RegistryConfigTest.java
@@ -18,6 +18,7 @@
 package org.apache.dubbo.config;
 
 import org.apache.dubbo.common.Constants;
+import org.junit.Assert;
 import org.junit.Test;
 
 import java.util.Collections;
@@ -152,6 +153,17 @@ public void testGroup() throws Exception {
         assertThat(registry.getGroup(), equalTo("group"));
     }
 
+    @Test
+    public void testGroupIllegalCharacter() throws Exception {
+        RegistryConfig registry = new RegistryConfig();
+        try {
+            registry.setGroup("dubbo/TEST");
+        } catch (IllegalStateException e) {
+            Assert.assertEquals(e.getMessage(), "Invalid group=\"dubbo/TEST\" 
contains illegal character, only digit, letter, '-', '_' or '.' is legal.");
+        }
+        Assert.assertNull(registry.getGroup());
+    }
+
     @Test
     public void testVersion() throws Exception {
         RegistryConfig registry = new RegistryConfig();
@@ -159,6 +171,17 @@ public void testVersion() throws Exception {
         assertThat(registry.getVersion(), equalTo("1.0.0"));
     }
 
+    @Test
+    public void testVersionIllegalCharacter() throws Exception {
+        RegistryConfig registry = new RegistryConfig();
+        try {
+            registry.setVersion("1.0/0");
+        } catch (IllegalStateException e) {
+            Assert.assertEquals(e.getMessage(), "Invalid version=\"1.0/0\" 
contains illegal character, only digit, letter, '-', '_' or '.' is legal.");
+        }
+        Assert.assertNull(registry.getVersion());
+    }
+
     @Test
     public void testParameters() throws Exception {
         RegistryConfig registry = new RegistryConfig();


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to