You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by wu...@apache.org on 2020/07/06 13:33:18 UTC

[servicecomb-java-chassis] 02/02: [SCB-2031] optimize code as review opinion

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

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

commit 0d1af3fce70a442119fe65766f498428132a9d1e
Author: yhs0092 <yh...@163.com>
AuthorDate: Fri Jul 3 09:51:28 2020 +0800

    [SCB-2031] optimize code as review opinion
---
 .../provider/pojo/definition/PojoConsumerMeta.java        | 11 ++++++++++-
 .../servicecomb/swagger/engine/SwaggerConsumer.java       | 15 ++++++++++++++-
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/definition/PojoConsumerMeta.java b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/definition/PojoConsumerMeta.java
index 502ebe5..987eebe 100644
--- a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/definition/PojoConsumerMeta.java
+++ b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/definition/PojoConsumerMeta.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.provider.pojo.definition;
 import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Map.Entry;
 
 import org.apache.servicecomb.core.definition.MicroserviceMeta;
 import org.apache.servicecomb.core.definition.OperationMeta;
@@ -29,6 +30,8 @@ import org.apache.servicecomb.swagger.engine.SwaggerConsumerOperation;
 import org.apache.servicecomb.swagger.generator.OperationGenerator;
 import org.apache.servicecomb.swagger.generator.SwaggerGenerator;
 
+import com.google.common.annotations.VisibleForTesting;
+
 public class PojoConsumerMeta {
   private MicroserviceReferenceConfig microserviceReferenceConfig;
 
@@ -75,8 +78,14 @@ public class PojoConsumerMeta {
     return schemaMeta;
   }
 
+  @VisibleForTesting
   public PojoConsumerOperationMeta findOperationMeta(String consumerMethodName) {
-    return operationMetas.get(consumerMethodName);
+    for (Entry<Method, PojoConsumerOperationMeta> operationMetaEntry : operationMetas.entrySet()) {
+      if (operationMetaEntry.getKey().getName().equals(consumerMethodName)) {
+        return operationMetaEntry.getValue();
+      }
+    }
+    return null;
   }
 
   public PojoConsumerOperationMeta findOperationMeta(Method consumerMethod) {
diff --git a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerConsumer.java b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerConsumer.java
index 83786e9..fc6c52d 100644
--- a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerConsumer.java
+++ b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerConsumer.java
@@ -19,6 +19,9 @@ package org.apache.servicecomb.swagger.engine;
 import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Map.Entry;
+
+import com.google.common.annotations.VisibleForTesting;
 
 public class SwaggerConsumer {
   private Class<?> consumerIntf;
@@ -38,8 +41,18 @@ public class SwaggerConsumer {
     operations.put(op.getConsumerMethod(), op);
   }
 
+  @VisibleForTesting
   public SwaggerConsumerOperation findOperation(String consumerMethodName) {
-    return operations.get(consumerMethodName);
+    for (Entry<Method, SwaggerConsumerOperation> operationEntry : operations.entrySet()) {
+      if (operationEntry.getKey().getName().equals(consumerMethodName)) {
+        return operationEntry.getValue();
+      }
+    }
+    return null;
+  }
+
+  public SwaggerConsumerOperation findOperation(Method consumerMethod) {
+    return operations.get(consumerMethod);
   }
 
   public Map<Method, SwaggerConsumerOperation> getOperations() {