You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2017/12/23 08:26:19 UTC

[incubator-servicecomb-java-chassis] 01/04: JAV-582 load ResponseTypeProcessor by SPI mechanism

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 <wu...@huawei.com>
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
"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>.