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() {