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/08/14 06:13:21 UTC
[incubator-servicecomb-java-chassis] 02/05: [SCB-736] generate
default value to swagger for primitive type: Review comments fix
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 5a270d1d7001c6c0e435923509ad98b7bf5cdb46
Author: maheshrajus <ma...@huawei.com>
AuthorDate: Fri Aug 10 11:33:23 2018 +0530
[SCB-736] generate default value to swagger for primitive type: Review comments fix
---
.../swagger/generator/core/OperationGenerator.java | 2 +-
.../annotation/CookieValueAnnotationProcessor.java | 10 +++++++++
.../PathVariableAnnotationProcessor.java | 10 +++++++++
.../RequestAttributeAnnotationProcessor.java | 10 +++++++++
.../RequestParamAnnotationProcessor.java | 10 +++++++++
.../annotation/RequestPartAnnotationProcessor.java | 10 +++++++++
.../test/resources/schemas/mixupAnnotations.yaml | 24 +++++++++++-----------
7 files changed, 63 insertions(+), 13 deletions(-)
diff --git a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/OperationGenerator.java b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/OperationGenerator.java
index 390b26d..8698585 100644
--- a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/OperationGenerator.java
+++ b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/OperationGenerator.java
@@ -319,7 +319,7 @@ public class OperationGenerator {
if (defaultValue != null) {
((AbstractSerializableParameter<?>) parameter).setDefaultValue(defaultValue);
} else if ((((AbstractSerializableParameter<?>) parameter).getDefaultValue() == null)
- && (false == ((AbstractSerializableParameter<?>) parameter).getRequired())) { //if required false then only take java primitive values as defaults
+ && (!((AbstractSerializableParameter<?>) parameter).getRequired())) { //if required false then only take java primitive values as defaults
String type = ((AbstractSerializableParameter<?>) parameter).getType();
switch (type) {
case "integer":
diff --git a/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/CookieValueAnnotationProcessor.java b/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/CookieValueAnnotationProcessor.java
index 8dc61ea..a86ea06 100644
--- a/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/CookieValueAnnotationProcessor.java
+++ b/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/CookieValueAnnotationProcessor.java
@@ -17,6 +17,7 @@
package org.apache.servicecomb.swagger.generator.springmvc.processor.annotation;
+import org.apache.servicecomb.swagger.generator.core.OperationGenerator;
import org.apache.servicecomb.swagger.generator.core.processor.parameter.AbstractParameterProcessor;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.ValueConstants;
@@ -35,6 +36,15 @@ public class CookieValueAnnotationProcessor extends AbstractParameterProcessor<C
}
@Override
+ protected void fillParameter(Object annotation, OperationGenerator operationGenerator, int paramIdx,
+ CookieParameter parameter) {
+ super.fillParameter(annotation, operationGenerator, paramIdx, parameter);
+
+ CookieValue cookie = (CookieValue) annotation;
+ parameter.setRequired(cookie.required());
+ }
+
+ @Override
protected String getAnnotationParameterDefaultValue(Object annotation) {
String defaultValue = ((CookieValue) annotation).defaultValue();
if (defaultValue.equals(ValueConstants.DEFAULT_NONE)) {
diff --git a/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/PathVariableAnnotationProcessor.java b/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/PathVariableAnnotationProcessor.java
index e77b778..6297ef7 100644
--- a/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/PathVariableAnnotationProcessor.java
+++ b/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/PathVariableAnnotationProcessor.java
@@ -17,6 +17,7 @@
package org.apache.servicecomb.swagger.generator.springmvc.processor.annotation;
+import org.apache.servicecomb.swagger.generator.core.OperationGenerator;
import org.apache.servicecomb.swagger.generator.core.processor.parameter.AbstractParameterProcessor;
import org.springframework.web.bind.annotation.PathVariable;
@@ -32,4 +33,13 @@ public class PathVariableAnnotationProcessor extends AbstractParameterProcessor<
public String getAnnotationParameterName(Object annotation) {
return ((PathVariable) annotation).value();
}
+
+ @Override
+ protected void fillParameter(Object annotation, OperationGenerator operationGenerator, int paramIdx,
+ PathParameter parameter) {
+ super.fillParameter(annotation, operationGenerator, paramIdx, parameter);
+
+ PathVariable pathVariable = (PathVariable) annotation;
+ parameter.setRequired(pathVariable.required());
+ }
}
diff --git a/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestAttributeAnnotationProcessor.java b/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestAttributeAnnotationProcessor.java
index 09e5f37..0166a76 100644
--- a/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestAttributeAnnotationProcessor.java
+++ b/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestAttributeAnnotationProcessor.java
@@ -17,6 +17,7 @@
package org.apache.servicecomb.swagger.generator.springmvc.processor.annotation;
+import org.apache.servicecomb.swagger.generator.core.OperationGenerator;
import org.apache.servicecomb.swagger.generator.core.processor.parameter.AbstractParameterProcessor;
import org.springframework.web.bind.annotation.RequestAttribute;
@@ -32,4 +33,13 @@ public class RequestAttributeAnnotationProcessor extends AbstractParameterProces
public String getAnnotationParameterName(Object annotation) {
return ((RequestAttribute) annotation).name();
}
+
+ @Override
+ protected void fillParameter(Object annotation, OperationGenerator operationGenerator, int paramIdx,
+ FormParameter parameter) {
+ super.fillParameter(annotation, operationGenerator, paramIdx, parameter);
+
+ RequestAttribute requestAttribute = (RequestAttribute) annotation;
+ parameter.setRequired(requestAttribute.required());
+ }
}
diff --git a/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestParamAnnotationProcessor.java b/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestParamAnnotationProcessor.java
index d839c1c..a32274b 100644
--- a/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestParamAnnotationProcessor.java
+++ b/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestParamAnnotationProcessor.java
@@ -17,6 +17,7 @@
package org.apache.servicecomb.swagger.generator.springmvc.processor.annotation;
+import org.apache.servicecomb.swagger.generator.core.OperationGenerator;
import org.apache.servicecomb.swagger.generator.core.processor.parameter.AbstractParameterProcessor;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ValueConstants;
@@ -35,6 +36,15 @@ public class RequestParamAnnotationProcessor extends AbstractParameterProcessor<
}
@Override
+ protected void fillParameter(Object annotation, OperationGenerator operationGenerator, int paramIdx,
+ QueryParameter parameter) {
+ super.fillParameter(annotation, operationGenerator, paramIdx, parameter);
+
+ RequestParam requestParam = (RequestParam) annotation;
+ parameter.setRequired(requestParam.required());
+ }
+
+ @Override
protected String getAnnotationParameterDefaultValue(Object annotation) {
String defaultValue = ((RequestParam) annotation).defaultValue();
if (defaultValue.equals(ValueConstants.DEFAULT_NONE)) {
diff --git a/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestPartAnnotationProcessor.java b/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestPartAnnotationProcessor.java
index 3901752..fe3ec24 100644
--- a/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestPartAnnotationProcessor.java
+++ b/swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestPartAnnotationProcessor.java
@@ -17,6 +17,7 @@
package org.apache.servicecomb.swagger.generator.springmvc.processor.annotation;
+import org.apache.servicecomb.swagger.generator.core.OperationGenerator;
import org.apache.servicecomb.swagger.generator.core.processor.parameter.AbstractParameterProcessor;
import org.springframework.web.bind.annotation.RequestPart;
@@ -32,4 +33,13 @@ public class RequestPartAnnotationProcessor extends AbstractParameterProcessor<F
public String getAnnotationParameterName(Object annotation) {
return ((RequestPart) annotation).name();
}
+
+ @Override
+ protected void fillParameter(Object annotation, OperationGenerator operationGenerator, int paramIdx,
+ FormParameter parameter) {
+ super.fillParameter(annotation, operationGenerator, paramIdx, parameter);
+
+ RequestPart requestPart = (RequestPart) annotation;
+ parameter.setRequired(requestPart.required());
+ }
}
diff --git a/swagger/swagger-generator/generator-springmvc/src/test/resources/schemas/mixupAnnotations.yaml b/swagger/swagger-generator/generator-springmvc/src/test/resources/schemas/mixupAnnotations.yaml
index a31e9e2..fc9f380 100644
--- a/swagger/swagger-generator/generator-springmvc/src/test/resources/schemas/mixupAnnotations.yaml
+++ b/swagger/swagger-generator/generator-springmvc/src/test/resources/schemas/mixupAnnotations.yaml
@@ -52,11 +52,11 @@ paths:
type: "string"
- name: "word"
in: "query"
- required: false
+ required: true
type: "string"
- name: "form"
in: "formData"
- required: false
+ required: true
type: "string"
responses:
200:
@@ -88,11 +88,11 @@ paths:
type: "string"
- name: "word"
in: "query"
- required: false
+ required: true
type: "string"
- name: "form"
in: "formData"
- required: false
+ required: true
type: "string"
responses:
200:
@@ -124,11 +124,11 @@ paths:
type: "string"
- name: "word"
in: "query"
- required: false
+ required: true
type: "string"
- name: "form"
in: "formData"
- required: false
+ required: true
type: "string"
responses:
200:
@@ -160,11 +160,11 @@ paths:
type: "string"
- name: "word"
in: "query"
- required: false
+ required: true
type: "string"
- name: "form"
in: "formData"
- required: false
+ required: true
type: "string"
responses:
200:
@@ -196,11 +196,11 @@ paths:
type: "string"
- name: "word"
in: "query"
- required: false
+ required: true
type: "string"
- name: "form"
in: "formData"
- required: false
+ required: true
type: "string"
responses:
200:
@@ -232,11 +232,11 @@ paths:
type: "string"
- name: "word"
in: "query"
- required: false
+ required: true
type: "string"
- name: "form"
in: "formData"
- required: false
+ required: true
type: "string"
responses:
200: