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/26 07:18:46 UTC

[incubator-servicecomb-java-chassis] 08/10: JAV-591 swagger invocation engine switch to new 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 f2be4547b2d207f63f213e1f2af2fa53a37e7ce3
Author: wujimin <wu...@huawei.com>
AuthorDate: Sun Dec 24 02:50:10 2017 +0800

    JAV-591 swagger invocation engine switch to new mechanism
---
 .../schema/TestProducerSchemaFactory.java          |  4 ---
 .../swagger/engine/SwaggerEnvironment.java         | 38 +++++++++-------------
 .../swagger/engine/bootstrap/BootstrapNormal.java  | 10 +-----
 3 files changed, 16 insertions(+), 36 deletions(-)

diff --git a/core/src/test/java/io/servicecomb/core/definition/schema/TestProducerSchemaFactory.java b/core/src/test/java/io/servicecomb/core/definition/schema/TestProducerSchemaFactory.java
index 6e75fae..84bf2e4 100644
--- a/core/src/test/java/io/servicecomb/core/definition/schema/TestProducerSchemaFactory.java
+++ b/core/src/test/java/io/servicecomb/core/definition/schema/TestProducerSchemaFactory.java
@@ -47,7 +47,6 @@ import io.servicecomb.swagger.invocation.arguments.producer.ProducerArgumentsMap
 import io.servicecomb.swagger.invocation.converter.ConverterMgr;
 import io.servicecomb.swagger.invocation.exception.CommonExceptionData;
 import io.servicecomb.swagger.invocation.exception.InvocationException;
-import io.servicecomb.swagger.invocation.response.producer.ProducerResponseMapperFactory;
 
 public class TestProducerSchemaFactory {
   private static SwaggerEnvironment swaggerEnv = new BootstrapNormal().boot();
@@ -68,9 +67,6 @@ public class TestProducerSchemaFactory {
     RegistryUtils.setServiceRegistry(serviceRegistry);
 
     ConverterMgr converterMgr = new ConverterMgr();
-    ProducerResponseMapperFactory responseMapperFactory = new ProducerResponseMapperFactory();
-    responseMapperFactory.setConverterMgr(converterMgr);
-
     ProducerArgumentsMapperFactory producerArgsMapperFactory = new ProducerArgumentsMapperFactory();
     producerArgsMapperFactory.setConverterMgr(converterMgr);
 
diff --git a/swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/SwaggerEnvironment.java b/swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/SwaggerEnvironment.java
index 9bb6bcd..b80dc53 100644
--- a/swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/SwaggerEnvironment.java
+++ b/swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/SwaggerEnvironment.java
@@ -33,6 +33,8 @@ import io.servicecomb.swagger.invocation.arguments.consumer.ConsumerArgumentsMap
 import io.servicecomb.swagger.invocation.arguments.consumer.ConsumerArgumentsMapperFactory;
 import io.servicecomb.swagger.invocation.arguments.producer.ProducerArgumentsMapper;
 import io.servicecomb.swagger.invocation.arguments.producer.ProducerArgumentsMapperFactory;
+import io.servicecomb.swagger.invocation.converter.ConverterMgr;
+import io.servicecomb.swagger.invocation.response.ResponseMapperFactorys;
 import io.servicecomb.swagger.invocation.response.consumer.ConsumerResponseMapper;
 import io.servicecomb.swagger.invocation.response.consumer.ConsumerResponseMapperFactory;
 import io.servicecomb.swagger.invocation.response.producer.ProducerResponseMapper;
@@ -45,14 +47,20 @@ public class SwaggerEnvironment {
   @Inject
   private ProducerArgumentsMapperFactory producerArgumentsFactory;
 
-  @Inject
-  private ProducerResponseMapperFactory producerResponseMapperFactory;
+  private ResponseMapperFactorys<ProducerResponseMapper> producerResponseMapperFactorys =
+      new ResponseMapperFactorys<>(ProducerResponseMapperFactory.class);
 
   @Inject
   private ConsumerArgumentsMapperFactory consumerArgumentsFactory;
 
+  private ResponseMapperFactorys<ConsumerResponseMapper> consumerResponseMapperFactorys =
+      new ResponseMapperFactorys<>(ConsumerResponseMapperFactory.class);
+
   @Inject
-  private ConsumerResponseMapperFactory consumerResponseMapperFactory;
+  public void setConverterMgr(ConverterMgr converterMgr) {
+    consumerResponseMapperFactorys.setConverterMgr(converterMgr);
+    producerResponseMapperFactorys.setConverterMgr(converterMgr);
+  }
 
   public ProducerArgumentsMapperFactory getProducerArgumentsFactory() {
     return producerArgumentsFactory;
@@ -62,14 +70,6 @@ public class SwaggerEnvironment {
     this.producerArgumentsFactory = producerArgumentsFactory;
   }
 
-  public ProducerResponseMapperFactory getProducerResponseMapperFactory() {
-    return producerResponseMapperFactory;
-  }
-
-  public void setProducerResponseMapperFactory(ProducerResponseMapperFactory producerResponseMapperFactory) {
-    this.producerResponseMapperFactory = producerResponseMapperFactory;
-  }
-
   public ConsumerArgumentsMapperFactory getConsumerArgumentsFactory() {
     return consumerArgumentsFactory;
   }
@@ -78,14 +78,6 @@ public class SwaggerEnvironment {
     this.consumerArgumentsFactory = consumerArgumentsFactory;
   }
 
-  public ConsumerResponseMapperFactory getConsumerResponseMapperFactory() {
-    return consumerResponseMapperFactory;
-  }
-
-  public void setConsumerResponseMapperFactory(ConsumerResponseMapperFactory consumerResponseMapperFactory) {
-    this.consumerResponseMapperFactory = consumerResponseMapperFactory;
-  }
-
   public SwaggerConsumer createConsumer(Class<?> consumerIntf) {
     // consumer与契约接口相同
     return createConsumer(consumerIntf, consumerIntf);
@@ -109,7 +101,7 @@ public class SwaggerEnvironment {
 
       ConsumerArgumentsMapper argsMapper =
           consumerArgumentsFactory.createArgumentsMapper(swaggerMethod, consumerMethod);
-      ConsumerResponseMapper responseMapper = consumerResponseMapperFactory.createResponseMapper(
+      ConsumerResponseMapper responseMapper = consumerResponseMapperFactorys.createResponseMapper(
           swaggerMethod.getGenericReturnType(),
           consumerMethod.getGenericReturnType());
 
@@ -148,9 +140,9 @@ public class SwaggerEnvironment {
 
       ProducerArgumentsMapper argsMapper = producerArgumentsFactory.createArgumentsMapper(swaggerMethod,
           producerMethod);
-      ProducerResponseMapper responseMapper = producerResponseMapperFactory.createResponseMapper(
-          producerMethod.getGenericReturnType(),
-          swaggerMethod.getGenericReturnType());
+      ProducerResponseMapper responseMapper = producerResponseMapperFactorys.createResponseMapper(
+          swaggerMethod.getGenericReturnType(),
+          producerMethod.getGenericReturnType());
 
       SwaggerProducerOperation op = new SwaggerProducerOperation();
       op.setName(methodName);
diff --git a/swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/bootstrap/BootstrapNormal.java b/swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/bootstrap/BootstrapNormal.java
index c86a006..1be475f 100644
--- a/swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/bootstrap/BootstrapNormal.java
+++ b/swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/bootstrap/BootstrapNormal.java
@@ -25,8 +25,6 @@ import io.servicecomb.swagger.invocation.arguments.consumer.ConsumerInvocationCo
 import io.servicecomb.swagger.invocation.arguments.producer.ProducerArgumentsMapperFactory;
 import io.servicecomb.swagger.invocation.arguments.producer.ProducerInvocationContextMapperFactory;
 import io.servicecomb.swagger.invocation.converter.ConverterMgr;
-import io.servicecomb.swagger.invocation.response.consumer.ConsumerResponseMapperFactory;
-import io.servicecomb.swagger.invocation.response.producer.ProducerResponseMapperFactory;
 
 public class BootstrapNormal implements SwaggerBootstrap {
   public SwaggerEnvironment boot() {
@@ -39,18 +37,12 @@ public class BootstrapNormal implements SwaggerBootstrap {
     producerArgumentsFactory.setConverterMgr(converterMgr);
     env.setProducerArgumentsFactory(producerArgumentsFactory);
 
-    ProducerResponseMapperFactory producerResponseMapperFactory = new ProducerResponseMapperFactory();
-    producerResponseMapperFactory.setConverterMgr(converterMgr);
-    env.setProducerResponseMapperFactory(producerResponseMapperFactory);
-
     ConsumerArgumentsMapperFactory consumerArgumentsFactory = new ConsumerArgumentsMapperFactory();
     consumerArgumentsFactory.setFactoryList(Arrays.asList(new ConsumerInvocationContextMapperFactory()));
     consumerArgumentsFactory.setConverterMgr(converterMgr);
     env.setConsumerArgumentsFactory(consumerArgumentsFactory);
 
-    ConsumerResponseMapperFactory consumerResponseMapperFactory = new ConsumerResponseMapperFactory();
-    consumerResponseMapperFactory.setConverterMgr(converterMgr);
-    env.setConsumerResponseMapperFactory(consumerResponseMapperFactory);
+    env.setConverterMgr(converterMgr);
 
     return env;
   }

-- 
To stop receiving notification emails like this one, please contact
"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>.