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 <yhs0...@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() {