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

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


The following commit(s) were added to refs/heads/master by this push:
     new 1a7ca1e  Process TypeDefinition#properties when it is not a primitive 
type object (#7579)
1a7ca1e is described below

commit 1a7ca1e431bd960d44910c2b2223e74a8ddf0442
Author: 灼华 <[email protected]>
AuthorDate: Tue May 18 08:25:09 2021 +0800

    Process TypeDefinition#properties when it is not a primitive type object 
(#7579)
    
    * process TypeDefinition#properties when necessary
    
    * Fix code-style check
---
 .../metadata/definition/TypeDefinitionBuilder.java     |  5 -----
 .../definition/builder/DefaultTypeBuilder.java         | 18 +++++++++++-------
 2 files changed, 11 insertions(+), 12 deletions(-)

diff --git 
a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/definition/TypeDefinitionBuilder.java
 
b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/definition/TypeDefinitionBuilder.java
index fe99d2e..79bee90 100755
--- 
a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/definition/TypeDefinitionBuilder.java
+++ 
b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/definition/TypeDefinitionBuilder.java
@@ -30,8 +30,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import static org.apache.dubbo.common.utils.ClassUtils.isSimpleType;
-
 /**
  * 2015/1/27.
  */
@@ -55,9 +53,6 @@ public class TypeDefinitionBuilder {
             td = DefaultTypeBuilder.build(clazz, typeCache);
             td.setTypeBuilderName(DefaultTypeBuilder.class.getName());
         }
-        if (isSimpleType(clazz)) { // changed since 2.7.6
-            td.setProperties(null);
-        }
         return td;
     }
 
diff --git 
a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/definition/builder/DefaultTypeBuilder.java
 
b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/definition/builder/DefaultTypeBuilder.java
index 567b4b3..42ecafb 100755
--- 
a/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/definition/builder/DefaultTypeBuilder.java
+++ 
b/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/definition/builder/DefaultTypeBuilder.java
@@ -26,6 +26,8 @@ import java.lang.reflect.Type;
 import java.util.List;
 import java.util.Map;
 
+import static org.apache.dubbo.common.utils.ClassUtils.isSimpleType;
+
 /**
  * 2015/1/27.
  */
@@ -51,14 +53,16 @@ public final class DefaultTypeBuilder {
         ref.set$ref(name);
         typeCache.put(clazz, ref);
 
-        List<Field> fields = ClassUtils.getNonStaticFields(clazz);
-        for (Field field : fields) {
-            String fieldName = field.getName();
-            Class<?> fieldClass = field.getType();
-            Type fieldType = field.getGenericType();
+        if(!clazz.isPrimitive() && !isSimpleType(clazz)){
+            List<Field> fields = ClassUtils.getNonStaticFields(clazz);
+            for (Field field : fields) {
+                String fieldName = field.getName();
+                Class<?> fieldClass = field.getType();
+                Type fieldType = field.getGenericType();
 
-            TypeDefinition fieldTd = TypeDefinitionBuilder.build(fieldType, 
fieldClass, typeCache);
-            td.getProperties().put(fieldName, fieldTd);
+                TypeDefinition fieldTd = 
TypeDefinitionBuilder.build(fieldType, fieldClass, typeCache);
+                td.getProperties().put(fieldName, fieldTd);
+            }
         }
 
         typeCache.put(clazz, td);

Reply via email to