You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2023/10/12 03:51:41 UTC

[servicecomb-java-chassis] branch master updated: [SCB-2813]Fix some pending features/changes add as TODO (#3967)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new b5b52f78c [SCB-2813]Fix some pending features/changes add as TODO (#3967)
b5b52f78c is described below

commit b5b52f78c43f757ce3746c778bc3672dc9150a5f
Author: liubao68 <bi...@qq.com>
AuthorDate: Thu Oct 12 11:51:36 2023 +0800

    [SCB-2813]Fix some pending features/changes add as TODO (#3967)
---
 .../impl/VertxRestAccessLogPatternParser.java      |  4 +-
 .../jaxrs/server/QueryParamWithListSchema.java     |  9 ---
 .../servicecomb/demo/pojo/client/BeanRpcTest.java  |  1 -
 .../servicecomb/demo/pojo/client/PojoClient.java   |  1 -
 .../client/TestClientInterfaceForServerTest.java   | 45 --------------
 .../demo/springmvc/SpringmvcClient.java            | 28 ---------
 .../client/TestCompatible1xTestSchema.java         | 70 ----------------------
 .../demo/springmvc/client/TestObject.java          |  2 +-
 .../springmvc/server/ContentTypeSpringmvc.java     |  1 -
 .../servicestage/CasEnvVariablesAdapter.java       | 47 +++++++--------
 .../servicestage/ServiceStageConfiguration.java    |  5 ++
 .../reference/TestRestTemplateWrapper.java         |  8 +--
 .../servicecomb/registry/sc/SCDiscovery.java       |  2 -
 .../swagger/generator/SwaggerGenerator.java        |  4 +-
 .../transport/rest/vertx/VertxHttpDispatcher.java  |  1 -
 15 files changed, 32 insertions(+), 196 deletions(-)

diff --git a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/parser/impl/VertxRestAccessLogPatternParser.java b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/parser/impl/VertxRestAccessLogPatternParser.java
index 7a5b6fb6d..7a8568b97 100644
--- a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/parser/impl/VertxRestAccessLogPatternParser.java
+++ b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/parser/impl/VertxRestAccessLogPatternParser.java
@@ -22,7 +22,6 @@ import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
 
-import com.google.common.annotations.VisibleForTesting;
 import org.apache.servicecomb.common.accessLog.core.element.AccessLogItem;
 import org.apache.servicecomb.common.accessLog.core.element.impl.PlainTextAccessItem;
 import org.apache.servicecomb.common.accessLog.core.parser.AccessLogItemMeta;
@@ -33,6 +32,8 @@ import org.apache.servicecomb.foundation.common.utils.SPIServiceUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.annotations.VisibleForTesting;
+
 import io.vertx.ext.web.RoutingContext;
 
 /**
@@ -173,7 +174,6 @@ public class VertxRestAccessLogPatternParser implements AccessLogPatternParser<R
       AccessLogItemLocation candidate = null;
       for (VertxRestAccessLogItemMeta meta : metaList) {
         if (null != candidate && null == meta.getSuffix()) {
-          // TODO:
           // if user define item("%{","}ab") and item("%{_","}abc") and the pattern is "%{_var}ab}abc"
           // currently the result is item("%{","_var","}ab"), plaintext("}abc")
           // is this acceptable?
diff --git a/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/QueryParamWithListSchema.java b/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/QueryParamWithListSchema.java
index baada26cd..d15849423 100644
--- a/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/QueryParamWithListSchema.java
+++ b/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/QueryParamWithListSchema.java
@@ -48,15 +48,6 @@ public class QueryParamWithListSchema {
     return queryList == null ? "null" : queryList.size() + ":" + queryList;
   }
 
-  // TODO: Open API 3.0 not support tsv
-//  @Path("queryListTSV")
-//  @GET
-//  public String queryListTSV(
-//      @Parameter(name = "queryList", in = ParameterIn.QUERY, style = ParameterStyle.SPACEDELIMITED, explode = Explode.FALSE)
-//      @QueryParam("queryList") List<String> queryList) {
-//    return queryList == null ? "null" : queryList.size() + ":" + queryList;
-//  }
-
   @Path("queryListPIPES")
   @GET
   public String queryListPIPES(
diff --git a/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/BeanRpcTest.java b/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/BeanRpcTest.java
index 2aac88931..caadd95ef 100644
--- a/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/BeanRpcTest.java
+++ b/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/BeanRpcTest.java
@@ -20,7 +20,6 @@ import org.apache.servicecomb.demo.server.Test;
 import org.apache.servicecomb.provider.pojo.RpcReference;
 
 public class BeanRpcTest {
-  // TODO: not support x-java-interface lookup. while in the near plan, do not need schemaId.
   @RpcReference(microserviceName = "pojo", schemaId = "server")
   private Test test;
 
diff --git a/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/PojoClient.java b/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/PojoClient.java
index 7fc990aac..32c5ac9c6 100644
--- a/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/PojoClient.java
+++ b/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/PojoClient.java
@@ -63,7 +63,6 @@ public class PojoClient {
   @RpcReference(microserviceName = "notExist")
   public static Test notExist;
 
-  // TODO: not support x-java-interface lookup. while in the near plan, do not need schemaId.
   @RpcReference(microserviceName = "pojo", schemaId = "server")
   public static Test test;
 
diff --git a/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/TestClientInterfaceForServerTest.java b/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/TestClientInterfaceForServerTest.java
deleted file mode 100644
index 4a328ef95..000000000
--- a/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/TestClientInterfaceForServerTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.servicecomb.demo.pojo.client;
-
-import org.apache.servicecomb.demo.CategorizedTestCase;
-import org.apache.servicecomb.provider.pojo.RpcReference;
-import org.springframework.stereotype.Component;
-
-@Component
-public class TestClientInterfaceForServerTest implements CategorizedTestCase {
-  @RpcReference(microserviceName = "pojo", schemaId = "server")
-  private ClientInterfaceForServerTest pojo;
-
-  @Override
-  public void testAllTransport() throws Exception {
-// TODO: not support compatibility for 1.x
-//        User user = new User();
-//        user.setName("name");
-//        user.setIndex(100);
-//        User result = pojo.splitParam(100, user);
-//        TestMgr.check("name,  users count:0", result.getName());
-//        TestMgr.check(100, result.getIndex());
-//
-//        TestRequest request = new TestRequest();
-//        request.setIndex(200);
-//        request.setUser(user);
-//        result = pojo.wrapParam(request);
-//        TestMgr.check("name,  users count:0", result.getName());
-//        TestMgr.check(200, result.getIndex());
-  }
-}
diff --git a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/SpringmvcClient.java b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/SpringmvcClient.java
index a9902b524..9aeff02df 100644
--- a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/SpringmvcClient.java
+++ b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/SpringmvcClient.java
@@ -292,29 +292,6 @@ public class SpringmvcClient {
       TestMgr.check(e.getStatusCode(), 400);
     }
 
-    // TODO: May be not support this feature anymore.
-    // Code definition and swagger definition is different for provider, and swagger override code.
-    // This feature may cause many mis-understanding to code but do not have real benefits.
-//    TestMgr.check("hi world [world]",
-//        template.getForObject(prefix + "/controller/sayhi?name=world",
-//            String.class));
-//
-//    TestMgr.check("hi world1 [world1]",
-//        template.getForObject(prefix + "/controller/sayhi?name={name}",
-//            String.class,
-//            "world1"));
-//    TestMgr.check("hi hi 中国 [hi 中国]",
-//        template.getForObject(prefix + "/controller/sayhi?name={name}",
-//            String.class,
-//            "hi 中国"));
-//
-//    Map<String, String> params = new HashMap<>();
-//    params.put("name", "world2");
-//    TestMgr.check("hi world2 [world2]",
-//        template.getForObject(prefix + "/controller/sayhi?name={name}",
-//            String.class,
-//            params));
-
     TestMgr.check("hello world",
         template.postForObject(prefix + "/controller/sayhello/{name}",
             null,
@@ -356,11 +333,6 @@ public class SpringmvcClient {
   }
 
   private static void testController() {
-    // TODO: May be not support this feature any more.
-    // Code definition and swagger definition is different for provider, and swagger override code.
-    // This feature may cause many mis-understanding to code but do not have real benefits.
-//    TestMgr.check("hi world [world]", controller.sayHi("world"));
-
     Person user = new Person();
     user.setName("world");
     TestMgr.check("ha world", controller.saySomething("ha", user));
diff --git a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestCompatible1xTestSchema.java b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestCompatible1xTestSchema.java
deleted file mode 100644
index d2330efb0..000000000
--- a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestCompatible1xTestSchema.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.servicecomb.demo.springmvc.client;
-
-import org.apache.servicecomb.demo.CategorizedTestCase;
-import org.apache.servicecomb.demo.TestMgr;
-import org.apache.servicecomb.provider.pojo.RpcReference;
-import org.apache.servicecomb.swagger.invocation.context.InvocationContext;
-import org.springframework.stereotype.Component;
-
-@Component
-public class TestCompatible1xTestSchema implements CategorizedTestCase {
-  @RpcReference(microserviceName = "springmvc", schemaId = "Compatible1xTestSchema")
-  private ICompatible1xTestSchema schema;
-
-  @Override
-  public void testAllTransport() throws Exception {
-// TODO: OpenAPI do not have parameter orders. So we can not compatible to 1.x to use order guess.
-//    testParameterName();
-//    testParameterNameClientContext();
-//    testParameterNameServerContext();
-//    testBeanParameter();
-//    testParameterNamePartMatchLeft();
-//    testParameterNamePartMatchRight();
-  }
-
-  private void testParameterNamePartMatchRight() {
-    String result = schema.parameterNamePartMatchRight(3, 4);
-    TestMgr.check("springmvcClient38", result);
-  }
-
-  private void testParameterNamePartMatchLeft() {
-    String result = schema.parameterNamePartMatchLeft(3, 4);
-    TestMgr.check("springmvcClient38", result);
-  }
-
-  private void testBeanParameter() {
-    String result = schema.beanParameter("name", 4);
-    TestMgr.check("name4", result);
-  }
-
-  private void testParameterNameServerContext() {
-    String result = schema.parameterNameServerContext(3, 4);
-    TestMgr.check("springmvcClient38", result);
-  }
-
-  private void testParameterNameClientContext() {
-    String result = schema.parameterName(new InvocationContext(), 3, 4);
-    TestMgr.check("springmvcClient38", result);
-  }
-
-  private void testParameterName() {
-    String result = schema.parameterName(3, 4);
-    TestMgr.check("springmvcClient38", result);
-  }
-}
diff --git a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestObject.java b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestObject.java
index 62737547c..e3a104398 100644
--- a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestObject.java
+++ b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestObject.java
@@ -151,7 +151,7 @@ public class TestObject {
     TestMgr.check(true, List.class.isAssignableFrom(result.getClass()));
 
     // generic
-    // TODO: Notice: This test case for HIGHWAY is not stable.
+    // This test case for HIGHWAY is not stable.
     // When proto schema contains Holder message, the result type is Map. Or the result is Holder(using json).
     Holder<String> holder = new Holder<>("v");
     result = intf.testObject(holder);
diff --git a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/ContentTypeSpringmvc.java b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/ContentTypeSpringmvc.java
index cd290cb75..14bc6e78f 100644
--- a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/ContentTypeSpringmvc.java
+++ b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/ContentTypeSpringmvc.java
@@ -48,7 +48,6 @@ public class ContentTypeSpringmvc {
     return String.format("testRequestMapping: name=[%s], request content-type=[%s]", name, request.getContentType());
   }
 
-  // TODO: 注册中心不会覆盖契约
   @RequestMapping(path = "/testProtoBuffer", method = RequestMethod.POST,
       consumes = SwaggerConst.PROTOBUF_TYPE, produces = SwaggerConst.PROTOBUF_TYPE)
   public String testProtoBuffer(@RequestBody User user, HttpServletRequest request) {
diff --git a/huawei-cloud/servicestage/src/main/java/org/apache/servicecomb/huaweicloud/servicestage/CasEnvVariablesAdapter.java b/huawei-cloud/servicestage/src/main/java/org/apache/servicecomb/huaweicloud/servicestage/CasEnvVariablesAdapter.java
index 13e08d5e1..41cfc848d 100644
--- a/huawei-cloud/servicestage/src/main/java/org/apache/servicecomb/huaweicloud/servicestage/CasEnvVariablesAdapter.java
+++ b/huawei-cloud/servicestage/src/main/java/org/apache/servicecomb/huaweicloud/servicestage/CasEnvVariablesAdapter.java
@@ -17,31 +17,26 @@
 
 package org.apache.servicecomb.huaweicloud.servicestage;
 
-//import org.apache.servicecomb.registry.api.registry.Microservice;
-//import org.apache.servicecomb.serviceregistry.adapter.EnvAdapter;
-//import org.apache.servicecomb.registry.api.registry.MicroserviceInstance;
+import java.util.Map;
 
-// TODO: set CAS properties for service center
-public class CasEnvVariablesAdapter {// implements EnvAdapter {
-//  private static final String NAME = "cas-env-variables-adapter";
-//
-//  @Override
-//  public String getEnvName() {
-//    return NAME;
-//  }
-//
-//  @Override
-//  public int getOrder() {
-//    return 0;
-//  }
-//
-//  @Override
-//  public void beforeRegisterInstance(MicroserviceInstance instance) {
-//    instance.getProperties().putAll(CasEnvConfig.INSTANCE.getNonEmptyInstanceProperties());
-//  }
-//
-//  @Override
-//  public void beforeRegisterService(Microservice microservice) {
-//    microservice.getProperties().putAll(CasEnvConfig.INSTANCE.getNonEmptyServiceProperties());
-//  }
+import org.apache.servicecomb.registry.RegistrationManager;
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class CasEnvVariablesAdapter implements InitializingBean {
+
+  private RegistrationManager registrationManager;
+
+  @Autowired
+  public void setRegistrationManager(RegistrationManager registrationManager) {
+    this.registrationManager = registrationManager;
+  }
+
+  @Override
+  public void afterPropertiesSet() throws Exception {
+    Map<String, String> extras = CasEnvConfig.INSTANCE.getNonEmptyServiceProperties();
+    extras.forEach((k, v) -> this.registrationManager.addProperty(k, v));
+    extras = CasEnvConfig.INSTANCE.getNonEmptyInstanceProperties();
+    extras.forEach((k, v) -> this.registrationManager.addProperty(k, v));
+  }
 }
diff --git a/huawei-cloud/servicestage/src/main/java/org/apache/servicecomb/huaweicloud/servicestage/ServiceStageConfiguration.java b/huawei-cloud/servicestage/src/main/java/org/apache/servicecomb/huaweicloud/servicestage/ServiceStageConfiguration.java
index b6ddcd765..543507aa2 100644
--- a/huawei-cloud/servicestage/src/main/java/org/apache/servicecomb/huaweicloud/servicestage/ServiceStageConfiguration.java
+++ b/huawei-cloud/servicestage/src/main/java/org/apache/servicecomb/huaweicloud/servicestage/ServiceStageConfiguration.java
@@ -26,4 +26,9 @@ public class ServiceStageConfiguration {
   public AKSKAuthHeaderProvider akskAuthHeaderProvider(Environment environment) {
     return new AKSKAuthHeaderProvider(environment);
   }
+
+  @Bean
+  public CasEnvVariablesAdapter casEnvVariablesAdapter() {
+    return new CasEnvVariablesAdapter();
+  }
 }
diff --git a/providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestRestTemplateWrapper.java b/providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestRestTemplateWrapper.java
index 8cb78c4cb..736c0d0df 100644
--- a/providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestRestTemplateWrapper.java
+++ b/providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestRestTemplateWrapper.java
@@ -77,8 +77,7 @@ public class TestRestTemplateWrapper {
 
   private final String param2 = uniquify("param2");
 
-  @SuppressWarnings("serial")
-  private final Map<String, String> paramsMap = new HashMap<String, String>() {
+  private final Map<String, String> paramsMap = new HashMap<>() {
     {
       put(uniquify("key1"), param1);
       put(uniquify("key2"), param2);
@@ -301,7 +300,7 @@ public class TestRestTemplateWrapper {
 
   @Test
   public void exchangeUsingParameterizedTypeWithUnderlyingRestTemplate() {
-    ParameterizedTypeReference<List<String>> typeReference = new ParameterizedTypeReference<List<String>>() {
+    ParameterizedTypeReference<List<String>> typeReference = new ParameterizedTypeReference<>() {
     };
     ResponseEntity<List<String>> actual;
 
@@ -414,7 +413,6 @@ public class TestRestTemplateWrapper {
     verify(underlying, never()).setUriTemplateHandler(uriTemplateHandler);
   }
 
-  @SuppressWarnings("unchecked")
   @Test
   public void setMessageConvertersWithUnderlying() {
     ByteArrayHttpMessageConverter messageConverter = mock(ByteArrayHttpMessageConverter.class);
@@ -440,8 +438,6 @@ public class TestRestTemplateWrapper {
     MatcherAssert.assertThat(wrapper.getRestTemplate(url), is(wrapper.defaultRestTemplate));
   }
 
-  @SuppressWarnings("deprecation")
-// TODO : upgrade to spring 5 will having warning's , we'll fix it later
   private Map<String, ?> defaultUriVariablesOf(RestTemplate wrapper1) {
     return ((DefaultUriBuilderFactory) wrapper1.getUriTemplateHandler()).getDefaultUriVariables();
   }
diff --git a/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/registry/sc/SCDiscovery.java b/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/registry/sc/SCDiscovery.java
index 8d1075cce..f3cd98bd5 100644
--- a/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/registry/sc/SCDiscovery.java
+++ b/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/registry/sc/SCDiscovery.java
@@ -132,8 +132,6 @@ public class SCDiscovery implements Discovery<SCDiscoveryInstance> {
     serviceCenterDiscovery = new ServiceCenterDiscovery(serviceCenterClient, eventBus);
     serviceCenterDiscovery.setPollInterval(configurationProperties.getPollIntervalInMillis());
 
-    // TODO: add prefetch services
-
     eventBus.register(this);
   }
 
diff --git a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/SwaggerGenerator.java b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/SwaggerGenerator.java
index 7cede372c..b11d8ffa7 100644
--- a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/SwaggerGenerator.java
+++ b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/SwaggerGenerator.java
@@ -50,10 +50,8 @@ public interface SwaggerGenerator {
   SwaggerGeneratorContext getSwaggerGeneratorContext();
 
   /**
-   * support placeholder
-   * @param basePath
+   * base path contains application server context-path, and schema base path.
    */
-  // TODO: should be set serverss
   void setBasePath(String basePath);
 
   void scanClassAnnotation();
diff --git a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxHttpDispatcher.java b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxHttpDispatcher.java
index 373d63094..cb96d8c22 100644
--- a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxHttpDispatcher.java
+++ b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxHttpDispatcher.java
@@ -22,7 +22,6 @@ import org.apache.servicecomb.foundation.common.utils.SPIOrder;
 
 import io.vertx.ext.web.Router;
 
-// TODO: use spring beans.
 public interface VertxHttpDispatcher extends SPIOrder, SPIEnabled {
   @Override
   default boolean enabled() {