This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git
commit d53cd8526a07bc0fce74774db137b0d6690e98d1 Author: wujimin <[email protected]> AuthorDate: Thu Dec 21 11:16:44 2017 +0800 JAV-582 load ResponseTypeProcessor by SPI mechanism --- .../swagger/generator/core/AbstractSwaggerGeneratorContext.java | 4 +++- .../io/servicecomb/swagger/generator/core/ResponseTypeProcessor.java | 2 ++ .../core/processor/response/DefaultResponseTypeProcessor.java | 5 +++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/AbstractSwaggerGeneratorContext.java b/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/AbstractSwaggerGeneratorContext.java index e835bfa..922624c 100644 --- a/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/AbstractSwaggerGeneratorContext.java +++ b/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/AbstractSwaggerGeneratorContext.java @@ -140,7 +140,9 @@ public abstract class AbstractSwaggerGeneratorContext implements SwaggerGenerato } protected void initResponseTypeProcessorMgr() { - + SPIServiceUtils.getAllService(ResponseTypeProcessor.class).forEach(p -> { + responseTypeProcessorMgr.register(p.getResponseType(), p); + }); } public void setDefaultParamProcessor(DefaultParameterProcessor defaultParamProcessor) { diff --git a/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/ResponseTypeProcessor.java b/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/ResponseTypeProcessor.java index 2537da0..bb0369b 100644 --- a/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/ResponseTypeProcessor.java +++ b/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/ResponseTypeProcessor.java @@ -19,6 +19,8 @@ package io.servicecomb.swagger.generator.core; import io.swagger.models.properties.Property; public interface ResponseTypeProcessor { + Class<?> getResponseType(); + // void的场景,不会到processor中来处理 Property process(OperationGenerator operationGenerator); } diff --git a/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/response/DefaultResponseTypeProcessor.java b/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/response/DefaultResponseTypeProcessor.java index 6dba022..cac3e0c 100644 --- a/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/response/DefaultResponseTypeProcessor.java +++ b/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/response/DefaultResponseTypeProcessor.java @@ -25,6 +25,11 @@ import io.swagger.converter.ModelConverters; import io.swagger.models.properties.Property; public class DefaultResponseTypeProcessor implements ResponseTypeProcessor { + @Override + public Class<?> getResponseType() { + // not care for this. + return null; + } @Override public Property process(OperationGenerator operationGenerator) { -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
