You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2019/07/27 07:50:51 UTC

[dubbo] 04/04: solve conflicts after merged master

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

liujun pushed a commit to branch cloud-native
in repository https://gitbox.apache.org/repos/asf/dubbo.git

commit df348001842a61e349293f60340206e218d194d4
Author: ken.lj <ke...@gmail.com>
AuthorDate: Sat Jul 27 15:50:04 2019 +0800

    solve conflicts after merged master
---
 .../java/org/apache/dubbo/bootstrap/DubboBootstrap.java |  6 ++++--
 .../config/configcenter/DynamicConfiguration.java       |  9 ++++-----
 .../file/FileSystemDynamicConfiguration.java            |  6 +++---
 .../src/test/java/org/apache/dubbo/common/URLTest.java  |  8 ++++++++
 .../file/FileSystemDynamicConfigurationTest.java        |  2 +-
 .../java/org/apache/dubbo/config/RegistryConfig.java    | 17 ++++++++++++++---
 6 files changed, 34 insertions(+), 14 deletions(-)

diff --git a/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java b/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java
index b558740..394e345 100644
--- a/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java
+++ b/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java
@@ -57,6 +57,7 @@ import org.apache.dubbo.registry.support.ServiceOrientedRegistry;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -77,7 +78,6 @@ import static org.apache.dubbo.common.utils.StringUtils.isNotEmpty;
 import static org.apache.dubbo.config.context.ConfigManager.getInstance;
 import static org.apache.dubbo.registry.support.AbstractRegistryFactory.getRegistries;
 import static org.apache.dubbo.remoting.Constants.CLIENT_KEY;
-import static org.apache.dubbo.remoting.Constants.CLIENT_KEY;
 
 /**
  * The bootstrap class of Dubbo
@@ -424,7 +424,9 @@ public class DubboBootstrap {
             String id = "config-center-" + protocol + "-" + registryConfig.getPort();
             ConfigCenterConfig cc = new ConfigCenterConfig();
             cc.setId(id);
-            cc.setParameters(registryConfig.getParameters() == null ? new HashMap<>() : registryConfig.getParameters());
+            cc.setParameters(registryConfig.getParameters() == null ?
+                    new HashMap<>() :
+                    new HashMap<>(registryConfig.getParameters()));
             cc.getParameters().put(CLIENT_KEY,registryConfig.getClient());
             cc.setProtocol(registryConfig.getProtocol());
             cc.setAddress(registryConfig.getAddress());
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/DynamicConfiguration.java b/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/DynamicConfiguration.java
index a1dda52..b160398 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/DynamicConfiguration.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/DynamicConfiguration.java
@@ -32,11 +32,12 @@ import static org.apache.dubbo.common.extension.ExtensionLoader.getExtensionLoad
 /**
  * Dynamic Configuration
  * <br/>
- * From the use scenario internally in framework, there're mainly three kinds of methods:
+ * From the use scenario internally inside framework, there're mainly three kinds of methods:
  * <ul>
- * <li>1. getConfig, get governance rules or single config item from Config Center.</li>
- * <li>2. getConfigFile, get configuration file from Config Center at start up.</li>
+ * <li>1. getRule, get governance rules.</li>
+ * <li>2. getProperties, get configuration file from Config Center at start up.</li>
  * <li>3. addListener/removeListener, add or remove listeners for governance rules or config items that need to watch.</li>
+ * <li>4. getProperty, get a single config item.</li>
  * </ul>
  */
 public interface DynamicConfiguration extends Configuration, AutoCloseable {
@@ -110,7 +111,6 @@ public interface DynamicConfiguration extends Configuration, AutoCloseable {
 
     /**
      * This method are mostly used to get a compound config file, such as a complete dubbo.properties file.
-     * Also {@see #getConfig(String, String)}
      */
     default String getProperties(String key, String group) throws IllegalStateException {
         return getProperties(key, group, -1L);
@@ -118,7 +118,6 @@ public interface DynamicConfiguration extends Configuration, AutoCloseable {
 
     /**
      * This method are mostly used to get a compound config file, such as a complete dubbo.properties file.
-     * Also {@see #getConfig(String, String, long)}
      */
     String getProperties(String key, String group, long timeout) throws IllegalStateException;
 
diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/file/FileSystemDynamicConfiguration.java b/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/file/FileSystemDynamicConfiguration.java
index b75527e..65d4f50 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/file/FileSystemDynamicConfiguration.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/config/configcenter/file/FileSystemDynamicConfiguration.java
@@ -340,7 +340,7 @@ public class FileSystemDynamicConfiguration implements DynamicConfiguration {
     }
 
     @Override
-    public String getConfig(String key, String group, long timeout) throws IllegalStateException {
+    public String getRule(String key, String group, long timeout) throws IllegalStateException {
         File configFile = configFile(key, group);
         return getConfig(configFile, timeout);
     }
@@ -354,8 +354,8 @@ public class FileSystemDynamicConfiguration implements DynamicConfiguration {
     }
 
     @Override
-    public String getConfigs(String key, String group, long timeout) throws IllegalStateException {
-        return getConfig(key, group, timeout);
+    public String getProperties(String key, String group, long timeout) throws IllegalStateException {
+        return getRule(key, group, timeout);
     }
 
     @Override
diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/URLTest.java b/dubbo-common/src/test/java/org/apache/dubbo/common/URLTest.java
index 7e05847..2f99f84 100644
--- a/dubbo-common/src/test/java/org/apache/dubbo/common/URLTest.java
+++ b/dubbo-common/src/test/java/org/apache/dubbo/common/URLTest.java
@@ -720,4 +720,12 @@ public class URLTest {
         URL url4 = URL.valueOf("10.20.130.230:20880/context/path?interface=org.apache.dubbo.test.interfaceName");
         Assertions.assertEquals("org.apache.dubbo.test.interfaceName::", url4.getColonSeparatedKey());
     }
+
+    @Test
+    public void testValueOf() {
+        URL.valueOf("10.20.130.230");
+        URL.valueOf("10.20.130.230:20880");
+        URL.valueOf("dubbo://10.20.130.230:20880");
+        URL.valueOf("dubbo://10.20.130.230:20880/path");
+    }
 }
diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/config/configcenter/file/FileSystemDynamicConfigurationTest.java b/dubbo-common/src/test/java/org/apache/dubbo/common/config/configcenter/file/FileSystemDynamicConfigurationTest.java
index c68cd4c..5502bdf 100644
--- a/dubbo-common/src/test/java/org/apache/dubbo/common/config/configcenter/file/FileSystemDynamicConfigurationTest.java
+++ b/dubbo-common/src/test/java/org/apache/dubbo/common/config/configcenter/file/FileSystemDynamicConfigurationTest.java
@@ -83,7 +83,7 @@ public class FileSystemDynamicConfigurationTest {
         assertTrue(configuration.publishConfig(KEY, CONTENT));
         assertTrue(configuration.publishConfig(KEY, CONTENT));
         assertTrue(configuration.publishConfig(KEY, CONTENT));
-        assertEquals(CONTENT, configuration.getConfig(KEY));
+        assertEquals(CONTENT, configuration.getRule(KEY, DEFAULT_GROUP));
         assertTrue(configuration.getConfigs(null).size() > 0);
     }
 
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 de0a884..22974b8 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
@@ -17,6 +17,7 @@
 package org.apache.dubbo.config;
 
 import org.apache.dubbo.common.URL;
+import org.apache.dubbo.common.utils.CollectionUtils;
 import org.apache.dubbo.common.utils.StringUtils;
 import org.apache.dubbo.config.support.Parameter;
 import org.apache.dubbo.remoting.Constants;
@@ -185,9 +186,7 @@ public class RegistryConfig extends AbstractConfig {
                 this.updateIdIfAbsent(url.getProtocol());
                 this.updateProtocolIfAbsent(url.getProtocol());
                 this.updatePortIfAbsent(url.getPort());
-                setUsername(url.getUsername());
-                setPassword(url.getPassword());
-                setParameters(url.getParameters());
+                this.updateParameters(url.getParameters());
             } catch (Exception ignored) {
             }
         }
@@ -389,6 +388,18 @@ public class RegistryConfig extends AbstractConfig {
         this.parameters = parameters;
     }
 
+    public void updateParameters(Map<String, String> parameters) {
+        checkParameterName(parameters);
+        if (CollectionUtils.isEmptyMap(parameters)) {
+            return;
+        }
+        if (this.parameters == null) {
+            this.parameters = parameters;
+        } else {
+            this.parameters.putAll(parameters);
+        }
+    }
+
     public Boolean isDefault() {
         return isDefault;
     }