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

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


The following commit(s) were added to refs/heads/master by this push:
     new 1f02113  Fix self assignment (#3301)
1f02113 is described below

commit 1f02113adc9001ed780f78464748371eecff3087
Author: Yuhao Bi <[email protected]>
AuthorDate: Tue Jan 29 10:06:31 2019 +0800

    Fix self assignment (#3301)
    
    * Fix self assignment
    * Replace set with list to insure item order
    * Minor tweak of codestyle
---
 .../apache/dubbo/generic/GenericServiceTest.java   | 23 +++++++++++-----------
 .../org/apache/dubbo/service/ComplexObject.java    | 15 +++++++-------
 .../metadata/definition/service/ComplexObject.java |  4 ++--
 3 files changed, 20 insertions(+), 22 deletions(-)

diff --git 
a/dubbo-compatible/src/test/java/org/apache/dubbo/generic/GenericServiceTest.java
 
b/dubbo-compatible/src/test/java/org/apache/dubbo/generic/GenericServiceTest.java
index b2f2239..09d62cc 100644
--- 
a/dubbo-compatible/src/test/java/org/apache/dubbo/generic/GenericServiceTest.java
+++ 
b/dubbo-compatible/src/test/java/org/apache/dubbo/generic/GenericServiceTest.java
@@ -38,12 +38,11 @@ import com.alibaba.fastjson.JSON;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 public class GenericServiceTest {
 
@@ -108,20 +107,20 @@ public class GenericServiceTest {
 
         FullServiceDefinition fullServiceDefinition = 
ServiceDefinitionBuilder.buildFullDefinition(DemoService.class);
         MethodDefinition methodDefinition = getMethod("complexCompute", 
fullServiceDefinition.getMethods());
-        Map parm2= createComplextObject(fullServiceDefinition,var1, var2, l, 
var3, var4, testEnum);
-        ComplexObject complexObject = map2bean(parm2);
+        Map mapObject = createComplexObject(fullServiceDefinition,var1, var2, 
l, var3, var4, testEnum);
+        ComplexObject complexObject = map2bean(mapObject);
 
         Invoker<GenericService> invoker = protocol.refer(GenericService.class, 
url);
 
 
         GenericService client = proxyFactory.getProxy(invoker, true);
-        Object result = client.$invoke(methodDefinition.getName(), 
methodDefinition.getParameterTypes(), new Object[]{"haha", parm2});
+        Object result = client.$invoke(methodDefinition.getName(), 
methodDefinition.getParameterTypes(), new Object[]{"haha", mapObject});
         Assertions.assertEquals("haha###" + complexObject.toString(), result);
 
 
         Invoker<DemoService> invoker2 = protocol.refer(DemoService.class, url);
         GenericService client2 = (GenericService) 
proxyFactory.getProxy(invoker2, true);
-        Object result2 = client2.$invoke("complexCompute", 
methodDefinition.getParameterTypes(), new Object[]{"haha2", parm2});
+        Object result2 = client2.$invoke("complexCompute", 
methodDefinition.getParameterTypes(), new Object[]{"haha2", mapObject});
         Assertions.assertEquals("haha2###" + complexObject.toString(), 
result2);
 
         invoker.destroy();
@@ -167,7 +166,7 @@ public class GenericServiceTest {
         return null;
     }
 
-    Map<String, Object> createComplextObject(FullServiceDefinition 
fullServiceDefinition, String var1, int var2, long l, String[] var3, 
List<Integer> var4, ComplexObject.TestEnum testEnum) {
+    Map<String, Object> createComplexObject(FullServiceDefinition 
fullServiceDefinition, String var1, int var2, long l, String[] var3, 
List<Integer> var4, ComplexObject.TestEnum testEnum) {
         List<TypeDefinition> typeDefinitions = 
fullServiceDefinition.getTypes();
         TypeDefinition topTypeDefinition = null;
         TypeDefinition innerTypeDefinition = null;
@@ -191,7 +190,7 @@ public class GenericServiceTest {
         
Assertions.assertEquals(topTypeDefinition.getProperties().get("strArrays").getType(),
 "java.lang.String[]");
         
Assertions.assertEquals(topTypeDefinition.getProperties().get("innerObject3").getType(),
 "org.apache.dubbo.service.ComplexObject.InnerObject3[]");
         
Assertions.assertEquals(topTypeDefinition.getProperties().get("testEnum").getType(),
 "org.apache.dubbo.service.ComplexObject.TestEnum");
-        
Assertions.assertEquals(topTypeDefinition.getProperties().get("innerObject2").getType(),
 "java.util.Set<org.apache.dubbo.service.ComplexObject$InnerObject2>");
+        
Assertions.assertEquals(topTypeDefinition.getProperties().get("innerObject2").getType(),
 "java.util.List<org.apache.dubbo.service.ComplexObject$InnerObject2>");
 
         
Assertions.assertSame(innerTypeDefinition.getProperties().get("innerA").getType(),
 "java.lang.String");
         
Assertions.assertSame(innerTypeDefinition.getProperties().get("innerB").getType(),
 "int");
@@ -216,16 +215,16 @@ public class GenericServiceTest {
         innerObjectMap.put("innerA", var1);
         innerObjectMap.put("innerB", var2);
 
-        Set<Map> innerObject2Set = new HashSet<>(4);
-        result.put("innerObject2", innerObject2Set);
+        List<Map> innerObject2List = new ArrayList<>();
+        result.put("innerObject2", innerObject2List);
         Map innerObject2Tmp1 = new HashMap<>(4);
         innerObject2Tmp1.put("innerA2", var1 + "_21");
         innerObject2Tmp1.put("innerB2", var2 + 100000);
         Map innerObject2Tmp2 = new HashMap<>(4);
         innerObject2Tmp2.put("innerA2", var1 + "_22");
         innerObject2Tmp2.put("innerB2", var2 + 200000);
-        innerObject2Set.add(innerObject2Tmp1);
-        innerObject2Set.add(innerObject2Tmp2);
+        innerObject2List.add(innerObject2Tmp1);
+        innerObject2List.add(innerObject2Tmp2);
 
         Map innerObject3Tmp1 = new HashMap<>(4);
         innerObject3Tmp1.put("innerA3", var1 + "_31");
diff --git 
a/dubbo-compatible/src/test/java/org/apache/dubbo/service/ComplexObject.java 
b/dubbo-compatible/src/test/java/org/apache/dubbo/service/ComplexObject.java
index 5c89538..3657a03 100644
--- a/dubbo-compatible/src/test/java/org/apache/dubbo/service/ComplexObject.java
+++ b/dubbo-compatible/src/test/java/org/apache/dubbo/service/ComplexObject.java
@@ -16,13 +16,12 @@
  */
 package org.apache.dubbo.service;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
-import java.util.Set;
 
 /**
  * ON 2018/11/5
@@ -46,7 +45,7 @@ public class ComplexObject {
         InnerObject2 io22 = new InnerObject2();
         io22.setInnerA2(var1 + "_22");
         io22.setInnerB2(var2 + 200000);
-        this.setInnerObject2(new HashSet<InnerObject2>(Arrays.asList(io21, 
io22)));
+        this.setInnerObject2(new ArrayList<>(Arrays.asList(io21, io22)));
 
         InnerObject3 io31 = new InnerObject3();
         io31.setInnerA3(var1 + "_31");
@@ -61,7 +60,7 @@ public class ComplexObject {
     }
 
     private InnerObject innerObject;
-    private Set<InnerObject2> innerObject2;
+    private List<InnerObject2> innerObject2;
     private InnerObject3[] innerObject3;
     private String[] strArrays;
     private List<Integer> intList;
@@ -109,11 +108,11 @@ public class ComplexObject {
         this.testEnum = testEnum;
     }
 
-    public Set<InnerObject2> getInnerObject2() {
+    public List<InnerObject2> getInnerObject2() {
         return innerObject2;
     }
 
-    public void setInnerObject2(Set<InnerObject2> innerObject2) {
+    public void setInnerObject2(List<InnerObject2> innerObject2) {
         this.innerObject2 = innerObject2;
     }
 
@@ -225,7 +224,7 @@ public class ComplexObject {
             return innerA2;
         }
 
-        public void setInnerA2(String innerA) {
+        public void setInnerA2(String innerA2) {
             this.innerA2 = innerA2;
         }
 
@@ -233,7 +232,7 @@ public class ComplexObject {
             return innerB2;
         }
 
-        public void setInnerB2(int innerB) {
+        public void setInnerB2(int innerB2) {
             this.innerB2 = innerB2;
         }
 
diff --git 
a/dubbo-metadata-report/dubbo-metadata-definition/src/test/java/org/apache/dubbo/metadata/definition/service/ComplexObject.java
 
b/dubbo-metadata-report/dubbo-metadata-definition/src/test/java/org/apache/dubbo/metadata/definition/service/ComplexObject.java
index 60a467a..2859a13 100644
--- 
a/dubbo-metadata-report/dubbo-metadata-definition/src/test/java/org/apache/dubbo/metadata/definition/service/ComplexObject.java
+++ 
b/dubbo-metadata-report/dubbo-metadata-definition/src/test/java/org/apache/dubbo/metadata/definition/service/ComplexObject.java
@@ -225,7 +225,7 @@ public class ComplexObject {
             return innerA2;
         }
 
-        public void setInnerA2(String innerA) {
+        public void setInnerA2(String innerA2) {
             this.innerA2 = innerA2;
         }
 
@@ -233,7 +233,7 @@ public class ComplexObject {
             return innerB2;
         }
 
-        public void setInnerB2(int innerB) {
+        public void setInnerB2(int innerB2) {
             this.innerB2 = innerB2;
         }
 

Reply via email to