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 2018/11/23 02:39:17 UTC

[incubator-dubbo] branch dev-metadata updated (3dfa8d2 -> 720784c)

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

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


    from 3dfa8d2  Code review around Environment, AbstractConfig, and AbstractPrefixConfiguration's impls. (#2820)
     new 2d7b8c1  Add extra type match check when override config value.
     new 773d7f4  Fix small bugs find in UT
     new da978fd  does not use parameter key in config metadata
     new 720784c  Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../java/org/apache/dubbo/common/utils/ClassHelper.java   | 15 +++++++++++++++
 .../main/java/org/apache/dubbo/config/AbstractConfig.java |  9 +++++----
 .../java/org/apache/dubbo/config/ApplicationConfig.java   |  2 ++
 .../java/org/apache/dubbo/config/ConfigCenterConfig.java  |  1 +
 .../org/apache/dubbo/config/MetadataReportConfig.java     |  2 ++
 .../main/java/org/apache/dubbo/config/MethodConfig.java   |  6 ++++++
 .../main/java/org/apache/dubbo/config/MonitorConfig.java  |  2 ++
 .../main/java/org/apache/dubbo/config/ProtocolConfig.java |  1 +
 .../main/java/org/apache/dubbo/config/RegistryConfig.java |  1 +
 .../java/org/apache/dubbo/config/ReferenceConfigTest.java |  5 +++++
 .../java/org/apache/dubbo/config/ServiceConfigTest.java   |  1 +
 11 files changed, 41 insertions(+), 4 deletions(-)


[incubator-dubbo] 01/04: Add extra type match check when override config value.

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 2d7b8c1f91be5eae057c3fd576e69d33809e6859
Author: ken.lj <ke...@gmail.com>
AuthorDate: Thu Nov 22 17:31:30 2018 +0800

    Add extra type match check when override config value.
---
 .../java/org/apache/dubbo/common/utils/ClassHelper.java   | 15 +++++++++++++++
 .../main/java/org/apache/dubbo/config/AbstractConfig.java |  2 +-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ClassHelper.java b/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ClassHelper.java
index 2446e5f..b5aa79f 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ClassHelper.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ClassHelper.java
@@ -284,4 +284,19 @@ public class ClassHelper {
         }
         return value;
     }
+
+    /**
+     * We only check boolean value at this moment.
+     *
+     * @param type
+     * @param value
+     * @return
+     */
+    public static boolean isTypeMatch(Class<?> type, String value) {
+        if ((type == boolean.class || type == Boolean.class)
+                && !("true".equals(value) || "false".equals(value))) {
+            return false;
+        }
+        return true;
+    }
 }
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
index 91e226d..0b5d86f 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
@@ -495,7 +495,7 @@ public abstract class AbstractConfig implements Serializable {
                     try {
                         String value = compositeConfiguration.getString(extractPropertyName(getClass(), method));
                         // isTypeMatch() is called to avoid duplicate and incorrect update, for example, we have two 'setGeneric' methods in ReferenceConfig.
-                        if (value != null && isTypeMatch(method.getParameterTypes()[0], value)) {
+                        if (value != null && ClassHelper.isTypeMatch(method.getParameterTypes()[0], value)) {
                             method.invoke(this, ClassHelper.convertPrimitive(method.getParameterTypes()[0], value));
                         }
                     } catch (NoSuchMethodException e) {


[incubator-dubbo] 03/04: does not use parameter key in config metadata

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit da978fd3939a4b1cda07db413e8e5fea02fd96a7
Author: ken.lj <ke...@gmail.com>
AuthorDate: Fri Nov 23 10:38:46 2018 +0800

    does not use parameter key in config metadata
---
 .../src/main/java/org/apache/dubbo/config/AbstractConfig.java           | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
index 8030253..c92e383 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
@@ -409,7 +409,7 @@ public abstract class AbstractConfig implements Serializable {
                     String prop = calculatePropertyFromGetter(name);
                     String key;
                     Parameter parameter = method.getAnnotation(Parameter.class);
-                    if (parameter != null && parameter.key().length() > 0) {
+                    if (parameter != null && parameter.key().length() > 0 && parameter.propertyKey()) {
                         key = parameter.key();
                     } else {
                         key = prop;


[incubator-dubbo] 02/04: Fix small bugs find in UT

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 773d7f4474f9ff958fa51718c555f9ac5ffb23c3
Author: ken.lj <ke...@gmail.com>
AuthorDate: Thu Nov 22 20:26:37 2018 +0800

    Fix small bugs find in UT
---
 .../src/main/java/org/apache/dubbo/config/AbstractConfig.java       | 5 +++--
 .../src/main/java/org/apache/dubbo/config/ApplicationConfig.java    | 2 ++
 .../src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java   | 1 +
 .../src/main/java/org/apache/dubbo/config/MetadataReportConfig.java | 2 ++
 .../src/main/java/org/apache/dubbo/config/MethodConfig.java         | 6 ++++++
 .../src/main/java/org/apache/dubbo/config/MonitorConfig.java        | 2 ++
 .../src/main/java/org/apache/dubbo/config/ProtocolConfig.java       | 1 +
 .../src/main/java/org/apache/dubbo/config/RegistryConfig.java       | 1 +
 .../src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java  | 5 +++++
 .../src/test/java/org/apache/dubbo/config/ServiceConfigTest.java    | 1 +
 10 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
index 0b5d86f..8030253 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
@@ -423,9 +423,10 @@ public abstract class AbstractConfig implements Serializable {
                     Object value = method.invoke(this);
                     String str = String.valueOf(value).trim();
                     if (value != null && str.length() > 0) {
-                        if (parameter != null && parameter.escaped()) {
+                        // ignore escape, keep the original value.
+                        /*if (parameter != null && parameter.escaped()) {
                             str = URL.encode(str);
-                        }
+                        }*/
                         if (parameter != null && parameter.append()) {
                             String pre = String.valueOf(metaData.get(Constants.DEFAULT_KEY + "." + key));
                             if (pre != null && pre.length() > 0) {
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ApplicationConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ApplicationConfig.java
index f4c529a..d14d78e 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ApplicationConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ApplicationConfig.java
@@ -269,6 +269,8 @@ public class ApplicationConfig extends AbstractConfig {
         this.shutwait = shutwait;
     }
 
+    @Override
+    @Parameter(excluded = true)
     public boolean isValid() {
         return !StringUtils.isEmpty(name);
     }
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java
index 0b884cc..1a03863 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java
@@ -301,6 +301,7 @@ public class ConfigCenterConfig extends AbstractConfig {
     }
 
     @Override
+    @Parameter(excluded = true)
     public boolean isValid() {
         if (StringUtils.isEmpty(address) && StringUtils.isEmpty(env)) {
             return false;
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MetadataReportConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MetadataReportConfig.java
index 90c7fe0..87beb23 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MetadataReportConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MetadataReportConfig.java
@@ -127,6 +127,8 @@ public class MetadataReportConfig extends AbstractConfig {
     }
 
 
+    @Override
+    @Parameter(excluded = true)
     public boolean isValid() {
         return StringUtils.isNotEmpty(address);
     }
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MethodConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MethodConfig.java
index b04cc83..48045d4 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MethodConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MethodConfig.java
@@ -236,7 +236,13 @@ public class MethodConfig extends AbstractMethodConfig {
         this.serviceId = serviceId;
     }
 
+    /**
+     * service and name must not be null.
+     *
+     * @return
+     */
     @Override
+    @Parameter(excluded = true)
     public String getPrefix() {
         return Constants.DUBBO + "." + service
                 + (StringUtils.isEmpty(serviceId) ? "" : ("." + serviceId))
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MonitorConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MonitorConfig.java
index a662256..3a95da2 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MonitorConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/MonitorConfig.java
@@ -134,6 +134,8 @@ public class MonitorConfig extends AbstractConfig {
         return interval;
     }
 
+    @Override
+    @Parameter(excluded = true)
     public boolean isValid() {
         return StringUtils.isNotEmpty(address);
     }
diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ProtocolConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ProtocolConfig.java
index 3e9fdcd..fe986b3 100644
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ProtocolConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ProtocolConfig.java
@@ -473,6 +473,7 @@ public class ProtocolConfig extends AbstractConfig {
     }
 
     @Override
+    @Parameter(excluded = true)
     public boolean isValid() {
         return StringUtils.isNotEmpty(name);
     }
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 5e8015c..f96227a 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
@@ -355,6 +355,7 @@ public class RegistryConfig extends AbstractConfig {
     }
 
     @Override
+    @Parameter(excluded = true)
     public boolean isValid() {
         // empty protocol will default to 'dubbo'
         return !StringUtils.isEmpty(address);
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 0b1840f..947a59f 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
@@ -50,11 +50,13 @@ public class ReferenceConfigTest {
         rc.setInjvm(false);
 
         try {
+            System.setProperty("java.net.preferIPv4Stack", "true");
             demoService.export();
             rc.get();
             Assert.assertTrue(!Constants.LOCAL_PROTOCOL.equalsIgnoreCase(
                     rc.getInvoker().getUrl().getProtocol()));
         } finally {
+            System.clearProperty("java.net.preferIPv4Stack");
             demoService.unexport();
         }
     }
@@ -95,11 +97,14 @@ public class ReferenceConfigTest {
         sc.setProtocol(protocol);
 
         try {
+            System.setProperty("java.net.preferIPv4Stack", "true");
             sc.export();
             demoService = rc.get();
             success = true;
         } catch (Exception e) {
             e.printStackTrace();
+        } finally {
+            System.clearProperty("java.net.preferIPv4Stack");
         }
         Assert.assertTrue(success);
         Assert.assertNotNull(demoService);
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ServiceConfigTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ServiceConfigTest.java
index 9ee5273..3ab73d2 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ServiceConfigTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ServiceConfigTest.java
@@ -75,6 +75,7 @@ public class ServiceConfigTest {
 
         RegistryConfig registry = new RegistryConfig();
         registry.setProtocol("mockprotocol2");
+        registry.setAddress("N/A");
 
         ArgumentConfig argument = new ArgumentConfig();
         argument.setIndex(0);


[incubator-dubbo] 04/04: Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 720784c41b89325316f35d8d3a3f3dbc773511f7
Merge: da978fd 3dfa8d2
Author: ken.lj <ke...@gmail.com>
AuthorDate: Fri Nov 23 10:38:57 2018 +0800

    Merge branch 'dev-metadata' of https://github.com/apache/incubator-dubbo into dev-metadata

 .../apache/dubbo/common/config/Environment.java    | 77 ++++++++++++++--------
 .../common/config/EnvironmentConfiguration.java    |  2 +-
 .../dubbo/common/config/InmemoryConfiguration.java | 14 ++--
 .../common/config/PropertiesConfiguration.java     |  3 +
 .../dubbo/common/config/SystemConfiguration.java   |  5 +-
 .../org/apache/dubbo/config/AbstractConfig.java    | 24 +++++--
 .../dubbo/config/spring/ConfigCenterBean.java      |  4 +-
 .../dubbo/configcenter/ConfigurationUtils.java     |  8 +--
 8 files changed, 86 insertions(+), 51 deletions(-)