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

victory pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git


The following commit(s) were added to refs/heads/dev-metadata by this push:
     new e430443  modify the variable name and support springbean configuration
     new 1a8e8b1  Merge branch 'dev-metadata' of 
github.com:apache/incubator-dubbo into dev-metadata
e430443 is described below

commit e430443afd3944cae362bef6145a6049a2ef84f3
Author: cvictory <shenglic...@gmail.com>
AuthorDate: Thu Nov 15 18:59:48 2018 +0800

    modify the variable name and support springbean configuration
---
 .../java/org/apache/dubbo/common/Constants.java    |  8 +--
 .../dubbo/config/RegistryDataConfigTest.java       | 52 ++++++++++----------
 .../dubbo/config/AbstractInterfaceConfig.java      |  8 +++
 .../apache/dubbo/config/RegistryDataConfig.java    | 57 +++++++++++-----------
 .../apache/dubbo/config/spring/ReferenceBean.java  | 12 +++++
 .../apache/dubbo/config/spring/ServiceBean.java    | 12 ++++-
 .../registry/integration/RegistryProtocol.java     |  8 +--
 7 files changed, 93 insertions(+), 64 deletions(-)

diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java 
b/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java
index 284c06c..a6c53be 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java
@@ -469,23 +469,23 @@ public class Constants {
      * simple the registry for provider.
      * @since 2.7.0
      */
-    public static final String SIMPLE_PROVIDER_URL_KEY = "simpleProviderUrl";
+    public static final String SIMPLE_PROVIDER_CONFIG_KEY = 
"simpleProviderConfig";
     /**
      * simple the registry for consumer.
      * @since 2.7.0
      */
-    public static final String SIMPLE_CONSUMER_URL_KEY = "simpleConsumerUrl";
+    public static final String SIMPLE_CONSUMER_CONFIG_KEY = 
"simpleConsumerConfig";
     /**
      * After simplify the registry, should add some paramter individually for 
provider.
      * @since 2.7.0
      */
-    public static final String EXTRA_PROVIDER_URL_PARAM_KEYS_KEY = 
"extraProviderUrlParamKeys";
+    public static final String EXTRA_PROVIDER_CONFIG_KEYS_KEY = 
"extraProviderKeys";
     /**
      * After simplify the registry, should add some paramter individually for 
consumer.
      *
      * @since 2.7.0
      */
-    public static final String EXTRA_CONSUMER_URL_PARAM_KEYS_KEY = 
"extraConsumerUrlParamKeys";
+    public static final String EXTRA_CONSUMER_CONFIG_KEYS_KEY = 
"extraConsumerKeys";
 
     /**
      * To decide whether to exclude unavailable invoker from the cluster
diff --git 
a/dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java
 
b/dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java
index bca6f72..881a7ed 100644
--- 
a/dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java
+++ 
b/dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java
@@ -13,8 +13,8 @@ public class RegistryDataConfigTest {
     @Test
     public void testProviderNoValue(){
         RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleProviderUrl(false);
-        registryDataConfig.setExtraProviderUrlParamKeys("xxx,sss");
+        registryDataConfig.setSimpleProviderConfig(false);
+        registryDataConfig.setExtraProviderKeys("xxx,sss");
         Map<String,String> result = registryDataConfig.transferToMap();
         Assert.assertTrue(result.isEmpty());
     }
@@ -22,29 +22,29 @@ public class RegistryDataConfigTest {
     @Test
     public void testProviderNoParamKey(){
         RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleProviderUrl(true);
+        registryDataConfig.setSimpleProviderConfig(true);
         Map<String,String> result = registryDataConfig.transferToMap();
         Assert.assertFalse(result.isEmpty());
-        Assert.assertEquals(result.get("simpleProviderUrl"), "true");
-        Assert.assertNull(result.get("extraProviderUrlParamKeys"));
+        Assert.assertEquals(result.get("simpleProviderConfig"), "true");
+        Assert.assertNull(result.get("extraProviderKeys"));
     }
 
     @Test
     public void testProviderHasParamKey(){
         RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleProviderUrl(true);
-        registryDataConfig.setExtraProviderUrlParamKeys("xxx,sss");
+        registryDataConfig.setSimpleProviderConfig(true);
+        registryDataConfig.setExtraProviderKeys("xxx,sss");
         Map<String,String> result = registryDataConfig.transferToMap();
         Assert.assertFalse(result.isEmpty());
-        Assert.assertEquals(result.get("simpleProviderUrl"), "true");
-        Assert.assertEquals(result.get("extraProviderUrlParamKeys"), 
"xxx,sss");
+        Assert.assertEquals(result.get("simpleProviderConfig"), "true");
+        Assert.assertEquals(result.get("extraProviderKeys"), "xxx,sss");
     }
 
     @Test
     public void testConsumerNoValue(){
         RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleConsumerUrl(false);
-        registryDataConfig.setExtraConsumerUrlParamKeys("xxx,sss");
+        registryDataConfig.setSimpleConsumerConfig(false);
+        registryDataConfig.setExtraConsumerKeys("xxx,sss");
         Map<String,String> result = registryDataConfig.transferToMap();
         Assert.assertTrue(result.isEmpty());
     }
@@ -52,36 +52,36 @@ public class RegistryDataConfigTest {
     @Test
     public void testConsumerNoParamKey(){
         RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleConsumerUrl(true);
+        registryDataConfig.setSimpleConsumerConfig(true);
         Map<String,String> result = registryDataConfig.transferToMap();
         Assert.assertFalse(result.isEmpty());
-        Assert.assertEquals(result.get("simpleConsumerUrl"), "true");
-        Assert.assertNull(result.get("extraConsumerUrlParamKeys"));
+        Assert.assertEquals(result.get("simpleConsumerConfig"), "true");
+        Assert.assertNull(result.get("extraConsumerKeys"));
     }
 
     @Test
     public void testConsumerHasParamKey(){
         RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleConsumerUrl(true);
-        registryDataConfig.setExtraConsumerUrlParamKeys("xxx,sss");
+        registryDataConfig.setSimpleConsumerConfig(true);
+        registryDataConfig.setExtraConsumerKeys("xxx,sss");
         Map<String,String> result = registryDataConfig.transferToMap();
         Assert.assertFalse(result.isEmpty());
-        Assert.assertEquals(result.get("simpleConsumerUrl"), "true");
-        Assert.assertEquals(result.get("extraConsumerUrlParamKeys"), 
"xxx,sss");
+        Assert.assertEquals(result.get("simpleConsumerConfig"), "true");
+        Assert.assertEquals(result.get("extraConsumerKeys"), "xxx,sss");
     }
 
     @Test
     public void testMixHasParamKey(){
         RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleConsumerUrl(true);
-        registryDataConfig.setExtraConsumerUrlParamKeys("xxx,sss");
-        registryDataConfig.setSimpleProviderUrl(true);
-        registryDataConfig.setExtraProviderUrlParamKeys("yyy,xxx");
+        registryDataConfig.setSimpleConsumerConfig(true);
+        registryDataConfig.setExtraConsumerKeys("xxx,sss");
+        registryDataConfig.setSimpleProviderConfig(true);
+        registryDataConfig.setExtraProviderKeys("yyy,xxx");
         Map<String,String> result = registryDataConfig.transferToMap();
         Assert.assertTrue(result.size() == 4);
-        Assert.assertEquals(result.get("simpleProviderUrl"), "true");
-        Assert.assertEquals(result.get("extraProviderUrlParamKeys"), 
"yyy,xxx");
-        Assert.assertEquals(result.get("simpleConsumerUrl"), "true");
-        Assert.assertEquals(result.get("extraConsumerUrlParamKeys"), 
"xxx,sss");
+        Assert.assertEquals(result.get("simpleProviderConfig"), "true");
+        Assert.assertEquals(result.get("extraProviderKeys"), "yyy,xxx");
+        Assert.assertEquals(result.get("simpleConsumerConfig"), "true");
+        Assert.assertEquals(result.get("extraConsumerKeys"), "xxx,sss");
     }
 }
diff --git 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
index c726fd5..b572f5e 100644
--- 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
+++ 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
@@ -561,6 +561,14 @@ public abstract class AbstractInterfaceConfig extends 
AbstractMethodConfig {
         this.owner = owner;
     }
 
+    public RegistryDataConfig getRegistryDataConfig() {
+        return registryDataConfig;
+    }
+
+    public void setRegistryDataConfig(RegistryDataConfig registryDataConfig) {
+        this.registryDataConfig = registryDataConfig;
+    }
+
     public Integer getCallbacks() {
         return callbacks;
     }
diff --git 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
index 21d57ec..be5f72b 100644
--- 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
+++ 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
@@ -27,60 +27,59 @@ import java.util.Map;
  */
 public class RegistryDataConfig extends AbstractConfig {
 
-    private boolean simpleProviderUrl;
-    private String extraProviderUrlParamKeys;
+    private boolean simpleProviderConfig;
+    private String extraProviderKeys;
 
-    private boolean simpleConsumerUrl;
-    private String extraConsumerUrlParamKeys;
+    private boolean simpleConsumerConfig;
+    private String extraConsumerKeys;
 
     public Map<String, String> transferToMap() {
         Map<String, String> map = new HashMap<String, String>(4);
-        if (simpleProviderUrl) {
-            map.put(Constants.SIMPLE_PROVIDER_URL_KEY, 
Boolean.TRUE.toString());
-            if (StringUtils.isNotEmpty(extraProviderUrlParamKeys)) {
-                map.put(Constants.EXTRA_PROVIDER_URL_PARAM_KEYS_KEY, 
extraProviderUrlParamKeys.trim());
+        if (simpleProviderConfig) {
+            map.put(Constants.SIMPLE_PROVIDER_CONFIG_KEY, 
Boolean.TRUE.toString());
+            if (StringUtils.isNotEmpty(extraProviderKeys)) {
+                map.put(Constants.EXTRA_PROVIDER_CONFIG_KEYS_KEY, 
extraProviderKeys.trim());
             }
         }
-        if (simpleConsumerUrl) {
-            map.put(Constants.SIMPLE_CONSUMER_URL_KEY, 
Boolean.TRUE.toString());
-            if (StringUtils.isNotEmpty(extraConsumerUrlParamKeys)) {
-                map.put(Constants.EXTRA_CONSUMER_URL_PARAM_KEYS_KEY, 
extraConsumerUrlParamKeys.trim());
+        if (simpleConsumerConfig) {
+            map.put(Constants.SIMPLE_CONSUMER_CONFIG_KEY, 
Boolean.TRUE.toString());
+            if (StringUtils.isNotEmpty(extraConsumerKeys)) {
+                map.put(Constants.EXTRA_CONSUMER_CONFIG_KEYS_KEY, 
extraConsumerKeys.trim());
             }
         }
 
         return map;
     }
 
-
-    public boolean isSimpleProviderUrl() {
-        return simpleProviderUrl;
+    public boolean isSimpleProviderConfig() {
+        return simpleProviderConfig;
     }
 
-    public void setSimpleProviderUrl(boolean simpleProviderUrl) {
-        this.simpleProviderUrl = simpleProviderUrl;
+    public void setSimpleProviderConfig(boolean simpleProviderConfig) {
+        this.simpleProviderConfig = simpleProviderConfig;
     }
 
-    public String getExtraProviderUrlParamKeys() {
-        return extraProviderUrlParamKeys;
+    public String getExtraProviderKeys() {
+        return extraProviderKeys;
     }
 
-    public void setExtraProviderUrlParamKeys(String extraProviderUrlParamKeys) 
{
-        this.extraProviderUrlParamKeys = extraProviderUrlParamKeys;
+    public void setExtraProviderKeys(String extraProviderKeys) {
+        this.extraProviderKeys = extraProviderKeys;
     }
 
-    public boolean isSimpleConsumerUrl() {
-        return simpleConsumerUrl;
+    public boolean isSimpleConsumerConfig() {
+        return simpleConsumerConfig;
     }
 
-    public void setSimpleConsumerUrl(boolean simpleConsumerUrl) {
-        this.simpleConsumerUrl = simpleConsumerUrl;
+    public void setSimpleConsumerConfig(boolean simpleConsumerConfig) {
+        this.simpleConsumerConfig = simpleConsumerConfig;
     }
 
-    public String getExtraConsumerUrlParamKeys() {
-        return extraConsumerUrlParamKeys;
+    public String getExtraConsumerKeys() {
+        return extraConsumerKeys;
     }
 
-    public void setExtraConsumerUrlParamKeys(String extraConsumerUrlParamKeys) 
{
-        this.extraConsumerUrlParamKeys = extraConsumerUrlParamKeys;
+    public void setExtraConsumerKeys(String extraConsumerKeys) {
+        this.extraConsumerKeys = extraConsumerKeys;
     }
 }
diff --git 
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java
 
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java
index 9283c3b..b6ac23b 100644
--- 
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java
+++ 
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java
@@ -23,6 +23,7 @@ import org.apache.dubbo.config.ModuleConfig;
 import org.apache.dubbo.config.MonitorConfig;
 import org.apache.dubbo.config.ReferenceConfig;
 import org.apache.dubbo.config.RegistryConfig;
+import org.apache.dubbo.config.RegistryDataConfig;
 import org.apache.dubbo.config.annotation.Reference;
 import org.apache.dubbo.config.spring.extension.SpringExtensionFactory;
 import org.apache.dubbo.config.support.Parameter;
@@ -162,6 +163,17 @@ public class ReferenceBean<T> extends ReferenceConfig<T> 
implements FactoryBean,
                 throw new IllegalStateException("Multiple MetadataReport 
configs: " + metadataReportConfigMap);
             }
         }
+
+
+        if (getRegistryDataConfig() == null) {
+            Map<String, RegistryDataConfig> registryDataConfigMap = 
applicationContext == null ? null : 
BeanFactoryUtils.beansOfTypeIncludingAncestors(applicationContext, 
RegistryDataConfig.class, false, false);
+            if (registryDataConfigMap != null && registryDataConfigMap.size() 
== 1) {
+                
super.setRegistryDataConfig(registryDataConfigMap.values().iterator().next());
+            } else if (registryDataConfigMap != null && 
registryDataConfigMap.size() > 1) {
+                throw new IllegalStateException("Multiple RegistryData 
configs: " + registryDataConfigMap);
+            }
+        }
+
         if (getMonitor() == null
                 && (getConsumer() == null || getConsumer().getMonitor() == 
null)
                 && (getApplication() == null || getApplication().getMonitor() 
== null)) {
diff --git 
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ServiceBean.java
 
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ServiceBean.java
index a6cb6e2..74d06df 100644
--- 
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ServiceBean.java
+++ 
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ServiceBean.java
@@ -23,6 +23,7 @@ import org.apache.dubbo.config.MonitorConfig;
 import org.apache.dubbo.config.ProtocolConfig;
 import org.apache.dubbo.config.ProviderConfig;
 import org.apache.dubbo.config.RegistryConfig;
+import org.apache.dubbo.config.RegistryDataConfig;
 import org.apache.dubbo.config.ServiceConfig;
 import org.apache.dubbo.config.annotation.Service;
 import org.apache.dubbo.config.spring.extension.SpringExtensionFactory;
@@ -190,12 +191,21 @@ public class ServiceBean<T> extends ServiceConfig<T> 
implements InitializingBean
         if (getMetadataReportConfig() == null) {
             Map<String, MetadataReportConfig> metadataReportConfigMap = 
applicationContext == null ? null : 
BeanFactoryUtils.beansOfTypeIncludingAncestors(applicationContext, 
MetadataReportConfig.class, false, false);
             if (metadataReportConfigMap != null && 
metadataReportConfigMap.size() == 1) {
-                // 第一个元素
                 
super.setMetadataReportConfig(metadataReportConfigMap.values().iterator().next());
             } else if (metadataReportConfigMap != null && 
metadataReportConfigMap.size() > 1) {
                 throw new IllegalStateException("Multiple MetadataReport 
configs: " + metadataReportConfigMap);
             }
         }
+
+        if (getRegistryDataConfig() == null) {
+            Map<String, RegistryDataConfig> registryDataConfigMap = 
applicationContext == null ? null : 
BeanFactoryUtils.beansOfTypeIncludingAncestors(applicationContext, 
RegistryDataConfig.class, false, false);
+            if (registryDataConfigMap != null && registryDataConfigMap.size() 
== 1) {
+                
super.setRegistryDataConfig(registryDataConfigMap.values().iterator().next());
+            } else if (registryDataConfigMap != null && 
registryDataConfigMap.size() > 1) {
+                throw new IllegalStateException("Multiple RegistryData 
configs: " + registryDataConfigMap);
+            }
+        }
+
         if (getMonitor() == null
                 && (getProvider() == null || getProvider().getMonitor() == 
null)
                 && (getApplication() == null || getApplication().getMonitor() 
== null)) {
diff --git 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
index 91d3ffd..acf6b17 100644
--- 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
+++ 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
@@ -283,12 +283,12 @@ public class RegistryProtocol implements Protocol {
      */
     private URL getRegistedProviderUrl(final URL providerUrl, final URL 
registryUrl) {
         //The address you see at the registry
-        if (!registryUrl.getParameter(Constants.SIMPLE_PROVIDER_URL_KEY, 
false)) {
+        if (!registryUrl.getParameter(Constants.SIMPLE_PROVIDER_CONFIG_KEY, 
false)) {
             final URL registedProviderUrl = 
providerUrl.removeParameters(getFilteredKeys(providerUrl))
                     .removeParameters(Constants.MONITOR_KEY, 
Constants.BIND_IP_KEY, Constants.BIND_PORT_KEY, QOS_ENABLE, QOS_PORT, 
ACCEPT_FOREIGN_IP, VALIDATION_KEY, INTERFACES);
             return registedProviderUrl;
         } else {
-            return URL.valueOf(providerUrl, 
getParamsToRegistry(Constants.DEFAULT_REGISTER_PROVIDER_KEYS, 
registryUrl.getParameter(Constants.EXTRA_PROVIDER_URL_PARAM_KEYS_KEY, new 
String[0])), providerUrl.getParameter(METHODS_KEY, (String[]) null));
+            return URL.valueOf(providerUrl, 
getParamsToRegistry(Constants.DEFAULT_REGISTER_PROVIDER_KEYS, 
registryUrl.getParameter(Constants.EXTRA_PROVIDER_CONFIG_KEYS_KEY, new 
String[0])), providerUrl.getParameter(METHODS_KEY, (String[]) null));
         }
 
     }
@@ -374,11 +374,11 @@ public class RegistryProtocol implements Protocol {
     }
 
     private URL getRegistedConsumerUrl(final URL consumerUrl, URL registryUrl) 
{
-        if (!registryUrl.getParameter(Constants.SIMPLE_CONSUMER_URL_KEY, 
false)) {
+        if (!registryUrl.getParameter(Constants.SIMPLE_CONSUMER_CONFIG_KEY, 
false)) {
             return consumerUrl.addParameters(Constants.CATEGORY_KEY, 
Constants.CONSUMERS_CATEGORY,
                     Constants.CHECK_KEY, String.valueOf(false));
         } else {
-            return URL.valueOf(consumerUrl, 
getParamsToRegistry(Constants.DEFAULT_REGISTER_CONSUMER_KEYS, 
registryUrl.getParameter(Constants.EXTRA_CONSUMER_URL_PARAM_KEYS_KEY, new 
String[0])), null)
+            return URL.valueOf(consumerUrl, 
getParamsToRegistry(Constants.DEFAULT_REGISTER_CONSUMER_KEYS, 
registryUrl.getParameter(Constants.EXTRA_CONSUMER_CONFIG_KEYS_KEY, new 
String[0])), null)
                     .addParameters(Constants.CATEGORY_KEY, 
Constants.CONSUMERS_CATEGORY, Constants.CHECK_KEY, String.valueOf(false));
         }
     }

Reply via email to