You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/07/20 09:24:20 UTC

[incubator-servicecomb-java-chassis] 01/06: [SCB-708] fix Map param type check problem

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

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git

commit 5c349b139a4e3403ff5ed452dc1d08ced5a672da
Author: yaohaishi <ya...@huawei.com>
AuthorDate: Thu Jul 5 20:51:23 2018 +0800

    [SCB-708] fix Map param type check problem
---
 .../swagger/generator/core/utils/ParamUtils.java   |  3 +--
 .../swagger/generator/core/TestParamUtils.java     | 24 ++++++++++++++++++++++
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ParamUtils.java b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ParamUtils.java
index 94323f8..db6d201 100644
--- a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ParamUtils.java
+++ b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ParamUtils.java
@@ -27,8 +27,6 @@ import org.apache.servicecomb.swagger.generator.core.OperationGenerator;
 import org.springframework.core.DefaultParameterNameDiscoverer;
 import org.springframework.core.MethodParameter;
 
-import com.fasterxml.jackson.databind.ser.std.MapProperty;
-
 import io.swagger.converter.ModelConverters;
 import io.swagger.models.Model;
 import io.swagger.models.Swagger;
@@ -36,6 +34,7 @@ import io.swagger.models.parameters.AbstractSerializableParameter;
 import io.swagger.models.parameters.BodyParameter;
 import io.swagger.models.parameters.Parameter;
 import io.swagger.models.properties.ArrayProperty;
+import io.swagger.models.properties.MapProperty;
 import io.swagger.models.properties.ObjectProperty;
 import io.swagger.models.properties.Property;
 import io.swagger.models.properties.PropertyBuilder;
diff --git a/swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestParamUtils.java b/swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestParamUtils.java
index ce609cf..1343f5f 100644
--- a/swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestParamUtils.java
+++ b/swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestParamUtils.java
@@ -23,11 +23,18 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.servicecomb.swagger.generator.core.utils.ClassUtils;
+import org.apache.servicecomb.swagger.generator.core.utils.ParamUtils;
 import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.Mockito;
 
 import io.swagger.models.parameters.Parameter;
+import io.swagger.models.properties.ArrayProperty;
+import io.swagger.models.properties.MapProperty;
+import io.swagger.models.properties.ObjectProperty;
+import io.swagger.models.properties.Property;
+import io.swagger.models.properties.RefProperty;
+import io.swagger.models.properties.StringProperty;
 
 public class TestParamUtils {
   @Test
@@ -42,4 +49,21 @@ public class TestParamUtils {
     extensions.put(SwaggerConst.EXT_RAW_JSON_TYPE, "test");
     Assert.assertFalse(ClassUtils.isRawJsonType(param));
   }
+
+  @Test
+  public void isComplexProperty() {
+    Property property = new RefProperty("ref");
+    Assert.assertTrue(ParamUtils.isComplexProperty(property));
+    property = new ObjectProperty();
+    Assert.assertTrue(ParamUtils.isComplexProperty(property));
+    property = new MapProperty();
+    Assert.assertTrue(ParamUtils.isComplexProperty(property));
+    property = new ArrayProperty(new ObjectProperty());
+    Assert.assertTrue(ParamUtils.isComplexProperty(property));
+
+    property = new ArrayProperty(new StringProperty());
+    Assert.assertFalse(ParamUtils.isComplexProperty(property));
+    property = new StringProperty();
+    Assert.assertFalse(ParamUtils.isComplexProperty(property));
+  }
 }