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 2018/01/13 08:31:54 UTC

[incubator-servicecomb-java-chassis] branch master updated (3364df6 -> 18847ab)

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

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


    from 3364df6  SCB-193 Tried to fixed the Eclpse m2e waring
     new f3db3c9  resolve ide compile warnings
     new 4265e0c  SCB-230 change package name from io.servicecomb to org.apache.servicecomb
     new d15d9b5  SCB-230 change maven groupId from io.servicecomb to org.apache.servicecomb
     new 6039da8  SCB-230 delete unnecessary NOTICE.txt and LICENSE.txt
     new 9d4164f  SCB-230 github and mail address change to apache
     new 18847ab  remove "hiboard" keyword in edge demo

The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README.md                                          |   6 +-
 common/common-javassist/pom.xml                    |  60 +-
 .../servicecomb/common/javassist/ClassConfig.java  | 104 ---
 .../servicecomb/common/javassist/FieldConfig.java  |  80 ---
 .../common/javassist/JavassistUtils.java           | 352 ----------
 .../servicecomb/common/javassist/MethodConfig.java | 121 ----
 .../servicecomb/common/javassist/MultiWrapper.java |  24 -
 .../common/javassist/ParameterConfig.java          |  41 --
 .../common/javassist/SingleWrapper.java            |  24 -
 .../servicecomb/common/javassist/ClassConfig.java  | 104 +++
 .../servicecomb/common/javassist/FieldConfig.java  |  80 +++
 .../common/javassist/JavassistUtils.java           | 352 ++++++++++
 .../servicecomb/common/javassist/MethodConfig.java | 121 ++++
 .../servicecomb/common/javassist/MultiWrapper.java |  24 +
 .../common/javassist/ParameterConfig.java          |  41 ++
 .../common/javassist/SingleWrapper.java            |  24 +
 .../common/javassist/TestJavassistUtils.java       | 206 ------
 .../common/javassist/TestJavassistUtils.java       | 206 ++++++
 common/common-protobuf/pom.xml                     |  96 +--
 .../runtime/ProtobufCompatibleUtils.java           |   3 +-
 .../codec/protobuf/codec/AbstractCodec.java        |  40 --
 .../codec/protobuf/codec/AbstractFieldCodec.java   |  82 ---
 .../codec/protobuf/codec/ParamFieldCodec.java      |  39 --
 .../codec/protobuf/codec/ResultFieldCodec.java     |  39 --
 .../codec/protobuf/codec/StandardParamCodec.java   |  43 --
 .../codec/protobuf/codec/StandardResultCodec.java  |  41 --
 .../protobuf/definition/OperationProtobuf.java     |  66 --
 .../codec/protobuf/definition/ProtobufManager.java |  78 ---
 .../protobuf/jackson/AbstractDeserializer.java     |  67 --
 .../codec/protobuf/jackson/CseObjectReader.java    |  35 -
 .../codec/protobuf/jackson/CseObjectWriter.java    |  57 --
 .../codec/protobuf/jackson/ParamDeserializer.java  |  40 --
 .../codec/protobuf/jackson/ParamSerializer.java    |  45 --
 .../codec/protobuf/jackson/ResultDeserializer.java |  39 --
 .../codec/protobuf/jackson/ResultSerializer.java   |  41 --
 .../protobuf/jackson/StandardObjectReader.java     |  39 --
 .../protobuf/jackson/StandardObjectWriter.java     |  40 --
 .../codec/protobuf/utils/ProtobufSchemaUtils.java  | 162 -----
 .../codec/protobuf/utils/WrapClassConfig.java      |  32 -
 .../codec/protobuf/utils/WrapSchema.java           |  63 --
 .../servicecomb/codec/protobuf/utils/WrapType.java |  25 -
 .../protobuf/utils/schema/AbstractWrapSchema.java  |  25 -
 .../protobuf/utils/schema/ArgsNotWrapSchema.java   |  53 --
 .../protobuf/utils/schema/ArgsWrapSchema.java      |  53 --
 .../protobuf/utils/schema/NormalWrapSchema.java    |  57 --
 .../codec/protobuf/utils/schema/NotWrapSchema.java |  52 --
 .../protobuf/utils/schema/WrapSchemaFactory.java   |  42 --
 .../codec/protobuf/codec/AbstractCodec.java        |  40 ++
 .../codec/protobuf/codec/AbstractFieldCodec.java   |  82 +++
 .../codec/protobuf/codec/ParamFieldCodec.java      |  39 ++
 .../codec/protobuf/codec/ResultFieldCodec.java     |  39 ++
 .../codec/protobuf/codec/StandardParamCodec.java   |  43 ++
 .../codec/protobuf/codec/StandardResultCodec.java  |  41 ++
 .../protobuf/definition/OperationProtobuf.java     |  66 ++
 .../codec/protobuf/definition/ProtobufManager.java |  78 +++
 .../protobuf/jackson/AbstractDeserializer.java     |  67 ++
 .../codec/protobuf/jackson/CseObjectReader.java    |  35 +
 .../codec/protobuf/jackson/CseObjectWriter.java    |  57 ++
 .../codec/protobuf/jackson/ParamDeserializer.java  |  40 ++
 .../codec/protobuf/jackson/ParamSerializer.java    |  45 ++
 .../codec/protobuf/jackson/ResultDeserializer.java |  39 ++
 .../codec/protobuf/jackson/ResultSerializer.java   |  41 ++
 .../protobuf/jackson/StandardObjectReader.java     |  39 ++
 .../protobuf/jackson/StandardObjectWriter.java     |  40 ++
 .../codec/protobuf/utils/ProtobufSchemaUtils.java  | 160 +++++
 .../codec/protobuf/utils/WrapClassConfig.java      |  32 +
 .../codec/protobuf/utils/WrapSchema.java           |  63 ++
 .../servicecomb/codec/protobuf/utils/WrapType.java |  25 +
 .../protobuf/utils/schema/AbstractWrapSchema.java  |  26 +
 .../protobuf/utils/schema/ArgsNotWrapSchema.java   |  53 ++
 .../protobuf/utils/schema/ArgsWrapSchema.java      |  54 ++
 .../protobuf/utils/schema/NormalWrapSchema.java    |  58 ++
 .../codec/protobuf/utils/schema/NotWrapSchema.java |  52 ++
 .../protobuf/utils/schema/WrapSchemaFactory.java   |  43 ++
 .../codec/protobuf/codec/TestAbstractCodec.java    |  57 --
 .../protobuf/codec/TestAbstractFieldCodec.java     | 111 ---
 .../codec/protobuf/codec/TestParamFieldCodec.java  |  74 --
 .../codec/protobuf/codec/TestResultFieldCodec.java |  73 --
 .../protobuf/codec/TestStandardParamCodec.java     |  75 --
 .../protobuf/codec/TestStandardResultCodec.java    |  77 ---
 .../protobuf/definition/TestOperationProtobuf.java |  57 --
 .../protobuf/jackson/TestAbstractDeserializer.java | 105 ---
 .../protobuf/jackson/TestParamDeserializer.java    |  62 --
 .../protobuf/jackson/TestParamSerializer.java      | 130 ----
 .../protobuf/jackson/TestResultSerializer.java     | 130 ----
 .../protobuf/jackson/TestStandardObjectWriter.java |  77 ---
 .../protobuf/utils/TestProtobufSchemaUtils.java    | 120 ----
 .../utils/schema/TestArgsNotWrapSchema.java        |  95 ---
 .../protobuf/utils/schema/TestArgsWrapSchema.java  |  97 ---
 .../codec/protobuf/codec/TestAbstractCodec.java    |  57 ++
 .../protobuf/codec/TestAbstractFieldCodec.java     | 110 +++
 .../codec/protobuf/codec/TestParamFieldCodec.java  |  74 ++
 .../codec/protobuf/codec/TestResultFieldCodec.java |  73 ++
 .../protobuf/codec/TestStandardParamCodec.java     |  75 ++
 .../protobuf/codec/TestStandardResultCodec.java    |  77 +++
 .../protobuf/definition/TestOperationProtobuf.java |  57 ++
 .../protobuf/jackson/TestAbstractDeserializer.java | 104 +++
 .../protobuf/jackson/TestParamDeserializer.java    |  61 ++
 .../protobuf/jackson/TestParamSerializer.java      | 130 ++++
 .../protobuf/jackson/TestResultSerializer.java     | 130 ++++
 .../protobuf/jackson/TestStandardObjectWriter.java |  77 +++
 .../protobuf/utils/TestProtobufSchemaUtils.java    | 120 ++++
 .../utils/schema/TestArgsNotWrapSchema.java        |  95 +++
 .../protobuf/utils/schema/TestArgsWrapSchema.java  |  97 +++
 common/common-rest/pom.xml                         |  70 +-
 .../common/rest/AbstractRestInvocation.java        | 296 --------
 .../java/io/servicecomb/common/rest/RestConst.java |  48 --
 .../common/rest/RestEngineSchemaListener.java      |  92 ---
 .../common/rest/RestProducerInvocation.java        |  78 ---
 .../common/rest/codec/RestClientRequest.java       |  42 --
 .../servicecomb/common/rest/codec/RestCodec.java   |  74 --
 .../common/rest/codec/RestObjectMapper.java        |  44 --
 .../rest/codec/param/AbstractParamProcessor.java   |  35 -
 .../rest/codec/param/BodyProcessorCreator.java     | 138 ----
 .../rest/codec/param/CookieProcessorCreator.java   |  77 ---
 .../rest/codec/param/FormProcessorCreator.java     | 107 ---
 .../rest/codec/param/HeaderProcessorCreator.java   |  88 ---
 .../rest/codec/param/ParamValueProcessor.java      |  39 --
 .../codec/param/ParamValueProcessorCreator.java    |  26 -
 .../param/ParamValueProcessorCreatorManager.java   |  39 --
 .../rest/codec/param/PathProcessorCreator.java     |  76 --
 .../rest/codec/param/QueryProcessorCreator.java    |  70 --
 .../rest/codec/param/RestClientRequestImpl.java    | 285 --------
 .../codec/produce/AbstractProduceProcessor.java    |  24 -
 .../rest/codec/produce/ProduceJsonProcessor.java   |  45 --
 .../rest/codec/produce/ProduceProcessor.java       |  72 --
 .../codec/produce/ProduceProcessorManager.java     |  40 --
 .../codec/produce/ProduceTextPlainProcessor.java   |  62 --
 .../rest/definition/RestOperationComparator.java   |  59 --
 .../common/rest/definition/RestOperationMeta.java  | 238 -------
 .../common/rest/definition/RestParam.java          |  85 ---
 .../definition/path/AbstractUrlParamWriter.java    |  32 -
 .../common/rest/definition/path/PathRegExp.java    | 231 -------
 .../rest/definition/path/PathVarParamWriter.java   |  34 -
 .../rest/definition/path/QueryVarParamWriter.java  | 105 ---
 .../rest/definition/path/StaticUrlParamWriter.java |  32 -
 .../rest/definition/path/URLPathBuilder.java       | 120 ----
 .../rest/definition/path/UrlParamWriter.java       |  22 -
 .../common/rest/filter/HttpClientFilter.java       |  33 -
 .../common/rest/filter/HttpServerFilter.java       |  39 --
 .../common/rest/filter/tracing/TracingFilter.java  |  76 --
 .../common/rest/locator/MicroservicePaths.java     | 111 ---
 .../common/rest/locator/OperationGroup.java        |  32 -
 .../common/rest/locator/OperationLocator.java      | 119 ----
 .../common/rest/locator/ServicePathManager.java    | 157 -----
 .../common/rest/AbstractRestInvocation.java        | 296 ++++++++
 .../apache/servicecomb/common/rest/RestConst.java  |  48 ++
 .../common/rest/RestEngineSchemaListener.java      |  91 +++
 .../common/rest/RestProducerInvocation.java        |  78 +++
 .../common/rest/codec/RestClientRequest.java       |  42 ++
 .../servicecomb/common/rest/codec/RestCodec.java   |  73 ++
 .../common/rest/codec/RestObjectMapper.java        |  44 ++
 .../rest/codec/param/AbstractParamProcessor.java   |  35 +
 .../rest/codec/param/BodyProcessorCreator.java     | 138 ++++
 .../rest/codec/param/CookieProcessorCreator.java   |  78 +++
 .../rest/codec/param/FormProcessorCreator.java     | 108 +++
 .../rest/codec/param/HeaderProcessorCreator.java   |  88 +++
 .../rest/codec/param/ParamValueProcessor.java      |  39 ++
 .../codec/param/ParamValueProcessorCreator.java    |  26 +
 .../param/ParamValueProcessorCreatorManager.java   |  39 ++
 .../rest/codec/param/PathProcessorCreator.java     |  77 +++
 .../rest/codec/param/QueryProcessorCreator.java    |  71 ++
 .../rest/codec/param/RestClientRequestImpl.java    | 285 ++++++++
 .../codec/produce/AbstractProduceProcessor.java    |  24 +
 .../rest/codec/produce/ProduceJsonProcessor.java   |  45 ++
 .../rest/codec/produce/ProduceProcessor.java       |  73 ++
 .../codec/produce/ProduceProcessorManager.java     |  40 ++
 .../codec/produce/ProduceTextPlainProcessor.java   |  62 ++
 .../rest/definition/RestOperationComparator.java   |  59 ++
 .../common/rest/definition/RestOperationMeta.java  | 238 +++++++
 .../common/rest/definition/RestParam.java          |  86 +++
 .../definition/path/AbstractUrlParamWriter.java    |  32 +
 .../common/rest/definition/path/PathRegExp.java    | 231 +++++++
 .../rest/definition/path/PathVarParamWriter.java   |  34 +
 .../rest/definition/path/QueryVarParamWriter.java  | 105 +++
 .../rest/definition/path/StaticUrlParamWriter.java |  32 +
 .../rest/definition/path/URLPathBuilder.java       | 120 ++++
 .../rest/definition/path/UrlParamWriter.java       |  22 +
 .../common/rest/filter/HttpClientFilter.java       |  33 +
 .../common/rest/filter/HttpServerFilter.java       |  39 ++
 .../common/rest/filter/tracing/TracingFilter.java  |  75 ++
 .../common/rest/locator/MicroservicePaths.java     | 110 +++
 .../common/rest/locator/OperationGroup.java        |  32 +
 .../common/rest/locator/OperationLocator.java      | 118 ++++
 .../common/rest/locator/ServicePathManager.java    | 156 +++++
 ...servicecomb.common.rest.filter.HttpServerFilter |  18 -
 ...servicecomb.common.rest.filter.HttpServerFilter |  18 +
 .../common/rest/TestAbstractRestInvocation.java    | 761 ---------------------
 .../io/servicecomb/common/rest/TestDefPath.java    |  39 --
 .../common/rest/TestRestEngineSchemaListener.java  |  72 --
 .../common/rest/TestRestProducerInvocation.java    | 212 ------
 .../common/rest/codec/TestRestCodec.java           | 170 -----
 .../common/rest/codec/TestRestObjectMapper.java    |  36 -
 .../common/rest/codec/param/TestBodyProcessor.java | 235 -------
 .../rest/codec/param/TestBodyProcessorCreator.java |  64 --
 .../rest/codec/param/TestCookieProcessor.java      | 148 ----
 .../codec/param/TestCookieProcessorCreator.java    |  38 -
 .../common/rest/codec/param/TestFormProcessor.java | 196 ------
 .../rest/codec/param/TestFormProcessorCreator.java |  38 -
 .../rest/codec/param/TestHeaderProcessor.java      | 190 -----
 .../codec/param/TestHeaderProcessorCreator.java    |  38 -
 .../common/rest/codec/param/TestPathProcessor.java |  94 ---
 .../rest/codec/param/TestPathProcessorCreator.java |  39 --
 .../rest/codec/param/TestQueryProcessor.java       |  73 --
 .../codec/param/TestQueryProcessorCreator.java     |  39 --
 .../codec/param/TestRestClientRequestImpl.java     | 116 ----
 .../codec/produce/TestProduceJsonProcessor.java    |  83 ---
 .../codec/produce/TestProduceProcessorManager.java |  28 -
 .../produce/TestProduceTextPlainProcessor.java     |  83 ---
 .../common/rest/definition/TestPath.java           | 150 ----
 .../definition/TestRestOperationComparator.java    |  76 --
 .../rest/definition/TestRestOperationMeta.java     | 262 -------
 .../common/rest/definition/UnitTestRestUtils.java  |  38 -
 .../rest/filter/tracing/TracingFilterTest.java     |  80 ---
 .../common/rest/locator/TestMicroservicePaths.java | 140 ----
 .../common/rest/locator/TestOperationLocator.java  | 100 ---
 .../rest/locator/TestServicePathManager.java       | 113 ---
 .../common/rest/TestAbstractRestInvocation.java    | 761 +++++++++++++++++++++
 .../servicecomb/common/rest/TestDefPath.java       |  38 +
 .../common/rest/TestRestEngineSchemaListener.java  |  72 ++
 .../common/rest/TestRestProducerInvocation.java    | 212 ++++++
 .../common/rest/codec/TestRestCodec.java           | 170 +++++
 .../common/rest/codec/TestRestObjectMapper.java    |  37 +
 .../common/rest/codec/param/TestBodyProcessor.java | 235 +++++++
 .../rest/codec/param/TestBodyProcessorCreator.java |  64 ++
 .../rest/codec/param/TestCookieProcessor.java      | 148 ++++
 .../codec/param/TestCookieProcessorCreator.java    |  38 +
 .../common/rest/codec/param/TestFormProcessor.java | 196 ++++++
 .../rest/codec/param/TestFormProcessorCreator.java |  38 +
 .../rest/codec/param/TestHeaderProcessor.java      | 190 +++++
 .../codec/param/TestHeaderProcessorCreator.java    |  38 +
 .../common/rest/codec/param/TestPathProcessor.java |  94 +++
 .../rest/codec/param/TestPathProcessorCreator.java |  39 ++
 .../rest/codec/param/TestQueryProcessor.java       |  73 ++
 .../codec/param/TestQueryProcessorCreator.java     |  39 ++
 .../codec/param/TestRestClientRequestImpl.java     | 116 ++++
 .../codec/produce/TestProduceJsonProcessor.java    |  83 +++
 .../codec/produce/TestProduceProcessorManager.java |  28 +
 .../produce/TestProduceTextPlainProcessor.java     |  83 +++
 .../common/rest/definition/TestPath.java           | 150 ++++
 .../definition/TestRestOperationComparator.java    |  75 ++
 .../rest/definition/TestRestOperationMeta.java     | 262 +++++++
 .../common/rest/definition/UnitTestRestUtils.java  |  39 ++
 .../rest/filter/tracing/TracingFilterTest.java     |  79 +++
 .../common/rest/locator/TestMicroservicePaths.java | 139 ++++
 .../common/rest/locator/TestOperationLocator.java  |  99 +++
 .../rest/locator/TestServicePathManager.java       | 113 +++
 common/pom.xml                                     |  11 +-
 core/pom.xml                                       |  10 +-
 .../java/io/servicecomb/core/BootListener.java     |  47 --
 core/src/main/java/io/servicecomb/core/Const.java  |  47 --
 .../java/io/servicecomb/core/ConsumerProvider.java |  28 -
 .../servicecomb/core/CseApplicationListener.java   | 181 -----
 .../main/java/io/servicecomb/core/CseContext.java  | 125 ----
 .../main/java/io/servicecomb/core/Endpoint.java    |  68 --
 .../src/main/java/io/servicecomb/core/Handler.java |  29 -
 .../main/java/io/servicecomb/core/Invocation.java  | 220 ------
 .../java/io/servicecomb/core/ProducerProvider.java |  24 -
 .../main/java/io/servicecomb/core/Transport.java   |  52 --
 .../config/ConfigurationSpringInitializer.java     |  29 -
 .../servicecomb/core/definition/CommonService.java |  56 --
 .../core/definition/MicroserviceMeta.java          | 159 -----
 .../core/definition/MicroserviceMetaManager.java   |  77 ---
 .../core/definition/MicroserviceVersionMeta.java   |  47 --
 .../definition/MicroserviceVersionMetaFactory.java |  40 --
 .../servicecomb/core/definition/OperationMeta.java | 146 ----
 .../PrivateMicroserviceVersionMetaFactory.java     |  26 -
 .../io/servicecomb/core/definition/SchemaMeta.java | 156 -----
 .../servicecomb/core/definition/SchemaUtils.java   |  49 --
 .../DefaultMicroserviceClassLoaderFactory.java     |  27 -
 .../classloader/MicroserviceClassLoader.java       |  66 --
 .../MicroserviceClassLoaderFactory.java            |  22 -
 .../PrivateMicroserviceClassLoaderFactory.java     |  30 -
 .../definition/loader/DynamicSchemaLoader.java     |  81 ---
 .../core/definition/loader/SchemaListener.java     |  25 -
 .../definition/loader/SchemaListenerManager.java   |  86 ---
 .../core/definition/loader/SchemaLoader.java       | 134 ----
 .../definition/schema/AbstractSchemaFactory.java   | 114 ---
 .../definition/schema/ConsumerSchemaContext.java   |  32 -
 .../definition/schema/ConsumerSchemaFactory.java   | 160 -----
 .../definition/schema/ProducerSchemaContext.java   |  30 -
 .../definition/schema/ProducerSchemaFactory.java   | 124 ----
 .../core/definition/schema/SchemaContext.java      |  68 --
 .../core/endpoint/AbstractEndpointsCache.java      | 120 ----
 .../servicecomb/core/endpoint/EndpointsCache.java  |  35 -
 .../servicecomb/core/exception/CseException.java   |  44 --
 .../servicecomb/core/exception/ExceptionUtils.java |  94 ---
 .../servicecomb/core/executor/ExecutorManager.java |  78 ---
 .../core/executor/FixedThreadExecutor.java         |  74 --
 .../core/executor/ReactiveExecutor.java            |  31 -
 .../core/filter/EndpointDiscoveryFilter.java       |  50 --
 .../core/handler/AbstractHandlerManager.java       | 117 ----
 .../core/handler/ConsumerHandlerManager.java       |  40 --
 .../core/handler/HandlerConfigUtils.java           |  50 --
 .../core/handler/ProducerHandlerManager.java       |  40 --
 .../core/handler/ShutdownHookHandler.java          |  98 ---
 .../io/servicecomb/core/handler/config/Config.java |  50 --
 .../core/handler/config/HandlerConfig.java         |  51 --
 .../core/handler/impl/AbstractHandler.java         |  30 -
 .../handler/impl/ProducerOperationHandler.java     |  42 --
 .../handler/impl/SimpleLoadBalanceHandler.java     |  88 ---
 .../core/handler/impl/TransportClientHandler.java  |  45 --
 .../core/invocation/InvocationFactory.java         |  75 --
 .../core/metrics/InvocationFinishedEvent.java      |  56 --
 .../metrics/InvocationStartProcessingEvent.java    |  48 --
 .../core/metrics/InvocationStartedEvent.java       |  47 --
 .../consumer/AbstractConsumerProvider.java         |  32 -
 .../provider/consumer/ConsumerProviderManager.java |  99 ---
 .../core/provider/consumer/InvokerUtils.java       | 115 ----
 .../consumer/ReactiveResponseExecutor.java         |  30 -
 .../core/provider/consumer/ReferenceConfig.java    |  66 --
 .../provider/consumer/ReferenceConfigUtils.java    |  54 --
 .../provider/consumer/SyncResponseExecutor.java    |  72 --
 .../producer/AbstractProducerProvider.java         |  23 -
 .../core/provider/producer/ProducerMeta.java       |  60 --
 .../provider/producer/ProducerProviderManager.java |  56 --
 .../core/tracing/BraveTraceIdGenerator.java        |  32 -
 .../servicecomb/core/tracing/TraceIdGenerator.java |  22 -
 .../core/transport/AbstractTransport.java          | 162 -----
 .../core/transport/TransportManager.java           | 118 ----
 .../io/servicecomb/core/unittest/UnitTestMeta.java | 137 ----
 .../org/apache/servicecomb/core/BootListener.java  |  47 ++
 .../java/org/apache/servicecomb/core/Const.java    |  47 ++
 .../apache/servicecomb/core/ConsumerProvider.java  |  28 +
 .../servicecomb/core/CseApplicationListener.java   | 180 +++++
 .../org/apache/servicecomb/core/CseContext.java    | 125 ++++
 .../java/org/apache/servicecomb/core/Endpoint.java |  68 ++
 .../java/org/apache/servicecomb/core/Handler.java  |  30 +
 .../org/apache/servicecomb/core/Invocation.java    | 220 ++++++
 .../apache/servicecomb/core/ProducerProvider.java  |  24 +
 .../org/apache/servicecomb/core/Transport.java     |  52 ++
 .../config/ConfigurationSpringInitializer.java     |  29 +
 .../servicecomb/core/definition/CommonService.java |  56 ++
 .../core/definition/MicroserviceMeta.java          | 159 +++++
 .../core/definition/MicroserviceMetaManager.java   |  76 ++
 .../core/definition/MicroserviceVersionMeta.java   |  47 ++
 .../definition/MicroserviceVersionMetaFactory.java |  40 ++
 .../servicecomb/core/definition/OperationMeta.java | 147 ++++
 .../PrivateMicroserviceVersionMetaFactory.java     |  26 +
 .../servicecomb/core/definition/SchemaMeta.java    | 156 +++++
 .../servicecomb/core/definition/SchemaUtils.java   |  50 ++
 .../DefaultMicroserviceClassLoaderFactory.java     |  27 +
 .../classloader/MicroserviceClassLoader.java       |  66 ++
 .../MicroserviceClassLoaderFactory.java            |  22 +
 .../PrivateMicroserviceClassLoaderFactory.java     |  31 +
 .../definition/loader/DynamicSchemaLoader.java     |  81 +++
 .../core/definition/loader/SchemaListener.java     |  25 +
 .../definition/loader/SchemaListenerManager.java   |  85 +++
 .../core/definition/loader/SchemaLoader.java       | 134 ++++
 .../definition/schema/AbstractSchemaFactory.java   | 115 ++++
 .../definition/schema/ConsumerSchemaContext.java   |  32 +
 .../definition/schema/ConsumerSchemaFactory.java   | 162 +++++
 .../definition/schema/ProducerSchemaContext.java   |  30 +
 .../definition/schema/ProducerSchemaFactory.java   | 124 ++++
 .../core/definition/schema/SchemaContext.java      |  68 ++
 .../core/endpoint/AbstractEndpointsCache.java      | 119 ++++
 .../servicecomb/core/endpoint/EndpointsCache.java  |  35 +
 .../servicecomb/core/exception/CseException.java   |  44 ++
 .../servicecomb/core/exception/ExceptionUtils.java |  93 +++
 .../servicecomb/core/executor/ExecutorManager.java |  78 +++
 .../core/executor/FixedThreadExecutor.java         |  73 ++
 .../core/executor/ReactiveExecutor.java            |  31 +
 .../core/filter/EndpointDiscoveryFilter.java       |  50 ++
 .../core/handler/AbstractHandlerManager.java       | 116 ++++
 .../core/handler/ConsumerHandlerManager.java       |  40 ++
 .../core/handler/HandlerConfigUtils.java           |  49 ++
 .../core/handler/ProducerHandlerManager.java       |  40 ++
 .../core/handler/ShutdownHookHandler.java          |  97 +++
 .../servicecomb/core/handler/config/Config.java    |  50 ++
 .../core/handler/config/HandlerConfig.java         |  51 ++
 .../core/handler/impl/AbstractHandler.java         |  30 +
 .../handler/impl/ProducerOperationHandler.java     |  42 ++
 .../handler/impl/SimpleLoadBalanceHandler.java     |  87 +++
 .../core/handler/impl/TransportClientHandler.java  |  44 ++
 .../core/invocation/InvocationFactory.java         |  75 ++
 .../core/metrics/InvocationFinishedEvent.java      |  56 ++
 .../metrics/InvocationStartProcessingEvent.java    |  48 ++
 .../core/metrics/InvocationStartedEvent.java       |  47 ++
 .../consumer/AbstractConsumerProvider.java         |  32 +
 .../provider/consumer/ConsumerProviderManager.java |  98 +++
 .../core/provider/consumer/InvokerUtils.java       | 114 +++
 .../consumer/ReactiveResponseExecutor.java         |  30 +
 .../core/provider/consumer/ReferenceConfig.java    |  66 ++
 .../provider/consumer/ReferenceConfigUtils.java    |  54 ++
 .../provider/consumer/SyncResponseExecutor.java    |  72 ++
 .../producer/AbstractProducerProvider.java         |  23 +
 .../core/provider/producer/ProducerMeta.java       |  60 ++
 .../provider/producer/ProducerProviderManager.java |  55 ++
 .../core/tracing/BraveTraceIdGenerator.java        |  32 +
 .../servicecomb/core/tracing/TraceIdGenerator.java |  22 +
 .../core/transport/AbstractTransport.java          | 163 +++++
 .../core/transport/TransportManager.java           | 121 ++++
 .../servicecomb/core/unittest/UnitTestMeta.java    | 137 ++++
 core/src/main/resources/META-INF/LICENSE.txt       | 202 ------
 core/src/main/resources/META-INF/NOTICE.txt        |  11 -
 .../main/resources/META-INF/spring/cse.bean.xml    |  12 +-
 core/src/main/resources/config/cse.handler.xml     |   2 +-
 core/src/test/java/io/servicecomb/core/Config.java |  50 --
 .../test/java/io/servicecomb/core/TestConfig.java  | 145 ----
 .../java/io/servicecomb/core/TestConsumer.java     | 125 ----
 .../core/TestCseApplicationListener.java           | 214 ------
 .../java/io/servicecomb/core/TestDefinition.java   |  89 ---
 .../java/io/servicecomb/core/TestEndpoint.java     |  41 --
 .../java/io/servicecomb/core/TestException.java    |  59 --
 .../java/io/servicecomb/core/TestExecutors.java    |  61 --
 .../test/java/io/servicecomb/core/TestHandler.java |  33 -
 .../io/servicecomb/core/TestInvocationFactory.java |  71 --
 .../java/io/servicecomb/core/TestTransport.java    | 112 ---
 core/src/test/java/io/servicecomb/core/Utils.java  |  37 -
 .../consumer/TestReactiveResponseExecutor.java     |  39 --
 .../core/consumer/TestSyncResponseExecutor.java    |  43 --
 .../MicroServicePropertyExtendedStub.java          |  29 -
 .../core/definition/TestMicroserviceMeta.java      |  93 ---
 .../definition/TestMicroserviceMetaManager.java    |  33 -
 .../definition/TestMicroserviceVersionMeta.java    |  82 ---
 .../TestMicroserviceVersionMetaFactory.java        |  80 ---
 .../core/definition/TestOperationMeta.java         |  77 ---
 .../TestPrivateMicroserviceVersionMetaFactory.java |  33 -
 .../core/definition/TestSchemaMeta.java            |  48 --
 .../core/definition/TestSchemaUtils.java           |  29 -
 .../TestDefaultMicroserviceClassLoaderFactory.java |  30 -
 .../TestPrivateMicroserviceClassLoaderFactory.java |  40 --
 .../definition/loader/TestDynamicSchemaLoader.java | 122 ----
 .../loader/TestSchemaListenerManager.java          |  55 --
 .../schema/TestConsumerSchemaFactory.java          | 118 ----
 .../schema/TestProducerSchemaFactory.java          | 167 -----
 .../core/executor/TestExecutorManager.java         | 136 ----
 .../core/filter/TestEndpointDiscoveryFilter.java   | 107 ---
 .../core/handler/TestShutdownHookHandler.java      | 141 ----
 .../handler/impl/TestServiceProviderHandler.java   |  68 --
 .../handler/impl/TestSimpleLoadBalanceHandler.java | 127 ----
 .../handler/impl/TestTransportClientHandler.java   |  58 --
 .../java/io/servicecomb/core/provider/Person.java  |  30 -
 .../consumer/TestConsumerProviderManager.java      |  37 -
 .../core/provider/consumer/TestInvokerUtils.java   | 140 ----
 .../provider/consumer/TestReferenceConfig.java     |  64 --
 .../consumer/TestReferenceConfigUtils.java         |  56 --
 .../core/provider/producer/TestProducerMeta.java   |  44 --
 .../producer/TestProducerProviderManager.java      |  37 -
 .../core/tracing/BraveTraceIdGeneratorTest.java    |  39 --
 .../core/transport/TestAbstractTransport.java      | 137 ----
 .../core/transport/TestTransportManager.java       | 225 ------
 .../java/org/apache/servicecomb/core/Config.java   |  50 ++
 .../org/apache/servicecomb/core/TestConfig.java    | 144 ++++
 .../org/apache/servicecomb/core/TestConsumer.java  | 124 ++++
 .../core/TestCseApplicationListener.java           | 214 ++++++
 .../apache/servicecomb/core/TestDefinition.java    |  89 +++
 .../org/apache/servicecomb/core/TestEndpoint.java  |  41 ++
 .../org/apache/servicecomb/core/TestException.java |  58 ++
 .../org/apache/servicecomb/core/TestExecutors.java |  61 ++
 .../org/apache/servicecomb/core/TestHandler.java   |  32 +
 .../servicecomb/core/TestInvocationFactory.java    |  71 ++
 .../org/apache/servicecomb/core/TestTransport.java | 112 +++
 .../java/org/apache/servicecomb/core/Utils.java    |  37 +
 .../consumer/TestReactiveResponseExecutor.java     |  38 +
 .../core/consumer/TestSyncResponseExecutor.java    |  42 ++
 .../MicroServicePropertyExtendedStub.java          |  29 +
 .../core/definition/TestMicroserviceMeta.java      |  93 +++
 .../definition/TestMicroserviceMetaManager.java    |  33 +
 .../definition/TestMicroserviceVersionMeta.java    |  82 +++
 .../TestMicroserviceVersionMetaFactory.java        |  80 +++
 .../core/definition/TestOperationMeta.java         |  77 +++
 .../TestPrivateMicroserviceVersionMetaFactory.java |  33 +
 .../core/definition/TestSchemaMeta.java            |  48 ++
 .../core/definition/TestSchemaUtils.java           |  29 +
 .../TestDefaultMicroserviceClassLoaderFactory.java |  30 +
 .../TestPrivateMicroserviceClassLoaderFactory.java |  40 ++
 .../definition/loader/TestDynamicSchemaLoader.java | 121 ++++
 .../loader/TestSchemaListenerManager.java          |  54 ++
 .../schema/TestConsumerSchemaFactory.java          | 118 ++++
 .../schema/TestProducerSchemaFactory.java          | 167 +++++
 .../core/executor/TestExecutorManager.java         | 136 ++++
 .../core/filter/TestEndpointDiscoveryFilter.java   | 107 +++
 .../core/handler/TestShutdownHookHandler.java      | 141 ++++
 .../handler/impl/TestServiceProviderHandler.java   |  67 ++
 .../handler/impl/TestSimpleLoadBalanceHandler.java | 127 ++++
 .../handler/impl/TestTransportClientHandler.java   |  57 ++
 .../apache/servicecomb/core/provider/Person.java   |  30 +
 .../consumer/TestConsumerProviderManager.java      |  37 +
 .../core/provider/consumer/TestInvokerUtils.java   | 141 ++++
 .../provider/consumer/TestReferenceConfig.java     |  64 ++
 .../consumer/TestReferenceConfigUtils.java         |  57 ++
 .../core/provider/producer/TestProducerMeta.java   |  44 ++
 .../producer/TestProducerProviderManager.java      |  37 +
 .../core/tracing/BraveTraceIdGeneratorTest.java    |  39 ++
 .../core/transport/TestAbstractTransport.java      | 137 ++++
 .../core/transport/TestTransportManager.java       | 225 ++++++
 .../test/resources/META-INF/spring/cse.bean.xml    |   8 +-
 core/src/test/resources/config/cse.handler.xml     |   2 +-
 .../src/test/resources/test/test/microservice.yaml |   2 +-
 core/src/test/resources/test/test/schema.yaml      |   2 +-
 coverage-reports/pom.xml                           | 111 ++-
 demo/demo-crossapp/crossapp-client/pom.xml         | 130 ++--
 .../demo/crossapp/CrossappBootListener.java        |  35 -
 .../servicecomb/demo/crossapp/CrossappClient.java  |  55 --
 .../io/servicecomb/demo/crossapp/HelloWorld.java   |  22 -
 .../demo/crossapp/CrossappBootListener.java        |  34 +
 .../servicecomb/demo/crossapp/CrossappClient.java  |  54 ++
 .../servicecomb/demo/crossapp/HelloWorld.java      |  22 +
 .../src/main/resources/microservice.yaml           |   2 +-
 .../src/main/resources/schemas/helloworld.yaml     |   2 +-
 .../io/servicecomb/demo/crossapp/CrossAppIT.java   |  41 --
 .../servicecomb/demo/crossapp/CrossAppIT.java      |  40 ++
 demo/demo-crossapp/crossapp-server/pom.xml         | 122 ++--
 .../demo/crossapp/CrossappBootListener.java        |  35 -
 .../servicecomb/demo/crossapp/CrossappServer.java  |  29 -
 .../io/servicecomb/demo/crossapp/HelloWorld.java   |  22 -
 .../servicecomb/demo/crossapp/HelloWorldImpl.java  |  29 -
 .../demo/crossapp/CrossappBootListener.java        |  34 +
 .../servicecomb/demo/crossapp/CrossappServer.java  |  29 +
 .../servicecomb/demo/crossapp/HelloWorld.java      |  22 +
 .../servicecomb/demo/crossapp/HelloWorldImpl.java  |  29 +
 .../src/main/resources/schemas/helloworld.yaml     |   2 +-
 demo/demo-crossapp/pom.xml                         |  28 +-
 demo/demo-edge/authentication/pom.xml              |   9 +-
 .../demo/edge/authentication/AuthImpl.java         |  33 -
 .../demo/edge/authentication/AuthMain.java         |  28 -
 .../demo/edge/authentication/AuthImpl.java         |  32 +
 .../demo/edge/authentication/AuthMain.java         |  28 +
 .../src/main/resources/microservice.yaml           |   2 +-
 demo/demo-edge/business-1-1-0/pom.xml              |  50 ++
 .../demo/edge/business/BusinessMain_V1_1_0.java    |  28 +
 .../servicecomb/demo/edge/business/Impl.java       |  49 ++
 .../src/main/resources/microservice.yaml           |  29 +
 demo/demo-edge/business-1.0.0/pom.xml              |  53 ++
 .../demo/edge/business/BusinessMain_V1_0_0.java    |  28 +
 .../servicecomb/demo/edge/business/Impl.java       |  44 ++
 .../src/main/resources/microservice.yaml           |  29 +
 demo/demo-edge/business-2.0.0/pom.xml              |  53 ++
 .../demo/edge/business/BusinessMain_V2_0_0.java    |  28 +
 .../servicecomb/demo/edge/business/Impl.java       |  49 ++
 .../src/main/resources/microservice.yaml           |  29 +
 demo/demo-edge/consumer/pom.xml                    |  57 ++
 .../servicecomb/demo/edge/consumer/Consumer.java   | 154 +++++
 .../demo/edge/consumer/ConsumerMain.java           |  30 +
 .../consumer/src/main/resources/microservice.yaml  |  25 +
 demo/demo-edge/edge-service/pom.xml                |  10 +-
 .../demo/edge/service/EdgeDispatcher.java          |  57 --
 .../io/servicecomb/demo/edge/service/EdgeMain.java |  28 -
 .../demo/edge/service/handler/Auth.java            |  22 -
 .../demo/edge/service/handler/AuthHandler.java     |  56 --
 .../demo/edge/service/EdgeDispatcher.java          |  58 ++
 .../servicecomb/demo/edge/service/EdgeMain.java    |  28 +
 .../demo/edge/service/handler/Auth.java            |  22 +
 .../demo/edge/service/handler/AuthHandler.java     |  55 ++
 ...cecomb.transport.rest.vertx.VertxHttpDispatcher |  18 -
 ...cecomb.transport.rest.vertx.VertxHttpDispatcher |  18 +
 .../src/main/resources/config/cse.handler.xml      |   2 +-
 .../src/main/resources/microservice.yaml           |   2 +-
 demo/demo-edge/hiboard-business-1-1-0/pom.xml      |  50 --
 .../demo/edge/business/BusinessMain_V1_1_0.java    |  28 -
 .../io/servicecomb/demo/edge/business/Impl.java    |  50 --
 .../src/main/resources/microservice.yaml           |  29 -
 demo/demo-edge/hiboard-business-1.0.0/pom.xml      |  53 --
 .../demo/edge/business/BusinessMain_V1_0_0.java    |  28 -
 .../io/servicecomb/demo/edge/business/Impl.java    |  45 --
 .../src/main/resources/microservice.yaml           |  29 -
 demo/demo-edge/hiboard-business-2.0.0/pom.xml      |  53 --
 .../demo/edge/business/BusinessMain_V2_0_0.java    |  28 -
 .../io/servicecomb/demo/edge/business/Impl.java    |  50 --
 .../src/main/resources/microservice.yaml           |  29 -
 demo/demo-edge/hiboard-consumer/pom.xml            |  57 --
 .../servicecomb/demo/edge/consumer/Consumer.java   | 155 -----
 .../demo/edge/consumer/ConsumerMain.java           |  30 -
 .../src/main/resources/microservice.yaml           |  25 -
 demo/demo-edge/hiboard-model/pom.xml               |  34 -
 .../demo/edge/model/AppClientDataRsp.java          |  35 -
 .../demo/edge/model/ChannelRequestBase.java        | 168 -----
 .../demo/edge/model/ResultWithInstance.java        |  78 ---
 demo/demo-edge/model/pom.xml                       |  34 +
 .../demo/edge/model/AppClientDataRsp.java          |  35 +
 .../demo/edge/model/ChannelRequestBase.java        | 168 +++++
 .../demo/edge/model/ResultWithInstance.java        |  78 +++
 demo/demo-edge/pom.xml                             |  16 +-
 demo/demo-jaxrs/jaxrs-client/pom.xml               |  10 +-
 .../jaxrs/client/CodeFirstRestTemplateJaxrs.java   |  38 -
 .../client/CustomLoadbalanceExtensionsFactory.java |  58 --
 .../servicecomb/demo/jaxrs/client/JaxrsClient.java | 151 ----
 .../jaxrs/client/CodeFirstRestTemplateJaxrs.java   |  37 +
 .../client/CustomLoadbalanceExtensionsFactory.java |  58 ++
 .../servicecomb/demo/jaxrs/client/JaxrsClient.java | 150 ++++
 demo/demo-jaxrs/jaxrs-server/pom.xml               |  10 +-
 .../demo/jaxrs/server/CodeFirstJaxrs.java          | 212 ------
 .../servicecomb/demo/jaxrs/server/ComputeImpl.java | 126 ----
 .../servicecomb/demo/jaxrs/server/JaxrsServer.java |  28 -
 .../demo/jaxrs/server/CodeFirstJaxrs.java          | 213 ++++++
 .../servicecomb/demo/jaxrs/server/ComputeImpl.java | 125 ++++
 .../servicecomb/demo/jaxrs/server/JaxrsServer.java |  28 +
 demo/demo-jaxrs/pom.xml                            |   2 +-
 demo/demo-local/pom.xml                            |   8 +-
 .../java/io/servicecomb/demo/local/DemoLocal.java  |  31 -
 .../apache/servicecomb/demo/local/DemoLocal.java   |  31 +
 demo/demo-multiple/a-client/pom.xml                |  24 +-
 .../demo/multiple/a/client/AClient.java            |  34 -
 .../demo/multiple/a/client/AClientMain.java        |  34 -
 .../servicecomb/demo/multiple/a/client/AIntf.java  |  22 -
 .../demo/multiple/a/client/AClient.java            |  33 +
 .../demo/multiple/a/client/AClientMain.java        |  34 +
 .../servicecomb/demo/multiple/a/client/AIntf.java  |  22 +
 demo/demo-multiple/a-server/pom.xml                |  24 +-
 .../servicecomb/demo/multiple/a/server/AImpl.java  |  27 -
 .../demo/multiple/a/server/AServerMain.java        |  28 -
 .../servicecomb/demo/multiple/a/server/AImpl.java  |  27 +
 .../demo/multiple/a/server/AServerMain.java        |  28 +
 demo/demo-multiple/b-client/pom.xml                |  24 +-
 .../demo/multiple/b/client/BClient.java            |  34 -
 .../demo/multiple/b/client/BClientMain.java        |  34 -
 .../servicecomb/demo/multiple/b/client/BIntf.java  |  22 -
 .../demo/multiple/b/client/BClient.java            |  33 +
 .../demo/multiple/b/client/BClientMain.java        |  34 +
 .../servicecomb/demo/multiple/b/client/BIntf.java  |  22 +
 demo/demo-multiple/b-server/pom.xml                |  24 +-
 .../servicecomb/demo/multiple/b/server/BImpl.java  |  27 -
 .../demo/multiple/b/server/BServerMain.java        |  28 -
 .../servicecomb/demo/multiple/b/server/BImpl.java  |  27 +
 .../demo/multiple/b/server/BServerMain.java        |  28 +
 demo/demo-multiple/multiple-client/pom.xml         |  10 +-
 .../demo/multiple/client/MultipleClient.java       |  38 -
 .../demo/multiple/client/MultipleClient.java       |  38 +
 demo/demo-multiple/multiple-server/pom.xml         |  10 +-
 .../demo/multiple/server/MultipleServer.java       |  27 -
 .../demo/multiple/server/MultipleServer.java       |  27 +
 demo/demo-multiple/pom.xml                         |  14 +-
 demo/demo-pojo/pojo-client/pom.xml                 |  10 +-
 .../servicecomb/demo/pojo/client/BeanRpcTest.java  |  54 --
 .../demo/pojo/client/CodeFirstPojoClient.java      | 189 -----
 .../demo/pojo/client/CodeFirstPojoClientIntf.java  |  29 -
 .../servicecomb/demo/pojo/client/PojoClient.java   | 251 -------
 .../servicecomb/demo/pojo/client/BeanRpcTest.java  |  54 ++
 .../demo/pojo/client/CodeFirstPojoClient.java      | 189 +++++
 .../demo/pojo/client/CodeFirstPojoClientIntf.java  |  30 +
 .../servicecomb/demo/pojo/client/PojoClient.java   | 250 +++++++
 .../resources/META-INF/spring/pojo.client.bean.xml |  12 +-
 .../test/java/io/servicecomb/demo/pojo/PojoIT.java |  42 --
 .../org/apache/servicecomb/demo/pojo/PojoIT.java   |  41 ++
 demo/demo-pojo/pojo-server/pom.xml                 |  10 +-
 .../demo/pojo/server/CodeFirstPojo.java            | 108 ---
 .../io/servicecomb/demo/pojo/server/HelloImpl.java |  38 -
 .../servicecomb/demo/pojo/server/PojoServer.java   |  28 -
 .../demo/pojo/server/SmartCareImpl.java            |  57 --
 .../io/servicecomb/demo/pojo/server/TestImpl.java  | 108 ---
 .../demo/pojo/server/CodeFirstPojo.java            | 109 +++
 .../servicecomb/demo/pojo/server/HelloImpl.java    |  38 +
 .../servicecomb/demo/pojo/server/PojoServer.java   |  28 +
 .../demo/pojo/server/SmartCareImpl.java            |  56 ++
 .../servicecomb/demo/pojo/server/TestImpl.java     | 108 +++
 .../resources/META-INF/spring/pojo.server.bean.xml |   4 +-
 demo/demo-pojo/pojo-tests/pom.xml                  |   6 +-
 .../integration/PojoReferenceIntegrationTest.java  |  41 --
 .../demo/integration/SomePojoService.java          |  37 -
 .../demo/integration/SomePojoTestMain.java         |  41 --
 .../integration/PojoReferenceIntegrationTest.java  |  41 ++
 .../demo/integration/SomePojoService.java          |  36 +
 .../demo/integration/SomePojoTestMain.java         |  40 ++
 demo/demo-pojo/pom.xml                             |   2 +-
 demo/demo-schema/pom.xml                           |  18 +-
 .../io/servicecomb/demo/CodeFirstPojoIntf.java     |  49 --
 .../io/servicecomb/demo/CodeFirstRestTemplate.java | 274 --------
 .../main/java/io/servicecomb/demo/DemoConst.java   |  24 -
 .../java/io/servicecomb/demo/DemoSSLCustom.java    |  39 --
 .../src/main/java/io/servicecomb/demo/TestMgr.java |  81 ---
 .../java/io/servicecomb/demo/compute/Compute.java  |  41 --
 .../java/io/servicecomb/demo/compute/Person.java   |  42 --
 .../io/servicecomb/demo/controller/Controller.java |  30 -
 .../io/servicecomb/demo/controller/Person.java     |  35 -
 .../servicecomb/demo/helloworld/greeter/Hello.java |  24 -
 .../servicecomb/demo/ignore/IgnoreInterface.java   |  22 -
 .../demo/ignore/InputModelForTestIgnore.java       |  87 ---
 .../demo/ignore/OutputModelForTestIgnore.java      | 132 ----
 .../main/java/io/servicecomb/demo/server/Test.java |  38 -
 .../io/servicecomb/demo/server/TestRequest.java    |  63 --
 .../io/servicecomb/demo/server/TestResponse.java   |  35 -
 .../main/java/io/servicecomb/demo/server/User.java |  65 --
 .../io/servicecomb/demo/smartcare/Application.java |  98 ---
 .../java/io/servicecomb/demo/smartcare/Group.java  |  50 --
 .../io/servicecomb/demo/smartcare/Response.java    |  45 --
 .../io/servicecomb/demo/smartcare/SmartCare.java   |  25 -
 .../io/servicecomb/demo/tccserver/TestTcc.java     |  27 -
 .../apache/servicecomb/demo/CodeFirstPojoIntf.java |  49 ++
 .../servicecomb/demo/CodeFirstRestTemplate.java    | 274 ++++++++
 .../org/apache/servicecomb/demo/DemoConst.java     |  24 +
 .../org/apache/servicecomb/demo/DemoSSLCustom.java |  39 ++
 .../java/org/apache/servicecomb/demo/TestMgr.java  |  81 +++
 .../apache/servicecomb/demo/compute/Compute.java   |  41 ++
 .../apache/servicecomb/demo/compute/Person.java    |  42 ++
 .../servicecomb/demo/controller/Controller.java    |  30 +
 .../apache/servicecomb/demo/controller/Person.java |  35 +
 .../servicecomb/demo/helloworld/greeter/Hello.java |  24 +
 .../servicecomb/demo/ignore/IgnoreInterface.java   |  22 +
 .../demo/ignore/InputModelForTestIgnore.java       |  87 +++
 .../demo/ignore/OutputModelForTestIgnore.java      | 132 ++++
 .../org/apache/servicecomb/demo/server/Test.java   |  38 +
 .../servicecomb/demo/server/TestRequest.java       |  63 ++
 .../servicecomb/demo/server/TestResponse.java      |  35 +
 .../org/apache/servicecomb/demo/server/User.java   |  65 ++
 .../servicecomb/demo/smartcare/Application.java    |  98 +++
 .../apache/servicecomb/demo/smartcare/Group.java   |  50 ++
 .../servicecomb/demo/smartcare/Response.java       |  45 ++
 .../servicecomb/demo/smartcare/SmartCare.java      |  25 +
 .../apache/servicecomb/demo/tccserver/TestTcc.java |  27 +
 .../resources/microservices/jaxrs/compute.yaml     |   2 +-
 .../microservices/pojo/helloworld.Greeter.yaml     |   2 +-
 .../main/resources/microservices/pojo/server.yaml  |   4 +-
 .../resources/microservices/pojo/smartcare.yaml    |   4 +-
 .../resources/microservices/pojo/tcc-server.yaml   |   4 +-
 .../microservices/springmvc/controller.yaml        |   2 +-
 demo/demo-server-servlet/pom.xml                   |   4 +-
 .../src/main/webapp/WEB-INF/web.xml                |  22 +-
 demo/demo-signature/pom.xml                        |   4 +-
 .../demo/signature/ClientSignature.java            |  59 --
 .../demo/signature/ServerSignature.java            |  66 --
 .../servicecomb/demo/signature/SignatureUtils.java |  74 --
 .../demo/signature/ClientSignature.java            |  58 ++
 .../demo/signature/ServerSignature.java            |  65 ++
 .../servicecomb/demo/signature/SignatureUtils.java |  74 ++
 ...servicecomb.common.rest.filter.HttpClientFilter |  18 -
 ...servicecomb.common.rest.filter.HttpServerFilter |  18 -
 ...servicecomb.common.rest.filter.HttpClientFilter |  18 +
 ...servicecomb.common.rest.filter.HttpServerFilter |  18 +
 .../demo-spring-boot-discovery-client/pom.xml      |   8 +-
 .../demo/discovery/client/DiscoveryClientIT.java   |  73 --
 .../demo/discovery/client/DiscoveryClientIT.java   |  72 ++
 .../src/test/resources/META-INF/LICENSE.txt        | 202 ------
 .../src/test/resources/META-INF/NOTICE.txt         |  11 -
 .../demo-spring-boot-discovery-server/pom.xml      |  12 +-
 .../demo/discovery/server/DiscoveryServer.java     |  31 -
 .../demo/discovery/server/GreetingController.java  |  38 -
 .../demo/discovery/server/DiscoveryServer.java     |  30 +
 .../demo/discovery/server/GreetingController.java  |  37 +
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 -
 .../src/main/resources/log4j.properties            |   2 +-
 .../demo-spring-boot-zuul-proxy/pom.xml            |  10 +-
 .../demo/discovery/zuul/DiscoveryZuulProxyIT.java  |  63 --
 .../demo/discovery/zuul/DiscoveryZuulProxyIT.java  |  62 ++
 .../src/test/resources/META-INF/LICENSE.txt        | 202 ------
 .../src/test/resources/META-INF/NOTICE.txt         |  11 -
 demo/demo-spring-boot-discovery/pom.xml            |   6 +-
 .../demo-spring-boot-jaxrs-client/pom.xml          |   6 +-
 .../springboot/jaxrs/client/JaxrsClient.java       |  38 -
 .../springboot/jaxrs/client/JaxrsClient.java       |  37 +
 .../springboot/jaxrs/SpringBootJaxrsIT.java        |  42 --
 .../springboot/jaxrs/SpringBootJaxrsIT.java        |  41 ++
 .../demo-spring-boot-jaxrs-server/pom.xml          |   8 +-
 .../springboot/jaxrs/server/JaxrsServer.java       |  33 -
 .../springboot/jaxrs/server/JaxrsServer.java       |  32 +
 .../demo-spring-boot-springmvc-client/pom.xml      |   6 +-
 .../springmvc/client/SpringmvcClient.java          |  44 --
 .../springmvc/client/SpringmvcClient.java          |  43 ++
 .../demo-spring-boot-springmvc-server/pom.xml      |   6 +-
 .../springmvc/server/SpringmvcServer.java          |  34 -
 .../springmvc/server/SpringmvcServer.java          |  33 +
 demo/demo-spring-boot-provider/pom.xml             |   4 +-
 .../demo-spring-boot-pojo-client/pom.xml           |   8 +-
 .../main/java/io/servicecomb/demo/DemoConst.java   |  24 -
 .../src/main/java/io/servicecomb/demo/TestMgr.java |  65 --
 .../demo/pojo/client/PojoClientTest.java           | 150 ----
 .../main/java/io/servicecomb/demo/server/Test.java |  34 -
 .../io/servicecomb/demo/server/TestRequest.java    |  63 --
 .../io/servicecomb/demo/server/TestResponse.java   |  35 -
 .../main/java/io/servicecomb/demo/server/User.java |  65 --
 .../springboot/pojo/client/PojoClient.java         |  41 --
 .../org/apache/servicecomb/demo/DemoConst.java     |  24 +
 .../java/org/apache/servicecomb/demo/TestMgr.java  |  65 ++
 .../demo/pojo/client/PojoClientTest.java           | 149 ++++
 .../org/apache/servicecomb/demo/server/Test.java   |  34 +
 .../servicecomb/demo/server/TestRequest.java       |  63 ++
 .../servicecomb/demo/server/TestResponse.java      |  35 +
 .../org/apache/servicecomb/demo/server/User.java   |  65 ++
 .../springboot/pojo/client/PojoClient.java         |  40 ++
 .../resources/META-INF/spring/pojo.client.bean.xml |   4 +-
 .../springboot/pojo/client/PojoClientIT.java       |  42 --
 .../springboot/pojo/client/PojoClientIT.java       |  41 ++
 .../demo-spring-boot-pojo-server/pom.xml           |   8 +-
 .../servicecomb/demo/helloworld/greeter/Hello.java |  24 -
 .../io/servicecomb/demo/pojo/server/HelloImpl.java |  40 --
 .../io/servicecomb/demo/pojo/server/TestImpl.java  |  96 ---
 .../main/java/io/servicecomb/demo/server/Test.java |  34 -
 .../io/servicecomb/demo/server/TestRequest.java    |  63 --
 .../io/servicecomb/demo/server/TestResponse.java   |  35 -
 .../main/java/io/servicecomb/demo/server/User.java |  65 --
 .../java/io/servicecomb/handler/MyHandler.java     |  48 --
 .../springboot/pojo/server/PojoServer.java         |  34 -
 .../servicecomb/demo/helloworld/greeter/Hello.java |  24 +
 .../servicecomb/demo/pojo/server/HelloImpl.java    |  40 ++
 .../servicecomb/demo/pojo/server/TestImpl.java     |  96 +++
 .../org/apache/servicecomb/demo/server/Test.java   |  34 +
 .../servicecomb/demo/server/TestRequest.java       |  63 ++
 .../servicecomb/demo/server/TestResponse.java      |  35 +
 .../org/apache/servicecomb/demo/server/User.java   |  65 ++
 .../org/apache/servicecomb/handler/MyHandler.java  |  47 ++
 .../springboot/pojo/server/PojoServer.java         |  33 +
 .../src/main/resources/config/cse.handler.xml      |   2 +-
 .../microservices/pojo/helloworld.Greeter.yaml     |   2 +-
 .../main/resources/microservices/pojo/server.yaml  |   4 +-
 .../resources/microservices/pojo/smartcare.yaml    |   4 +-
 .../resources/microservices/pojo/tcc-server.yaml   |   4 +-
 demo/demo-spring-boot-transport/pom.xml            |   2 +-
 demo/demo-springmvc/pom.xml                        |   2 +-
 demo/demo-springmvc/springmvc-client/pom.xml       |  14 +-
 .../client/CodeFirstRestTemplateSpringmvc.java     | 226 ------
 .../springmvc/client/CodeFirstSprigmvcIntf.java    |  29 -
 .../demo/springmvc/client/MicroserviceArray.java   |  34 -
 .../springmvc/client/MockedFallbackExample.java    |  38 -
 .../springmvc/client/ServiceCenterExample.java     |  55 --
 .../demo/springmvc/client/SpringmvcClient.java     | 226 ------
 .../client/CodeFirstRestTemplateSpringmvc.java     | 225 ++++++
 .../springmvc/client/CodeFirstSprigmvcIntf.java    |  28 +
 .../demo/springmvc/client/MicroserviceArray.java   |  34 +
 .../springmvc/client/MockedFallbackExample.java    |  37 +
 .../springmvc/client/ServiceCenterExample.java     |  55 ++
 .../demo/springmvc/client/SpringmvcClient.java     | 225 ++++++
 .../META-INF/spring/springmvc.client.bean.xml      |   6 +-
 .../src/main/resources/microservice.yaml           |   4 +-
 .../io/servicecomb/demo/springmvc/SpringMvcIT.java |  42 --
 .../servicecomb/demo/springmvc/SpringMvcIT.java    |  41 ++
 demo/demo-springmvc/springmvc-server/pom.xml       |  12 +-
 .../demo/springmvc/server/CodeFirstSpringmvc.java  | 367 ----------
 .../demo/springmvc/server/ControllerImpl.java      |  72 --
 .../demo/springmvc/server/SpringmvcServer.java     |  28 -
 .../demo/springmvc/server/TemplateResponse.java    |  31 -
 .../demo/springmvc/server/CodeFirstSpringmvc.java  | 367 ++++++++++
 .../demo/springmvc/server/ControllerImpl.java      |  71 ++
 .../demo/springmvc/server/SpringmvcServer.java     |  28 +
 .../demo/springmvc/server/TemplateResponse.java    |  31 +
 .../src/main/resources/microservice.yaml           |   4 +-
 demo/docker-build-config/pom.xml                   |   2 +-
 demo/docker-run-config/pom.xml                     |   2 +-
 demo/perf/pom.xml                                  |  14 +-
 .../main/java/io/servicecomb/demo/perf/Impl.java   |  74 --
 .../main/java/io/servicecomb/demo/perf/Intf.java   |  26 -
 .../servicecomb/demo/perf/PerfConfiguration.java   | 134 ----
 .../io/servicecomb/demo/perf/PerfConsumer.java     | 102 ---
 .../java/io/servicecomb/demo/perf/PerfMain.java    |  49 --
 .../demo/perf/PerfMetricsFilePublisher.java        |  82 ---
 .../io/servicecomb/demo/perf/RedisClientUtils.java |  73 --
 .../io/servicecomb/demo/perf/RedisSession.java     |  73 --
 .../org/apache/servicecomb/demo/perf/Impl.java     |  73 ++
 .../org/apache/servicecomb/demo/perf/Intf.java     |  26 +
 .../servicecomb/demo/perf/PerfConfiguration.java   | 134 ++++
 .../apache/servicecomb/demo/perf/PerfConsumer.java | 101 +++
 .../org/apache/servicecomb/demo/perf/PerfMain.java |  49 ++
 .../demo/perf/PerfMetricsFilePublisher.java        |  81 +++
 .../servicecomb/demo/perf/RedisClientUtils.java    |  74 ++
 .../apache/servicecomb/demo/perf/RedisSession.java |  73 ++
 demo/pom.xml                                       |  32 +-
 dynamic-config/config-apollo/pom.xml               |   9 +-
 .../sources/ApolloConfigurationSourceImpl.java     | 129 ----
 .../io/servicecomb/config/client/ApolloClient.java | 169 -----
 .../io/servicecomb/config/client/ApolloConfig.java |  89 ---
 .../config/client/ConfigurationAction.java         |  24 -
 .../sources/ApolloConfigurationSourceImpl.java     | 129 ++++
 .../servicecomb/config/client/ApolloClient.java    | 170 +++++
 .../servicecomb/config/client/ApolloConfig.java    |  89 +++
 .../config/client/ConfigurationAction.java         |  24 +
 ...comb.config.spi.ConfigCenterConfigurationSource |  18 -
 ...comb.config.spi.ConfigCenterConfigurationSource |  18 +
 .../sources/ApolloConfigurationSourceImplTest.java |  80 ---
 .../config/client/ApolloClientTest.java            | 115 ----
 .../config/client/ApolloConfigTest.java            |  44 --
 .../sources/ApolloConfigurationSourceImplTest.java |  80 +++
 .../config/client/ApolloClientTest.java            | 115 ++++
 .../config/client/ApolloConfigTest.java            |  43 ++
 dynamic-config/pom.xml                             |   2 +-
 edge/edge-core/pom.xml                             |   8 +-
 .../edge/core/AbstractEdgeDispatcher.java          |  39 --
 .../edge/core/CompatiblePathVersionMapper.java     |  66 --
 .../io/servicecomb/edge/core/EdgeBootListener.java |  53 --
 .../io/servicecomb/edge/core/EdgeInvocation.java   | 125 ----
 .../core/OperationInstancesDiscoveryFilter.java    | 123 ----
 .../edge/core/AbstractEdgeDispatcher.java          |  39 ++
 .../edge/core/CompatiblePathVersionMapper.java     |  65 ++
 .../servicecomb/edge/core/EdgeBootListener.java    |  52 ++
 .../servicecomb/edge/core/EdgeInvocation.java      | 126 ++++
 .../core/OperationInstancesDiscoveryFilter.java    | 123 ++++
 ...ecomb.serviceregistry.discovery.DiscoveryFilter |  18 -
 ...ecomb.serviceregistry.discovery.DiscoveryFilter |  18 +
 .../edge-core/src/main/resources/microservice.yaml |   2 +-
 .../edge/core/TestAbstractEdgeDispatcher.java      |  79 ---
 .../edge/core/TestCompatiblePathVersionMapper.java |  88 ---
 .../edge/core/TestEdgeBootListener.java            |  78 ---
 .../servicecomb/edge/core/TestEdgeInvocation.java  | 220 ------
 .../TestOperationInstancesDiscoveryFilter.java     | 269 --------
 .../edge/core/TestAbstractEdgeDispatcher.java      |  79 +++
 .../edge/core/TestCompatiblePathVersionMapper.java |  87 +++
 .../edge/core/TestEdgeBootListener.java            |  77 +++
 .../servicecomb/edge/core/TestEdgeInvocation.java  | 220 ++++++
 .../TestOperationInstancesDiscoveryFilter.java     | 269 ++++++++
 edge/pom.xml                                       |   2 +-
 foundations/foundation-common/pom.xml              |   2 +-
 .../foundation/auth/AuthHeaderProvider.java        |  31 -
 .../servicecomb/foundation/auth/SignRequest.java   | 199 ------
 .../foundation/common/AbstractObjectManager.java   |  73 --
 .../foundation/common/CommonThread.java            |  43 --
 .../foundation/common/NamedThreadFactory.java      |  56 --
 .../foundation/common/RegisterManager.java         |  89 ---
 .../common/base/DescriptiveRunnable.java           |  23 -
 .../common/base/ServiceCombConstants.java          |  66 --
 .../foundation/common/cache/VersionedCache.java    | 135 ----
 .../common/concurrent/ConcurrentHashMapEx.java     |  58 --
 .../foundation/common/config/ConfigLoader.java     |  23 -
 .../foundation/common/config/ConfigMgr.java        | 102 ---
 .../config/PaaSPropertyPlaceholderConfigurer.java  |  45 --
 .../common/config/PaaSResourceUtils.java           | 164 -----
 .../common/config/impl/AbstractLoader.java         |  34 -
 .../foundation/common/config/impl/IdXmlLoader.java |  53 --
 .../foundation/common/config/impl/IncConfigs.java  |  88 ---
 .../config/impl/PaaSPropertiesLoaderUtils.java     |  70 --
 .../common/config/impl/PropertiesLoader.java       |  51 --
 .../foundation/common/config/impl/XmlLoader.java   |  88 ---
 .../common/config/impl/XmlLoaderUtils.java         |  87 ---
 .../servicecomb/foundation/common/event/Event.java |  22 -
 .../foundation/common/event/EventBus.java          |  49 --
 .../foundation/common/event/EventListener.java     |  28 -
 .../foundation/common/event/EventManager.java      |  49 --
 .../common/exceptions/ServiceCombException.java    |  30 -
 .../foundation/common/http/HttpStatus.java         |  55 --
 .../foundation/common/http/HttpStatusManager.java  |  57 --
 .../foundation/common/http/HttpStatusUtils.java    |  31 -
 .../servicecomb/foundation/common/net/IpPort.java  |  90 ---
 .../foundation/common/net/NetUtils.java            | 205 ------
 .../foundation/common/net/URIEndpointObject.java   |  81 ---
 .../foundation/common/part/AbstractPart.java       | 105 ---
 .../foundation/common/part/FilePart.java           |  54 --
 .../foundation/common/part/InputStreamPart.java    |  28 -
 .../foundation/common/part/ResourcePart.java       |  38 -
 .../common/spring/PaasNamespaceHandler.java        |  66 --
 .../foundation/common/utils/BeanUtils.java         |  63 --
 .../foundation/common/utils/EventUtils.java        |  38 -
 .../foundation/common/utils/FilePerm.java          | 226 ------
 .../foundation/common/utils/FortifyUtils.java      | 109 ---
 .../foundation/common/utils/JsonUtils.java         |  82 ---
 .../foundation/common/utils/Log4jUtils.java        | 127 ----
 .../foundation/common/utils/RSAKeyPairEntry.java   |  48 --
 .../foundation/common/utils/RSAUtils.java          | 114 ---
 .../foundation/common/utils/ReflectUtils.java      |  65 --
 .../common/utils/RollingFileAppenderExt.java       |  81 ---
 .../foundation/common/utils/SPIServiceUtils.java   |  90 ---
 .../foundation/token/RSAKeypair4Auth.java          |  69 --
 .../foundation/auth/AuthHeaderProvider.java        |  31 +
 .../servicecomb/foundation/auth/SignRequest.java   | 199 ++++++
 .../foundation/common/AbstractObjectManager.java   |  73 ++
 .../foundation/common/CommonThread.java            |  43 ++
 .../foundation/common/NamedThreadFactory.java      |  56 ++
 .../foundation/common/RegisterManager.java         |  89 +++
 .../common/base/DescriptiveRunnable.java           |  23 +
 .../common/base/ServiceCombConstants.java          |  66 ++
 .../foundation/common/cache/VersionedCache.java    | 135 ++++
 .../common/concurrent/ConcurrentHashMapEx.java     |  58 ++
 .../foundation/common/config/ConfigLoader.java     |  23 +
 .../foundation/common/config/ConfigMgr.java        | 101 +++
 .../config/PaaSPropertyPlaceholderConfigurer.java  |  45 ++
 .../common/config/PaaSResourceUtils.java           | 163 +++++
 .../common/config/impl/AbstractLoader.java         |  34 +
 .../foundation/common/config/impl/IdXmlLoader.java |  53 ++
 .../foundation/common/config/impl/IncConfigs.java  |  88 +++
 .../config/impl/PaaSPropertiesLoaderUtils.java     |  69 ++
 .../common/config/impl/PropertiesLoader.java       |  50 ++
 .../foundation/common/config/impl/XmlLoader.java   |  87 +++
 .../common/config/impl/XmlLoaderUtils.java         |  86 +++
 .../servicecomb/foundation/common/event/Event.java |  22 +
 .../foundation/common/event/EventBus.java          |  49 ++
 .../foundation/common/event/EventListener.java     |  28 +
 .../foundation/common/event/EventManager.java      |  49 ++
 .../common/exceptions/ServiceCombException.java    |  30 +
 .../foundation/common/http/HttpStatus.java         |  55 ++
 .../foundation/common/http/HttpStatusManager.java  |  57 ++
 .../foundation/common/http/HttpStatusUtils.java    |  31 +
 .../servicecomb/foundation/common/net/IpPort.java  |  90 +++
 .../foundation/common/net/NetUtils.java            | 205 ++++++
 .../foundation/common/net/URIEndpointObject.java   |  81 +++
 .../foundation/common/part/AbstractPart.java       | 105 +++
 .../foundation/common/part/FilePart.java           |  54 ++
 .../foundation/common/part/InputStreamPart.java    |  28 +
 .../foundation/common/part/ResourcePart.java       |  38 +
 .../common/spring/PaasNamespaceHandler.java        |  65 ++
 .../foundation/common/utils/BeanUtils.java         |  63 ++
 .../foundation/common/utils/EventUtils.java        |  38 +
 .../foundation/common/utils/FilePerm.java          | 226 ++++++
 .../foundation/common/utils/FortifyUtils.java      | 109 +++
 .../foundation/common/utils/JsonUtils.java         |  82 +++
 .../foundation/common/utils/Log4jUtils.java        | 126 ++++
 .../foundation/common/utils/RSAKeyPairEntry.java   |  48 ++
 .../foundation/common/utils/RSAUtils.java          | 113 +++
 .../foundation/common/utils/ReflectUtils.java      |  65 ++
 .../common/utils/RollingFileAppenderExt.java       |  81 +++
 .../foundation/common/utils/SPIServiceUtils.java   |  93 +++
 .../foundation/token/RSAKeypair4Auth.java          |  69 ++
 .../main/resources/config/base/log4j.properties    |   2 +-
 .../common/cache/TestVersionedCache.java           | 128 ----
 .../foundation/common/config/BeanProp.java         |  35 -
 .../foundation/common/config/TestConfig.java       | 188 -----
 .../foundation/common/event/TestEventBus.java      |  64 --
 .../foundation/common/event/TestEventManager.java  |  51 --
 .../foundation/common/http/TestHttpStatus.java     |  57 --
 .../common/http/TestHttpStatusUtils.java           |  55 --
 .../foundation/common/net/TestIpPort.java          |  38 -
 .../foundation/common/net/TestNetUtils.java        | 106 ---
 .../common/net/TestURIEndpointObject.java          |  69 --
 .../foundation/common/part/TestAbstractPart.java   | 138 ----
 .../foundation/common/part/TestFilePart.java       |  76 --
 .../common/part/TestInputStreamPart.java           |  49 --
 .../foundation/common/part/TestResourcePart.java   |  50 --
 .../common/spring/TestPaasNamespaceHandler.java    |  49 --
 .../foundation/common/utils/SPIServiceDef.java     |  22 -
 .../foundation/common/utils/SPIServiceDef0.java    |  22 -
 .../foundation/common/utils/SPIServiceDefImpl.java |  22 -
 .../foundation/common/utils/TestBeanUtils.java     |  48 --
 .../foundation/common/utils/TestFortifyUtils.java  |  79 ---
 .../foundation/common/utils/TestRSAUtil.java       |  56 --
 .../common/utils/TestRollingFileAppenderExt.java   |  61 --
 .../common/utils/TestSPIServiceUtils.java          |  73 --
 .../common/cache/TestVersionedCache.java           | 128 ++++
 .../foundation/common/config/BeanProp.java         |  35 +
 .../foundation/common/config/TestConfig.java       | 187 +++++
 .../foundation/common/event/TestEventBus.java      |  63 ++
 .../foundation/common/event/TestEventManager.java  |  51 ++
 .../foundation/common/http/TestHttpStatus.java     |  57 ++
 .../common/http/TestHttpStatusUtils.java           |  55 ++
 .../foundation/common/net/TestIpPort.java          |  38 +
 .../foundation/common/net/TestNetUtils.java        | 106 +++
 .../common/net/TestURIEndpointObject.java          |  69 ++
 .../foundation/common/part/TestAbstractPart.java   | 138 ++++
 .../foundation/common/part/TestFilePart.java       |  76 ++
 .../common/part/TestInputStreamPart.java           |  49 ++
 .../foundation/common/part/TestResourcePart.java   |  50 ++
 .../common/spring/TestPaasNamespaceHandler.java    |  49 ++
 .../foundation/common/utils/SPIServiceDef.java     |  22 +
 .../foundation/common/utils/SPIServiceDef0.java    |  22 +
 .../foundation/common/utils/SPIServiceDefImpl.java |  22 +
 .../foundation/common/utils/TestBeanUtils.java     |  48 ++
 .../foundation/common/utils/TestFortifyUtils.java  |  79 +++
 .../foundation/common/utils/TestRSAUtil.java       |  56 ++
 .../common/utils/TestRollingFileAppenderExt.java   |  61 ++
 .../common/utils/TestSPIServiceUtils.java          |  73 ++
 ...rvicecomb.foundation.common.utils.SPIServiceDef |  19 -
 ...rvicecomb.foundation.common.utils.SPIServiceDef |  18 +
 .../test/resources/META-INF/spring/config.bean.xml |   4 +-
 .../test/resources/config/config.test.1.inc.xml    |   2 +-
 foundations/foundation-config-cc/pom.xml           |   8 +-
 .../ConfigCenterConfigurationSourceImpl.java       | 128 ----
 .../config/client/ConfigCenterClient.java          | 360 ----------
 .../config/client/ConfigCenterConfig.java          | 154 -----
 .../servicecomb/config/client/MemberDiscovery.java |  65 --
 .../config/client/ParseConfigUtils.java            | 116 ----
 .../io/servicecomb/config/client/URIConst.java     |  58 --
 .../ConfigCenterConfigurationSourceImpl.java       | 127 ++++
 .../config/client/ConfigCenterClient.java          | 360 ++++++++++
 .../config/client/ConfigCenterConfig.java          | 154 +++++
 .../servicecomb/config/client/MemberDiscovery.java |  65 ++
 .../config/client/ParseConfigUtils.java            | 115 ++++
 .../apache/servicecomb/config/client/URIConst.java |  58 ++
 ...comb.config.spi.ConfigCenterConfigurationSource |  18 -
 ...comb.config.spi.ConfigCenterConfigurationSource |  18 +
 .../TestConfigCenterConfigurationSource.java       |  94 ---
 .../config/client/TestConfigCenterClient.java      | 167 -----
 .../config/client/TestConfigCenterConfig.java      |  40 --
 .../config/client/TestMemberDiscovery.java         |  56 --
 .../config/client/TestParseConfigUtils.java        |  83 ---
 .../io/servicecomb/config/client/TestURIConst.java |  38 -
 .../TestConfigCenterConfigurationSource.java       |  94 +++
 .../config/client/TestConfigCenterClient.java      | 171 +++++
 .../config/client/TestConfigCenterConfig.java      |  39 ++
 .../config/client/TestMemberDiscovery.java         |  56 ++
 .../config/client/TestParseConfigUtils.java        |  83 +++
 .../servicecomb/config/client/TestURIConst.java    |  38 +
 foundations/foundation-config/pom.xml              |   6 +-
 .../java/io/servicecomb/config/ConfigMapping.java  |  64 --
 .../java/io/servicecomb/config/ConfigUtil.java     | 238 -------
 .../config/ConfigurationSpringInitializer.java     |  60 --
 .../io/servicecomb/config/DynamicProperties.java   |  77 ---
 .../servicecomb/config/DynamicPropertiesImpl.java  | 125 ----
 .../config/LastPropertyPlaceholderConfigurer.java  |  41 --
 .../main/java/io/servicecomb/config/YAMLUtil.java  |  57 --
 .../scheduler/NeverStartPollingScheduler.java      |  35 -
 .../archaius/sources/AbstractConfigLoader.java     | 141 ----
 .../config/archaius/sources/ConfigModel.java       |  53 --
 .../config/archaius/sources/ConfigSourceMaker.java |  28 -
 .../archaius/sources/MicroserviceConfigLoader.java |  79 ---
 .../sources/MicroserviceConfigurationSource.java   |  51 --
 .../config/archaius/sources/YAMLConfigLoader.java  |  37 -
 .../spi/ConfigCenterConfigurationSource.java       |  26 -
 .../apache/servicecomb/config/ConfigMapping.java   |  64 ++
 .../org/apache/servicecomb/config/ConfigUtil.java  | 237 +++++++
 .../config/ConfigurationSpringInitializer.java     |  60 ++
 .../servicecomb/config/DynamicProperties.java      |  77 +++
 .../servicecomb/config/DynamicPropertiesImpl.java  | 125 ++++
 .../config/LastPropertyPlaceholderConfigurer.java  |  41 ++
 .../org/apache/servicecomb/config/YAMLUtil.java    |  57 ++
 .../scheduler/NeverStartPollingScheduler.java      |  35 +
 .../archaius/sources/AbstractConfigLoader.java     | 141 ++++
 .../config/archaius/sources/ConfigModel.java       |  53 ++
 .../config/archaius/sources/ConfigSourceMaker.java |  28 +
 .../archaius/sources/MicroserviceConfigLoader.java |  78 +++
 .../sources/MicroserviceConfigurationSource.java   |  51 ++
 .../config/archaius/sources/YAMLConfigLoader.java  |  37 +
 .../spi/ConfigCenterConfigurationSource.java       |  26 +
 .../main/resources/META-INF/spring/cse.bean.xml    |   4 +-
 .../servicecomb/config/DynamicPropertiesTest.java  | 203 ------
 .../config/MapBasedConfigurationSource.java        |  96 ---
 .../io/servicecomb/config/TestConfigMapping.java   |  47 --
 .../java/io/servicecomb/config/TestConfigUtil.java | 321 ---------
 .../config/TestConfigurationSpringInitializer.java |  68 --
 .../TestLastPropertyPlaceholderConfigurer.java     |  69 --
 .../sources/TestMicroserviceConfigLoader.java      | 105 ---
 .../sources/TestYAMLConfigurationSource.java       |  97 ---
 .../servicecomb/config/DynamicPropertiesTest.java  | 203 ++++++
 .../config/MapBasedConfigurationSource.java        |  95 +++
 .../servicecomb/config/TestConfigMapping.java      |  47 ++
 .../apache/servicecomb/config/TestConfigUtil.java  | 321 +++++++++
 .../config/TestConfigurationSpringInitializer.java |  68 ++
 .../TestLastPropertyPlaceholderConfigurer.java     |  69 ++
 .../sources/TestMicroserviceConfigLoader.java      | 105 +++
 .../sources/TestYAMLConfigurationSource.java       |  96 +++
 ...comb.config.spi.ConfigCenterConfigurationSource |  19 -
 ...comb.config.spi.ConfigCenterConfigurationSource |  18 +
 foundations/foundation-metrics/pom.xml             |   4 +-
 .../io/servicecomb/foundation/metrics/Metrics.java |  81 ---
 .../foundation/metrics/MetricsConfig.java          |  46 --
 .../foundation/metrics/MetricsServoRegistry.java   | 572 ----------------
 .../foundation/metrics/MetricsThread.java          |  69 --
 .../foundation/metrics/TpsAndLatencyData.java      |  51 --
 .../metrics/output/MetricsFileOutput.java          |  68 --
 .../output/servo/FileOutputMetricObserver.java     |  54 --
 .../output/servo/MetricsContentConvertor.java      |  28 -
 .../output/servo/MetricsContentFormatter.java      |  24 -
 .../output/servo/MetricsObserverInitializer.java   |  82 ---
 .../output/servo/RollingMetricsFileOutput.java     |  44 --
 .../servo/SimpleMetricsContentConvertor.java       |  70 --
 .../servo/SimpleMetricsContentFormatter.java       |  97 ---
 .../metrics/performance/MetricsDataMonitor.java    | 240 -------
 .../performance/MetricsDataMonitorUtil.java        |  57 --
 .../foundation/metrics/performance/PerfResult.java |  93 ---
 .../foundation/metrics/performance/PerfStat.java   |  37 -
 .../metrics/performance/PerfStatContext.java       |  52 --
 .../metrics/performance/PerfStatData.java          | 161 -----
 .../metrics/performance/PerfStatImpl.java          |  91 ---
 .../metrics/performance/PerfStatMonitor.java       |  91 ---
 .../metrics/performance/PerfStatMonitorMgr.java    |  83 ---
 .../metrics/performance/PerfStatSuccFail.java      |  50 --
 .../metrics/performance/QueueMetrics.java          |  98 ---
 .../metrics/performance/QueueMetricsData.java      | 215 ------
 .../servicecomb/foundation/metrics/Metrics.java    |  81 +++
 .../foundation/metrics/MetricsConfig.java          |  46 ++
 .../foundation/metrics/MetricsServoRegistry.java   | 576 ++++++++++++++++
 .../foundation/metrics/MetricsThread.java          |  68 ++
 .../foundation/metrics/TpsAndLatencyData.java      |  51 ++
 .../metrics/output/MetricsFileOutput.java          |  70 ++
 .../output/servo/FileOutputMetricObserver.java     |  56 ++
 .../output/servo/MetricsContentConvertor.java      |  28 +
 .../output/servo/MetricsContentFormatter.java      |  24 +
 .../output/servo/MetricsObserverInitializer.java   |  85 +++
 .../output/servo/RollingMetricsFileOutput.java     |  43 ++
 .../servo/SimpleMetricsContentConvertor.java       |  70 ++
 .../servo/SimpleMetricsContentFormatter.java       |  97 +++
 .../metrics/performance/MetricsDataMonitor.java    | 240 +++++++
 .../performance/MetricsDataMonitorUtil.java        |  57 ++
 .../foundation/metrics/performance/PerfResult.java |  93 +++
 .../foundation/metrics/performance/PerfStat.java   |  37 +
 .../metrics/performance/PerfStatContext.java       |  52 ++
 .../metrics/performance/PerfStatData.java          | 161 +++++
 .../metrics/performance/PerfStatImpl.java          |  91 +++
 .../metrics/performance/PerfStatMonitor.java       |  91 +++
 .../metrics/performance/PerfStatMonitorMgr.java    |  83 +++
 .../metrics/performance/PerfStatSuccFail.java      |  50 ++
 .../metrics/performance/QueueMetrics.java          |  98 +++
 .../metrics/performance/QueueMetricsData.java      | 215 ++++++
 .../resources/META-INF/spring/metrics.bean.xml     |   4 +-
 ...ileOutputMetricObserverAndContentConvertor.java | 132 ----
 .../foundation/metrics/TestMetrics.java            |  36 -
 .../metrics/TestMetricsServoRegistry.java          | 221 ------
 .../foundation/metrics/TestMetricsThread.java      |  47 --
 .../metrics/TestSimpleMetricsContentFormatter.java |  42 --
 .../performance/TestMetricsDataMonitor.java        | 132 ----
 .../performance/TestMetricsDataMonitorUtil.java    |  62 --
 .../metrics/performance/TestPerfResult.java        |  70 --
 .../metrics/performance/TestPerfStatContext.java   |  68 --
 .../metrics/performance/TestPerfStatData.java      |  83 ---
 .../metrics/performance/TestPerfStatImpl.java      |  70 --
 .../metrics/performance/TestPerfStatMonitor.java   |  56 --
 .../performance/TestPerfStatMonitorMgr.java        |  68 --
 .../metrics/performance/TestPerfStatSuccFail.java  |  48 --
 ...ileOutputMetricObserverAndContentConvertor.java | 131 ++++
 .../foundation/metrics/TestMetrics.java            |  35 +
 .../metrics/TestMetricsServoRegistry.java          | 220 ++++++
 .../foundation/metrics/TestMetricsThread.java      |  47 ++
 .../metrics/TestSimpleMetricsContentFormatter.java |  41 ++
 .../performance/TestMetricsDataMonitor.java        | 132 ++++
 .../performance/TestMetricsDataMonitorUtil.java    |  61 ++
 .../metrics/performance/TestPerfResult.java        |  70 ++
 .../metrics/performance/TestPerfStatContext.java   |  68 ++
 .../metrics/performance/TestPerfStatData.java      |  83 +++
 .../metrics/performance/TestPerfStatImpl.java      |  70 ++
 .../metrics/performance/TestPerfStatMonitor.java   |  56 ++
 .../performance/TestPerfStatMonitorMgr.java        |  68 ++
 .../metrics/performance/TestPerfStatSuccFail.java  |  48 ++
 foundations/foundation-ssl/pom.xml                 |   4 +-
 .../foundation/ssl/CertificateUtil.java            | 144 ----
 .../servicecomb/foundation/ssl/KeyStoreUtil.java   | 117 ----
 .../io/servicecomb/foundation/ssl/SSLCustom.java   |  63 --
 .../io/servicecomb/foundation/ssl/SSLManager.java  | 200 ------
 .../io/servicecomb/foundation/ssl/SSLOption.java   | 448 ------------
 .../foundation/ssl/SSLOptionFactory.java           |  43 --
 .../foundation/ssl/SSLSocketFactoryExt.java        |  93 ---
 .../foundation/ssl/TrustAllManager.java            |  61 --
 .../foundation/ssl/TrustManagerExt.java            | 280 --------
 .../foundation/ssl/CertificateUtil.java            | 144 ++++
 .../servicecomb/foundation/ssl/KeyStoreUtil.java   | 117 ++++
 .../servicecomb/foundation/ssl/SSLCustom.java      |  63 ++
 .../servicecomb/foundation/ssl/SSLManager.java     | 200 ++++++
 .../servicecomb/foundation/ssl/SSLOption.java      | 448 ++++++++++++
 .../foundation/ssl/SSLOptionFactory.java           |  43 ++
 .../foundation/ssl/SSLSocketFactoryExt.java        |  93 +++
 .../foundation/ssl/TrustAllManager.java            |  61 ++
 .../foundation/ssl/TrustManagerExt.java            | 280 ++++++++
 .../foundation/ssl/CertificateUtilTest.java        | 296 --------
 .../foundation/ssl/KeyStoreUtilTest.java           | 168 -----
 .../foundation/ssl/MyOptionFactory.java            |  33 -
 .../servicecomb/foundation/ssl/SSLManagerTest.java | 438 ------------
 .../servicecomb/foundation/ssl/SSLOptionTest.java  | 401 -----------
 .../foundation/ssl/TestSSLOptionFactory.java       |  69 --
 .../foundation/ssl/TestSSLSocketFactoryExt.java    |  56 --
 .../foundation/ssl/TestTrustAllManager.java        |  50 --
 .../foundation/ssl/TrustManagerExtTest.java        | 410 -----------
 .../foundation/ssl/CertificateUtilTest.java        | 296 ++++++++
 .../foundation/ssl/KeyStoreUtilTest.java           | 168 +++++
 .../foundation/ssl/MyOptionFactory.java            |  33 +
 .../servicecomb/foundation/ssl/SSLManagerTest.java | 438 ++++++++++++
 .../servicecomb/foundation/ssl/SSLOptionTest.java  | 401 +++++++++++
 .../foundation/ssl/TestSSLOptionFactory.java       |  69 ++
 .../foundation/ssl/TestSSLSocketFactoryExt.java    |  56 ++
 .../foundation/ssl/TestTrustAllManager.java        |  50 ++
 .../foundation/ssl/TrustManagerExtTest.java        | 410 +++++++++++
 foundations/foundation-test-scaffolding/pom.xml    |   2 +-
 .../test/scaffolding/config/ArchaiusUtils.java     |  68 --
 .../test/scaffolding/spring/SpringUtils.java       |  81 ---
 .../web/impl/HttpServerRequestWrapperForTest.java  |   2 +-
 .../test/scaffolding/config/ArchaiusUtils.java     |  68 ++
 .../test/scaffolding/spring/SpringUtils.java       |  81 +++
 foundations/foundation-vertx/pom.xml               |   8 +-
 .../foundation/vertx/AsyncResultCallback.java      |  32 -
 .../foundation/vertx/SimpleBodyHandler.java        |  52 --
 .../foundation/vertx/SimpleJsonObject.java         |  39 --
 .../foundation/vertx/VertxTLSBuilder.java          | 142 ----
 .../servicecomb/foundation/vertx/VertxUtils.java   | 205 ------
 .../foundation/vertx/client/ClientPoolFactory.java |  22 -
 .../foundation/vertx/client/ClientPoolManager.java | 119 ----
 .../foundation/vertx/client/ClientVerticle.java    |  31 -
 .../vertx/client/http/HttpClientPoolFactory.java   |  41 --
 .../vertx/client/http/HttpClientWithContext.java   |  50 --
 .../tcp/AbstractTcpClientConnectionPool.java       |  58 --
 .../vertx/client/tcp/AbstractTcpClientPackage.java |  37 -
 .../client/tcp/AbstractTcpClientPoolFactory.java   |  43 --
 .../vertx/client/tcp/NetClientWrapper.java         |  61 --
 .../vertx/client/tcp/TcpClientConfig.java          |  39 --
 .../vertx/client/tcp/TcpClientConnection.java      | 310 ---------
 .../vertx/client/tcp/TcpClientConnectionPool.java  |  30 -
 .../vertx/client/tcp/TcpClientPackage.java         |  32 -
 .../vertx/client/tcp/TcpClientPoolFactory.java     |  30 -
 .../foundation/vertx/client/tcp/TcpData.java       |  47 --
 .../foundation/vertx/client/tcp/TcpRequest.java    |  69 --
 .../vertx/client/tcp/TcpResponseCallback.java      |  24 -
 .../vertx/executor/VertxWorkerExecutor.java        |  34 -
 .../vertx/http/AbstractHttpServletRequest.java     | 393 -----------
 .../vertx/http/AbstractHttpServletResponse.java    | 219 ------
 .../foundation/vertx/http/BodyBufferSupport.java   |  31 -
 .../vertx/http/BodyBufferSupportImpl.java          |  61 --
 .../foundation/vertx/http/EmptyAsyncContext.java   |  92 ---
 .../foundation/vertx/http/FileUploadPart.java      |  66 --
 .../vertx/http/HttpServletRequestEx.java           |  30 -
 .../vertx/http/HttpServletResponseEx.java          |  25 -
 .../vertx/http/StandardHttpServletRequestEx.java   |  82 ---
 .../vertx/http/StandardHttpServletResponseEx.java  |  83 ---
 .../VertxClientRequestToHttpServletRequest.java    |  73 --
 .../VertxClientResponseToHttpServletResponse.java  |  71 --
 .../VertxServerRequestToHttpServletRequest.java    | 240 -------
 .../VertxServerResponseToHttpServletResponse.java  | 101 ---
 .../foundation/vertx/server/TcpBufferHandler.java  |  29 -
 .../foundation/vertx/server/TcpParser.java         | 134 ----
 .../foundation/vertx/server/TcpServer.java         |  79 ---
 .../vertx/server/TcpServerConnection.java          |  53 --
 .../foundation/vertx/stream/BufferInputStream.java | 130 ----
 .../vertx/stream/BufferOutputStream.java           | 126 ----
 .../vertx/stream/InputStreamToReadStream.java      | 190 -----
 .../foundation/vertx/tcp/TcpConnection.java        | 122 ----
 .../servicecomb/foundation/vertx/tcp/TcpConst.java |  24 -
 .../foundation/vertx/tcp/TcpOutputStream.java      |  47 --
 .../foundation/vertx/AsyncResultCallback.java      |  32 +
 .../foundation/vertx/SimpleBodyHandler.java        |  52 ++
 .../foundation/vertx/SimpleJsonObject.java         |  39 ++
 .../foundation/vertx/VertxTLSBuilder.java          | 143 ++++
 .../servicecomb/foundation/vertx/VertxUtils.java   | 205 ++++++
 .../foundation/vertx/client/ClientPoolFactory.java |  22 +
 .../foundation/vertx/client/ClientPoolManager.java | 120 ++++
 .../foundation/vertx/client/ClientVerticle.java    |  31 +
 .../vertx/client/http/HttpClientPoolFactory.java   |  42 ++
 .../vertx/client/http/HttpClientWithContext.java   |  50 ++
 .../tcp/AbstractTcpClientConnectionPool.java       |  59 ++
 .../vertx/client/tcp/AbstractTcpClientPackage.java |  37 +
 .../client/tcp/AbstractTcpClientPoolFactory.java   |  44 ++
 .../vertx/client/tcp/NetClientWrapper.java         |  61 ++
 .../vertx/client/tcp/TcpClientConfig.java          |  39 ++
 .../vertx/client/tcp/TcpClientConnection.java      | 310 +++++++++
 .../vertx/client/tcp/TcpClientConnectionPool.java  |  30 +
 .../vertx/client/tcp/TcpClientPackage.java         |  32 +
 .../vertx/client/tcp/TcpClientPoolFactory.java     |  30 +
 .../foundation/vertx/client/tcp/TcpData.java       |  47 ++
 .../foundation/vertx/client/tcp/TcpRequest.java    |  69 ++
 .../vertx/client/tcp/TcpResponseCallback.java      |  24 +
 .../vertx/executor/VertxWorkerExecutor.java        |  34 +
 .../vertx/http/AbstractHttpServletRequest.java     | 393 +++++++++++
 .../vertx/http/AbstractHttpServletResponse.java    | 219 ++++++
 .../foundation/vertx/http/BodyBufferSupport.java   |  31 +
 .../vertx/http/BodyBufferSupportImpl.java          |  62 ++
 .../foundation/vertx/http/EmptyAsyncContext.java   |  92 +++
 .../foundation/vertx/http/FileUploadPart.java      |  66 ++
 .../vertx/http/HttpServletRequestEx.java           |  30 +
 .../vertx/http/HttpServletResponseEx.java          |  25 +
 .../vertx/http/StandardHttpServletRequestEx.java   |  82 +++
 .../vertx/http/StandardHttpServletResponseEx.java  |  84 +++
 .../VertxClientRequestToHttpServletRequest.java    |  73 ++
 .../VertxClientResponseToHttpServletResponse.java  |  72 ++
 .../VertxServerRequestToHttpServletRequest.java    | 240 +++++++
 .../VertxServerResponseToHttpServletResponse.java  | 102 +++
 .../foundation/vertx/server/TcpBufferHandler.java  |  29 +
 .../foundation/vertx/server/TcpParser.java         | 134 ++++
 .../foundation/vertx/server/TcpServer.java         |  80 +++
 .../vertx/server/TcpServerConnection.java          |  53 ++
 .../foundation/vertx/stream/BufferInputStream.java | 130 ++++
 .../vertx/stream/BufferOutputStream.java           | 126 ++++
 .../vertx/stream/InputStreamToReadStream.java      | 190 +++++
 .../foundation/vertx/tcp/TcpConnection.java        | 122 ++++
 .../servicecomb/foundation/vertx/tcp/TcpConst.java |  24 +
 .../foundation/vertx/tcp/TcpOutputStream.java      |  47 ++
 .../main/resources/META-INF/spring/cse.bean.xml    |   2 +-
 .../foundation/vertx/TestSimpleBodyHandler.java    |  77 ---
 .../foundation/vertx/TestSimpleJsonObject.java     |  37 -
 .../servicecomb/foundation/vertx/TestStream.java   |  57 --
 .../foundation/vertx/TestVertxTLSBuilder.java      | 187 -----
 .../foundation/vertx/TestVertxUtils.java           | 121 ----
 .../vertx/client/TestClientPoolManager.java        | 195 ------
 .../vertx/client/TestClientVerticle.java           |  61 --
 .../client/http/TestHttpClientPoolFactory.java     |  52 --
 .../tcp/TestAbstractTcpClientPoolFactory.java      |  50 --
 .../vertx/client/tcp/TestNetClientWrapper.java     | 107 ---
 .../vertx/client/tcp/TestTcpClientConfig.java      |  32 -
 .../vertx/client/tcp/TestTcpClientConnection.java  | 249 -------
 .../client/tcp/TestTcpClientConnectionPool.java    |  45 --
 .../vertx/http/TestAbstractHttpServletRequest.java | 516 --------------
 .../http/TestAbstractHttpServletResponse.java      | 307 ---------
 .../vertx/http/TestBodyBufferSupportImpl.java      |  74 --
 .../foundation/vertx/http/TestFileUploadPart.java  | 139 ----
 .../http/TestStandardHttpServletRequestEx.java     |  81 ---
 .../http/TestStandardHttpServletResponseEx.java    | 117 ----
 ...TestVertxClientRequestToHttpServletRequest.java | 147 ----
 ...stVertxClientResponseToHttpServletResponse.java | 129 ----
 ...TestVertxServerRequestToHttpServletRequest.java | 430 ------------
 ...stVertxServerResponseToHttpServletResponse.java | 184 -----
 .../foundation/vertx/server/TestTcpParser.java     |  61 --
 .../foundation/vertx/server/TestTcpServer.java     |  86 ---
 .../vertx/server/TestTcpServerConnection.java      |  36 -
 .../vertx/stream/TestBufferInputStream.java        | 115 ----
 .../ext/web/impl/TestHttpServerRequestUtils.java   |   2 +-
 .../foundation/vertx/TestSimpleBodyHandler.java    |  77 +++
 .../foundation/vertx/TestSimpleJsonObject.java     |  37 +
 .../servicecomb/foundation/vertx/TestStream.java   |  57 ++
 .../foundation/vertx/TestVertxTLSBuilder.java      | 187 +++++
 .../foundation/vertx/TestVertxUtils.java           | 121 ++++
 .../vertx/client/TestClientPoolManager.java        | 195 ++++++
 .../vertx/client/TestClientVerticle.java           |  61 ++
 .../client/http/TestHttpClientPoolFactory.java     |  52 ++
 .../tcp/TestAbstractTcpClientPoolFactory.java      |  50 ++
 .../vertx/client/tcp/TestNetClientWrapper.java     | 107 +++
 .../vertx/client/tcp/TestTcpClientConfig.java      |  32 +
 .../vertx/client/tcp/TestTcpClientConnection.java  | 249 +++++++
 .../client/tcp/TestTcpClientConnectionPool.java    |  45 ++
 .../vertx/http/TestAbstractHttpServletRequest.java | 516 ++++++++++++++
 .../http/TestAbstractHttpServletResponse.java      | 307 +++++++++
 .../vertx/http/TestBodyBufferSupportImpl.java      |  74 ++
 .../foundation/vertx/http/TestFileUploadPart.java  | 139 ++++
 .../http/TestStandardHttpServletRequestEx.java     |  81 +++
 .../http/TestStandardHttpServletResponseEx.java    | 117 ++++
 ...TestVertxClientRequestToHttpServletRequest.java | 147 ++++
 ...stVertxClientResponseToHttpServletResponse.java | 129 ++++
 ...TestVertxServerRequestToHttpServletRequest.java | 430 ++++++++++++
 ...stVertxServerResponseToHttpServletResponse.java | 184 +++++
 .../foundation/vertx/server/TestTcpParser.java     |  61 ++
 .../foundation/vertx/server/TestTcpServer.java     |  86 +++
 .../vertx/server/TestTcpServerConnection.java      |  36 +
 .../vertx/stream/TestBufferInputStream.java        | 115 ++++
 foundations/pom.xml                                |   2 +-
 handlers/handler-bizkeeper/pom.xml                 |   6 +-
 .../java/io/servicecomb/bizkeeper/BeansHolder.java |  32 -
 .../io/servicecomb/bizkeeper/BizkeeperCommand.java | 100 ---
 .../bizkeeper/BizkeeperExceptionUtils.java         |  36 -
 .../io/servicecomb/bizkeeper/BizkeeperHandler.java |  97 ---
 .../bizkeeper/BizkeeperHandlerDelegate.java        |  66 --
 .../bizkeeper/BizkeeperRequestContext.java         |  40 --
 .../java/io/servicecomb/bizkeeper/CommandKey.java  |  42 --
 .../io/servicecomb/bizkeeper/Configuration.java    | 249 -------
 .../bizkeeper/ConsumerBizkeeperCommand.java        |  44 --
 .../bizkeeper/ConsumerBizkeeperHandler.java        |  50 --
 .../io/servicecomb/bizkeeper/FallbackPolicy.java   |  30 -
 .../bizkeeper/FallbackPolicyManager.java           |  62 --
 .../bizkeeper/FromCacheFallbackPolicy.java         |  54 --
 .../bizkeeper/HystrixCommandPropertiesExt.java     | 551 ---------------
 .../bizkeeper/HystrixPropertiesStrategyExt.java    |  57 --
 .../bizkeeper/ProviderBizkeeperCommand.java        |  44 --
 .../bizkeeper/ProviderBizkeeperHanlder.java        |  50 --
 .../bizkeeper/ReturnNullFallbackPolicy.java        |  38 -
 .../bizkeeper/ThrowExceptionFallbackPolicy.java    |  41 --
 .../apache/servicecomb/bizkeeper/BeansHolder.java  |  32 +
 .../servicecomb/bizkeeper/BizkeeperCommand.java    | 100 +++
 .../bizkeeper/BizkeeperExceptionUtils.java         |  36 +
 .../servicecomb/bizkeeper/BizkeeperHandler.java    |  97 +++
 .../bizkeeper/BizkeeperHandlerDelegate.java        |  67 ++
 .../bizkeeper/BizkeeperRequestContext.java         |  40 ++
 .../apache/servicecomb/bizkeeper/CommandKey.java   |  42 ++
 .../servicecomb/bizkeeper/Configuration.java       | 249 +++++++
 .../bizkeeper/ConsumerBizkeeperCommand.java        |  44 ++
 .../bizkeeper/ConsumerBizkeeperHandler.java        |  50 ++
 .../servicecomb/bizkeeper/FallbackPolicy.java      |  30 +
 .../bizkeeper/FallbackPolicyManager.java           |  62 ++
 .../bizkeeper/FromCacheFallbackPolicy.java         |  53 ++
 .../bizkeeper/HystrixCommandPropertiesExt.java     | 551 +++++++++++++++
 .../bizkeeper/HystrixPropertiesStrategyExt.java    |  57 ++
 .../bizkeeper/ProviderBizkeeperCommand.java        |  44 ++
 .../bizkeeper/ProviderBizkeeperHanlder.java        |  50 ++
 .../bizkeeper/ReturnNullFallbackPolicy.java        |  37 +
 .../bizkeeper/ThrowExceptionFallbackPolicy.java    |  40 ++
 .../main/resources/META-INF/spring/cse.bean.xml    |   2 +-
 .../src/main/resources/config/cse.handler.xml      |   4 +-
 .../bizkeeper/TestBizkeeperCommand.java            | 229 -------
 .../bizkeeper/TestBizkeeperExceptionUtils.java     |  35 -
 .../bizkeeper/TestBizkeeperHandler.java            | 209 ------
 .../bizkeeper/TestBizkeeperRequestContext.java     |  50 --
 .../io/servicecomb/bizkeeper/TestCommandKey.java   |  58 --
 .../servicecomb/bizkeeper/TestConfiguration.java   |  65 --
 .../bizkeeper/TestConsumerBizkeeperHandler.java    |  49 --
 .../bizkeeper/TestFallbackPolicyManager.java       | 103 ---
 .../TestHystrixPropertiesStrategyExt.java          |  84 ---
 .../bizkeeper/TestProviderBizkeeperHandler.java    |  49 --
 .../bizkeeper/TestBizkeeperCommand.java            | 229 +++++++
 .../bizkeeper/TestBizkeeperExceptionUtils.java     |  34 +
 .../bizkeeper/TestBizkeeperHandler.java            | 208 ++++++
 .../bizkeeper/TestBizkeeperRequestContext.java     |  50 ++
 .../servicecomb/bizkeeper/TestCommandKey.java      |  57 ++
 .../servicecomb/bizkeeper/TestConfiguration.java   |  64 ++
 .../bizkeeper/TestConsumerBizkeeperHandler.java    |  48 ++
 .../bizkeeper/TestFallbackPolicyManager.java       | 103 +++
 .../TestHystrixPropertiesStrategyExt.java          |  83 +++
 .../bizkeeper/TestProviderBizkeeperHandler.java    |  48 ++
 handlers/handler-flowcontrol-qps/pom.xml           |   4 +-
 .../src/main/java/io/servicecomb/qps/Config.java   |  67 --
 .../qps/ConsumerQpsControllerManager.java          | 158 -----
 .../qps/ConsumerQpsFlowControlHandler.java         |  54 --
 .../qps/ProviderQpsControllerManager.java          | 144 ----
 .../qps/ProviderQpsFlowControlHandler.java         |  62 --
 .../src/main/java/io/servicecomb/qps/QpsConst.java |  28 -
 .../java/io/servicecomb/qps/QpsController.java     |  73 --
 .../java/org/apache/servicecomb/qps/Config.java    |  67 ++
 .../qps/ConsumerQpsControllerManager.java          | 157 +++++
 .../qps/ConsumerQpsFlowControlHandler.java         |  54 ++
 .../qps/ProviderQpsControllerManager.java          | 143 ++++
 .../qps/ProviderQpsFlowControlHandler.java         |  62 ++
 .../java/org/apache/servicecomb/qps/QpsConst.java  |  28 +
 .../org/apache/servicecomb/qps/QpsController.java  |  73 ++
 .../src/main/resources/config/cse.handler.xml      |   4 +-
 .../test/java/io/servicecomb/qps/TestConfig.java   |  44 --
 .../qps/TestConsumerQpsControllermanager.java      |  75 --
 .../qps/TestConsumerQpsFlowControlHandler.java     | 123 ----
 .../qps/TestProviderQpsControllermanager.java      |  44 --
 .../qps/TestProviderQpsFlowControlHandler.java     | 156 -----
 .../src/test/java/io/servicecomb/qps/Utils.java    |  37 -
 .../org/apache/servicecomb/qps/TestConfig.java     |  44 ++
 .../qps/TestConsumerQpsControllermanager.java      |  75 ++
 .../qps/TestConsumerQpsFlowControlHandler.java     | 123 ++++
 .../qps/TestProviderQpsControllermanager.java      |  44 ++
 .../qps/TestProviderQpsFlowControlHandler.java     | 156 +++++
 .../java/org/apache/servicecomb/qps/Utils.java     |  37 +
 handlers/handler-loadbalance/pom.xml               |   6 +-
 .../io/servicecomb/loadbalance/BeansHolder.java    |  35 -
 .../io/servicecomb/loadbalance/Configuration.java  | 274 --------
 .../java/io/servicecomb/loadbalance/CseServer.java | 107 ---
 .../loadbalance/DefaultRetryExtensionsFactory.java |  48 --
 .../servicecomb/loadbalance/ExtensionsFactory.java |  39 --
 .../servicecomb/loadbalance/ExtensionsManager.java |  75 --
 .../io/servicecomb/loadbalance/LoadBalancer.java   | 125 ----
 .../loadbalance/LoadbalanceClientConfig.java       |  33 -
 .../loadbalance/LoadbalanceHandler.java            | 356 ----------
 .../RuleClassNameExtentionsFactory.java            |  61 --
 .../loadbalance/RuleNameExtentionsFactory.java     |  64 --
 .../loadbalance/ServerListFilterExt.java           |  45 --
 .../loadbalance/SessionStickinessRule.java         | 148 ----
 .../exception/LoadbalanceExceptionUtils.java       |  36 -
 .../filter/CseServerDiscoveryFilter.java           |  37 -
 .../filter/IsolationServerListFilter.java          | 129 ----
 .../filter/SimpleTransactionControlFilter.java     |  58 --
 .../filter/TransactionControlFilter.java           |  46 --
 .../filter/ZoneAwareServerListFilterExt.java       |  75 --
 .../servicecomb/loadbalance/BeansHolder.java       |  35 +
 .../servicecomb/loadbalance/Configuration.java     | 274 ++++++++
 .../apache/servicecomb/loadbalance/CseServer.java  | 107 +++
 .../loadbalance/DefaultRetryExtensionsFactory.java |  48 ++
 .../servicecomb/loadbalance/ExtensionsFactory.java |  39 ++
 .../servicecomb/loadbalance/ExtensionsManager.java |  75 ++
 .../servicecomb/loadbalance/LoadBalancer.java      | 125 ++++
 .../loadbalance/LoadbalanceClientConfig.java       |  33 +
 .../loadbalance/LoadbalanceHandler.java            | 356 ++++++++++
 .../RuleClassNameExtentionsFactory.java            |  61 ++
 .../loadbalance/RuleNameExtentionsFactory.java     |  67 ++
 .../loadbalance/ServerListFilterExt.java           |  45 ++
 .../loadbalance/SessionStickinessRule.java         | 148 ++++
 .../exception/LoadbalanceExceptionUtils.java       |  36 +
 .../filter/CseServerDiscoveryFilter.java           |  37 +
 .../filter/IsolationServerListFilter.java          | 128 ++++
 .../filter/SimpleTransactionControlFilter.java     |  58 ++
 .../filter/TransactionControlFilter.java           |  46 ++
 .../filter/ZoneAwareServerListFilterExt.java       |  75 ++
 .../main/resources/META-INF/spring/cse.bean.xml    |   2 +-
 .../src/main/resources/config/cse.handler.xml      |   2 +-
 .../loadbalance/MyServerListFilterExt.java         |  46 --
 .../servicecomb/loadbalance/TestConfiguration.java | 168 -----
 .../io/servicecomb/loadbalance/TestCseServer.java  |  94 ---
 .../loadbalance/TestExtensionsManager.java         | 115 ----
 .../servicecomb/loadbalance/TestLoadBalancer.java  | 150 ----
 .../loadbalance/TestLoadbalanceClientConfig.java   |  37 -
 .../loadbalance/TestLoadbalanceHandler.java        | 452 ------------
 .../loadbalance/TestSessionSticknessRule.java      | 233 -------
 .../exception/TestLoadbalanceExceptionUtils.java   |  42 --
 .../filter/TestCseServerDiscoveryFilter.java       |  81 ---
 .../filter/TestIsolationServerListFilter.java      | 166 -----
 .../filter/TestSimpleTransactionControlFilter.java |  91 ---
 .../filter/TestZoneAwareServerListFilterExt.java   | 141 ----
 .../loadbalance/MyServerListFilterExt.java         |  46 ++
 .../servicecomb/loadbalance/TestConfiguration.java | 168 +++++
 .../servicecomb/loadbalance/TestCseServer.java     |  93 +++
 .../loadbalance/TestExtensionsManager.java         | 115 ++++
 .../servicecomb/loadbalance/TestLoadBalancer.java  | 149 ++++
 .../loadbalance/TestLoadbalanceClientConfig.java   |  37 +
 .../loadbalance/TestLoadbalanceHandler.java        | 453 ++++++++++++
 .../loadbalance/TestSessionSticknessRule.java      | 233 +++++++
 .../exception/TestLoadbalanceExceptionUtils.java   |  41 ++
 .../filter/TestCseServerDiscoveryFilter.java       |  81 +++
 .../filter/TestIsolationServerListFilter.java      | 166 +++++
 .../filter/TestSimpleTransactionControlFilter.java |  90 +++
 .../filter/TestZoneAwareServerListFilterExt.java   | 141 ++++
 handlers/handler-publickey-auth/pom.xml            |   4 +-
 .../main/java/io/servicecomb/AuthHandlerBoot.java  |  52 --
 .../authentication/RSAAuthenticationToken.java     | 117 ----
 .../consumer/ConsumerAuthHandler.java              |  54 --
 .../consumer/RSAConsumerTokenManager.java          |  87 ---
 .../provider/ProviderAuthHanlder.java              |  42 --
 .../provider/RSAProviderTokenManager.java          |  92 ---
 .../org/apache/servicecomb/AuthHandlerBoot.java    |  52 ++
 .../authentication/RSAAuthenticationToken.java     | 117 ++++
 .../consumer/ConsumerAuthHandler.java              |  53 ++
 .../consumer/RSAConsumerTokenManager.java          |  86 +++
 .../provider/ProviderAuthHanlder.java              |  42 ++
 .../provider/RSAProviderTokenManager.java          |  91 +++
 .../src/main/resources/config/cse.handler.xml      |   4 +-
 .../authentication/TestAuthHandlerBoot.java        |  54 --
 .../authentication/TestConsumerAuthHandler.java    |  65 --
 .../authentication/TestProviderAuthHanlder.java    |  47 --
 .../authentication/TestRSAAuthenticationToken.java |  80 ---
 .../TestRSAProviderTokenManager.java               | 102 ---
 .../authentication/TestAuthHandlerBoot.java        |  54 ++
 .../authentication/TestConsumerAuthHandler.java    |  64 ++
 .../authentication/TestProviderAuthHanlder.java    |  46 ++
 .../authentication/TestRSAAuthenticationToken.java |  79 +++
 .../TestRSAProviderTokenManager.java               | 101 +++
 handlers/handler-tracing-zipkin/pom.xml            |   8 +-
 .../tracing/zipkin/ConsumerInvocationAdapter.java  |  58 --
 .../tracing/zipkin/ProviderInvocationAdapter.java  |  58 --
 .../tracing/zipkin/TracingConfiguration.java       | 100 ---
 .../tracing/zipkin/ZipkinConsumerDelegate.java     |  67 --
 .../zipkin/ZipkinConsumerTracingHandler.java       |  32 -
 .../tracing/zipkin/ZipkinProviderDelegate.java     |  67 --
 .../zipkin/ZipkinProviderTracingHandler.java       |  32 -
 .../tracing/zipkin/ZipkinTracingDelegate.java      |  34 -
 .../tracing/zipkin/ZipkinTracingHandler.java       |  76 --
 .../tracing/zipkin/ConsumerInvocationAdapter.java  |  59 ++
 .../tracing/zipkin/ProviderInvocationAdapter.java  |  59 ++
 .../tracing/zipkin/TracingConfiguration.java       |  99 +++
 .../tracing/zipkin/ZipkinConsumerDelegate.java     |  68 ++
 .../zipkin/ZipkinConsumerTracingHandler.java       |  33 +
 .../tracing/zipkin/ZipkinProviderDelegate.java     |  68 ++
 .../zipkin/ZipkinProviderTracingHandler.java       |  33 +
 .../tracing/zipkin/ZipkinTracingDelegate.java      |  35 +
 .../tracing/zipkin/ZipkinTracingHandler.java       |  76 ++
 .../src/main/resources/config/cse.handler.xml      |   4 +-
 .../tracing/zipkin/ZipkinTracingHandlerTest.java   | 110 ---
 .../tracing/zipkin/ZipkinTracingHandlerTest.java   | 110 +++
 handlers/pom.xml                                   |   2 +-
 integration-tests/jaxrs-tests/pom.xml              |   8 +-
 .../demo/jaxrs/tests/JaxrsIntegrationTestBase.java | 347 ----------
 .../demo/jaxrs/tests/JaxrsTestMain.java            |  29 -
 .../demo/jaxrs/tests/RawJaxrsIntegrationTest.java  |  28 -
 .../demo/jaxrs/tests/endpoints/CodeFirstJaxrs.java |  84 ---
 .../endpoints/EnglishGreetingRestEndpoint.java     |  46 --
 .../jaxrs/tests/endpoints/SchemaFirstJaxrs.java    |  57 --
 .../tests/endpoints/SchemaFirstJaxrsImpl.java      |  54 --
 .../endpoints/SomeAbstractJaxrsRestEndpoint.java   | 133 ----
 .../demo/jaxrs/tests/JaxrsIntegrationTestBase.java | 346 ++++++++++
 .../demo/jaxrs/tests/JaxrsTestMain.java            |  29 +
 .../demo/jaxrs/tests/RawJaxrsIntegrationTest.java  |  28 +
 .../demo/jaxrs/tests/endpoints/CodeFirstJaxrs.java |  85 +++
 .../endpoints/EnglishGreetingRestEndpoint.java     |  46 ++
 .../jaxrs/tests/endpoints/SchemaFirstJaxrs.java    |  57 ++
 .../tests/endpoints/SchemaFirstJaxrsImpl.java      |  54 ++
 .../endpoints/SomeAbstractJaxrsRestEndpoint.java   | 133 ++++
 .../resources/microservices/jaxrs/schemaFirst.yaml |   8 +-
 integration-tests/pojo-test/pom.xml                |   8 +-
 .../demo/pojo/test/PojoIntegrationTestBase.java    | 317 ---------
 .../io/servicecomb/demo/pojo/test/PojoService.java |  59 --
 .../servicecomb/demo/pojo/test/PojoTestMain.java   |  29 -
 .../demo/pojo/test/RawPojoIntegrationTest.java     |  29 -
 .../servicecomb/demo/pojo/test/SomePojoConfig.java |  63 --
 .../demo/pojo/test/endpoints/CodeFirstPojo.java    |  90 ---
 .../demo/pojo/test/endpoints/HelloImpl.java        |  40 --
 .../demo/pojo/test/endpoints/SmartCareImpl.java    |  60 --
 .../demo/pojo/test/endpoints/TestImpl.java         | 109 ---
 .../demo/pojo/test/PojoIntegrationTestBase.java    | 316 +++++++++
 .../servicecomb/demo/pojo/test/PojoService.java    |  58 ++
 .../servicecomb/demo/pojo/test/PojoTestMain.java   |  29 +
 .../demo/pojo/test/RawPojoIntegrationTest.java     |  29 +
 .../servicecomb/demo/pojo/test/SomePojoConfig.java |  62 ++
 .../demo/pojo/test/endpoints/CodeFirstPojo.java    |  90 +++
 .../demo/pojo/test/endpoints/HelloImpl.java        |  40 ++
 .../demo/pojo/test/endpoints/SmartCareImpl.java    |  59 ++
 .../demo/pojo/test/endpoints/TestImpl.java         | 109 +++
 integration-tests/pom.xml                          |  18 +-
 integration-tests/spring-jaxrs-tests/pom.xml       |  10 +-
 .../jaxrs/tests/JaxrsSpringIntegrationTest.java    |  28 -
 .../demo/jaxrs/tests/JaxrsSpringMain.java          |  31 -
 .../jaxrs/tests/JaxrsSpringIntegrationTest.java    |  28 +
 .../demo/jaxrs/tests/JaxrsSpringMain.java          |  30 +
 integration-tests/spring-pojo-tests/pom.xml        |   8 +-
 .../demo/pojo/test/PojoSpringIntegrationTest.java  |  33 -
 .../servicecomb/demo/pojo/test/PojoSpringMain.java |  32 -
 .../demo/pojo/test/PojoSpringIntegrationTest.java  |  33 +
 .../servicecomb/demo/pojo/test/PojoSpringMain.java |  31 +
 integration-tests/spring-springmvc-tests/pom.xml   |   8 +-
 .../tests/SpringMvcSpringIntegrationTest.java      |  42 --
 .../demo/springmvc/tests/SpringMvcSpringMain.java  |  27 -
 ...SimplifiedMappingAnnotationIntegrationTest.java |  43 --
 .../tests/SpringMvcSpringIntegrationTest.java      |  42 ++
 .../demo/springmvc/tests/SpringMvcSpringMain.java  |  26 +
 ...SimplifiedMappingAnnotationIntegrationTest.java |  43 ++
 .../spring-zuul-tracing-tests/pom.xml              |  10 +-
 .../cloud/zuul/tracing/LoggingFilterConfig.java    |  79 ---
 .../zuul/tracing/SpringCloudZuulTracingTest.java   |  81 ---
 .../cloud/zuul/tracing/TracedController.java       |  49 --
 .../spring/cloud/zuul/tracing/TracedZuulMain.java  |  34 -
 .../cloud/zuul/tracing/LoggingFilterConfig.java    |  79 +++
 .../zuul/tracing/SpringCloudZuulTracingTest.java   |  80 +++
 .../cloud/zuul/tracing/TracedController.java       |  48 ++
 .../spring/cloud/zuul/tracing/TracedZuulMain.java  |  33 +
 integration-tests/springmvc-tests/pom.xml          |   8 +-
 .../tests/RawSpringMvcIntegrationTest.java         |  42 --
 ...SimplifiedMappingAnnotationIntegrationTest.java |  43 --
 .../tests/SpringMvcIntegrationTestBase.java        | 505 --------------
 .../demo/springmvc/tests/SpringMvcTestMain.java    |  29 -
 .../tests/endpoints/CodeFirstSpringmvc.java        | 170 -----
 .../tests/endpoints/CodeFirstSpringmvcBase.java    | 146 ----
 ...eFirstSpringmvcSimplifiedMappingAnnotation.java | 174 -----
 .../springmvc/tests/endpoints/ControllerBase.java  |  50 --
 .../springmvc/tests/endpoints/ControllerImpl.java  |  67 --
 .../ControllerSimplifiedMappingAnnotationImpl.java |  68 --
 .../endpoints/EnglishGreetingRestEndpoint.java     |  46 --
 .../endpoints/EnglishGreetingRestEndpointBase.java |  29 -
 ...ingSimplifiedMappingAnnotationRestEndpoint.java |  46 --
 .../endpoints/FrenchGreetingRestEndpoint.java      |  39 --
 .../endpoints/FrenchGreetingRestEndpointBase.java  |  24 -
 ...ingSimplifiedMappingAnnotationRestEndpoint.java |  39 --
 .../tests/RawSpringMvcIntegrationTest.java         |  41 ++
 ...SimplifiedMappingAnnotationIntegrationTest.java |  42 ++
 .../tests/SpringMvcIntegrationTestBase.java        | 504 ++++++++++++++
 .../demo/springmvc/tests/SpringMvcTestMain.java    |  29 +
 .../tests/endpoints/CodeFirstSpringmvc.java        | 171 +++++
 .../tests/endpoints/CodeFirstSpringmvcBase.java    | 145 ++++
 ...eFirstSpringmvcSimplifiedMappingAnnotation.java | 175 +++++
 .../springmvc/tests/endpoints/ControllerBase.java  |  50 ++
 .../springmvc/tests/endpoints/ControllerImpl.java  |  66 ++
 .../ControllerSimplifiedMappingAnnotationImpl.java |  67 ++
 .../endpoints/EnglishGreetingRestEndpoint.java     |  45 ++
 .../endpoints/EnglishGreetingRestEndpointBase.java |  29 +
 ...ingSimplifiedMappingAnnotationRestEndpoint.java |  45 ++
 .../endpoints/FrenchGreetingRestEndpoint.java      |  38 +
 .../endpoints/FrenchGreetingRestEndpointBase.java  |  24 +
 ...ingSimplifiedMappingAnnotationRestEndpoint.java |  38 +
 integration-tests/test-common/pom.xml              |   8 +-
 .../io/servicecomb/tests/EmbeddedAppender.java     | 105 ---
 .../java/io/servicecomb/tests/Log4jConfig.java     |  39 --
 .../tests/tracing/TraceContextConfig.java          | 103 ---
 .../servicecomb/tests/tracing/TracingTestBase.java | 114 ---
 .../apache/servicecomb/tests/EmbeddedAppender.java | 105 +++
 .../org/apache/servicecomb/tests/Log4jConfig.java  |  39 ++
 .../tests/tracing/TraceContextConfig.java          | 103 +++
 .../servicecomb/tests/tracing/TracingTestBase.java | 114 +++
 integration-tests/tracing-tests/pom.xml            |  16 +-
 .../io/servicecomb/tests/tracing/SlowRepo.java     |  22 -
 .../io/servicecomb/tests/tracing/SlowRepoImpl.java |  39 --
 .../tests/tracing/SomeTracedController.java        |  53 --
 .../tests/tracing/TracedJaxrsController.java       |  57 --
 .../io/servicecomb/tests/tracing/TracedPojo.java   |  23 -
 .../tests/tracing/TracedPojoConfig.java            |  42 --
 .../servicecomb/tests/tracing/TracedPojoImpl.java  |  35 -
 .../servicecomb/tests/tracing/TracingTestMain.java |  27 -
 .../tracing/ZipkinTracingIntegrationTest.java      |  53 --
 .../apache/servicecomb/tests/tracing/SlowRepo.java |  22 +
 .../servicecomb/tests/tracing/SlowRepoImpl.java    |  38 +
 .../tests/tracing/SomeTracedController.java        |  52 ++
 .../tests/tracing/TracedJaxrsController.java       |  56 ++
 .../servicecomb/tests/tracing/TracedPojo.java      |  23 +
 .../tests/tracing/TracedPojoConfig.java            |  41 ++
 .../servicecomb/tests/tracing/TracedPojoImpl.java  |  34 +
 .../servicecomb/tests/tracing/TracingTestMain.java |  27 +
 .../tracing/ZipkinTracingIntegrationTest.java      |  57 ++
 java-chassis-dependencies/pom.xml                  |  94 +--
 java-chassis-distribution/pom.xml                  |  76 +-
 metrics/metrics-common/pom.xml                     |   2 +-
 .../io/servicecomb/metrics/common/CallMetric.java  |  61 --
 .../metrics/common/ConsumerInvocationMetric.java   |  59 --
 .../common/DefaultHealthCheckExtraData.java        |  69 --
 .../metrics/common/HealthCheckResult.java          |  56 --
 .../servicecomb/metrics/common/HealthChecker.java  |  24 -
 .../metrics/common/HealthCheckerPublisher.java     |  26 -
 .../servicecomb/metrics/common/InstanceMetric.java |  59 --
 .../metrics/common/InvocationMetric.java           |  37 -
 .../servicecomb/metrics/common/MetricsConst.java   |  28 -
 .../metrics/common/MetricsPublisher.java           |  59 --
 .../metrics/common/ProducerInvocationMetric.java   |  89 ---
 .../servicecomb/metrics/common/RegistryMetric.java |  92 ---
 .../servicecomb/metrics/common/SystemMetric.java   | 119 ----
 .../io/servicecomb/metrics/common/TimerMetric.java |  99 ---
 .../servicecomb/metrics/common/CallMetric.java     |  61 ++
 .../metrics/common/ConsumerInvocationMetric.java   |  59 ++
 .../common/DefaultHealthCheckExtraData.java        |  69 ++
 .../metrics/common/HealthCheckResult.java          |  56 ++
 .../servicecomb/metrics/common/HealthChecker.java  |  24 +
 .../metrics/common/HealthCheckerPublisher.java     |  26 +
 .../servicecomb/metrics/common/InstanceMetric.java |  59 ++
 .../metrics/common/InvocationMetric.java           |  37 +
 .../servicecomb/metrics/common/MetricsConst.java   |  28 +
 .../metrics/common/MetricsPublisher.java           |  59 ++
 .../metrics/common/ProducerInvocationMetric.java   |  89 +++
 .../servicecomb/metrics/common/RegistryMetric.java |  92 +++
 .../servicecomb/metrics/common/SystemMetric.java   | 119 ++++
 .../servicecomb/metrics/common/TimerMetric.java    |  99 +++
 metrics/metrics-core/pom.xml                       |   6 +-
 .../io/servicecomb/metrics/core/MetricsConfig.java |  22 -
 .../core/event/DefaultEventListenerManager.java    |  41 --
 .../metrics/core/event/EventListenerManager.java   |  24 -
 .../event/InvocationFinishedEventListener.java     |  53 --
 .../InvocationStartProcessingEventListener.java    |  49 --
 .../core/event/InvocationStartedEventListener.java |  53 --
 .../health/DefaultMicroserviceHealthChecker.java   |  67 --
 .../metrics/core/monitor/CallMonitor.java          |  55 --
 .../core/monitor/ConsumerInvocationMonitor.java    |  47 --
 .../metrics/core/monitor/DefaultSystemMonitor.java | 106 ---
 .../metrics/core/monitor/InvocationMonitor.java    |  37 -
 .../core/monitor/ProducerInvocationMonitor.java    |  74 --
 .../metrics/core/monitor/RegistryMonitor.java      |  66 --
 .../metrics/core/monitor/SystemMonitor.java        |  44 --
 .../metrics/core/monitor/TimerMonitor.java         |  80 ---
 .../metrics/core/publish/DataSource.java           |  62 --
 .../metrics/core/publish/DefaultDataSource.java    |  99 ---
 .../core/publish/DefaultHealthCheckerManager.java  |  67 --
 .../publish/DefaultHealthCheckerPublisher.java     |  59 --
 .../core/publish/DefaultMetricsPublisher.java      |  66 --
 .../metrics/core/publish/HealthCheckerManager.java |  31 -
 .../servicecomb/metrics/core/MetricsConfig.java    |  22 +
 .../core/event/DefaultEventListenerManager.java    |  40 ++
 .../metrics/core/event/EventListenerManager.java   |  24 +
 .../event/InvocationFinishedEventListener.java     |  53 ++
 .../InvocationStartProcessingEventListener.java    |  49 ++
 .../core/event/InvocationStartedEventListener.java |  53 ++
 .../health/DefaultMicroserviceHealthChecker.java   |  66 ++
 .../metrics/core/monitor/CallMonitor.java          |  55 ++
 .../core/monitor/ConsumerInvocationMonitor.java    |  47 ++
 .../metrics/core/monitor/DefaultSystemMonitor.java | 105 +++
 .../metrics/core/monitor/InvocationMonitor.java    |  37 +
 .../core/monitor/ProducerInvocationMonitor.java    |  74 ++
 .../metrics/core/monitor/RegistryMonitor.java      |  65 ++
 .../metrics/core/monitor/SystemMonitor.java        |  44 ++
 .../metrics/core/monitor/TimerMonitor.java         |  80 +++
 .../metrics/core/publish/DataSource.java           |  62 ++
 .../metrics/core/publish/DefaultDataSource.java    |  98 +++
 .../core/publish/DefaultHealthCheckerManager.java  |  66 ++
 .../publish/DefaultHealthCheckerPublisher.java     |  59 ++
 .../core/publish/DefaultMetricsPublisher.java      |  66 ++
 .../metrics/core/publish/HealthCheckerManager.java |  31 +
 .../metrics/core/TestEventAndRunner.java           | 266 -------
 .../metrics/core/TestHealthCheckerManager.java     |  88 ---
 .../metrics/core/TestHealthCheckerPublisher.java   |  59 --
 .../io/servicecomb/metrics/core/TestPublisher.java |  58 --
 .../metrics/core/TestEventAndRunner.java           | 309 +++++++++
 .../metrics/core/TestHealthCheckerManager.java     |  88 +++
 .../metrics/core/TestHealthCheckerPublisher.java   |  58 ++
 .../servicecomb/metrics/core/TestPublisher.java    |  57 ++
 metrics/metrics-extension/pom.xml                  |   2 +-
 .../metrics-integration/metrics-prometheus/pom.xml |   4 +-
 .../metrics/prometheus/MetricsCollector.java       |  77 ---
 .../metrics/prometheus/MetricsPublisher.java       |  71 --
 .../metrics/prometheus/MetricsCollector.java       |  79 +++
 .../metrics/prometheus/MetricsPublisher.java       |  71 ++
 metrics/metrics-integration/pom.xml                |   2 +-
 metrics/pom.xml                                    |   2 +-
 parent/pom.xml                                     |   2 +-
 pom.xml                                            |  10 +-
 providers/pom.xml                                  |   2 +-
 providers/provider-jaxrs/pom.xml                   |   8 +-
 providers/provider-pojo/pom.xml                    |   6 +-
 .../servicecomb/provider/pojo/InstanceFactory.java |  24 -
 .../java/io/servicecomb/provider/pojo/Invoker.java | 134 ----
 .../io/servicecomb/provider/pojo/PojoConfig.java   |  49 --
 .../io/servicecomb/provider/pojo/PojoConst.java    |  41 --
 .../provider/pojo/PojoConsumerProvider.java        |  32 -
 .../provider/pojo/PojoProducerProvider.java        | 105 ---
 .../io/servicecomb/provider/pojo/RpcReference.java |  34 -
 .../io/servicecomb/provider/pojo/RpcSchema.java    |  37 -
 .../pojo/instance/PojoInstanceFactory.java         |  38 -
 .../pojo/instance/SpringInstanceFactory.java       |  39 --
 .../provider/pojo/reference/PojoReferenceMeta.java |  87 ---
 .../pojo/reference/ReferenceDefParser.java         |  58 --
 .../pojo/reference/RpcReferenceProcessor.java      |  80 ---
 .../provider/pojo/schema/PojoProducerMeta.java     |  44 --
 .../provider/pojo/schema/PojoProducers.java        |  89 ---
 .../provider/pojo/schema/SchemaDefParser.java      |  49 --
 .../servicecomb/provider/pojo/InstanceFactory.java |  24 +
 .../apache/servicecomb/provider/pojo/Invoker.java  | 133 ++++
 .../servicecomb/provider/pojo/PojoConfig.java      |  49 ++
 .../servicecomb/provider/pojo/PojoConst.java       |  41 ++
 .../provider/pojo/PojoConsumerProvider.java        |  31 +
 .../provider/pojo/PojoProducerProvider.java        | 104 +++
 .../servicecomb/provider/pojo/RpcReference.java    |  34 +
 .../servicecomb/provider/pojo/RpcSchema.java       |  37 +
 .../pojo/instance/PojoInstanceFactory.java         |  38 +
 .../pojo/instance/SpringInstanceFactory.java       |  39 ++
 .../provider/pojo/reference/PojoReferenceMeta.java |  86 +++
 .../pojo/reference/ReferenceDefParser.java         |  57 ++
 .../pojo/reference/RpcReferenceProcessor.java      |  79 +++
 .../provider/pojo/schema/PojoProducerMeta.java     |  43 ++
 .../provider/pojo/schema/PojoProducers.java        |  88 +++
 .../provider/pojo/schema/SchemaDefParser.java      |  48 ++
 .../src/main/resources/META-INF/spring.handlers    |   2 +-
 .../resources/META-INF/spring/namespace.properties |   4 +-
 .../io/servicecomb/provider/common/MockUtil.java   | 195 ------
 .../java/io/servicecomb/provider/pojo/IPerson.java |  22 -
 .../java/io/servicecomb/provider/pojo/Person.java  |  31 -
 .../servicecomb/provider/pojo/PersonReference.java |  23 -
 .../io/servicecomb/provider/pojo/TestInvoker.java  | 253 -------
 .../provider/pojo/TestPojoConsumerProvider.java    |  32 -
 .../provider/pojo/TestPojoProducerProvider.java    |  84 ---
 .../pojo/instance/TestPojoInstanceFactory.java     |  47 --
 .../pojo/instance/TestSpringInstanceFactory.java   |  51 --
 .../pojo/reference/PojoReferenceMetaTest.java      |  64 --
 .../pojo/reference/TestReferenceDefParser.java     |  41 --
 .../pojo/reference/TestRpcReferenceProcessor.java  |  65 --
 .../provider/pojo/schema/TestPojoProducers.java    |  74 --
 .../provider/pojo/schema/TestPojoSchemaMeta.java   |  67 --
 .../provider/pojo/schema/TestSchemaDefParser.java  |  39 --
 .../servicecomb/provider/common/MockUtil.java      | 195 ++++++
 .../apache/servicecomb/provider/pojo/IPerson.java  |  22 +
 .../apache/servicecomb/provider/pojo/Person.java   |  31 +
 .../servicecomb/provider/pojo/PersonReference.java |  23 +
 .../servicecomb/provider/pojo/TestInvoker.java     | 254 +++++++
 .../provider/pojo/TestPojoConsumerProvider.java    |  32 +
 .../provider/pojo/TestPojoProducerProvider.java    |  84 +++
 .../pojo/instance/TestPojoInstanceFactory.java     |  46 ++
 .../pojo/instance/TestSpringInstanceFactory.java   |  50 ++
 .../pojo/reference/PojoReferenceMetaTest.java      |  63 ++
 .../pojo/reference/TestReferenceDefParser.java     |  40 ++
 .../pojo/reference/TestRpcReferenceProcessor.java  |  65 ++
 .../provider/pojo/schema/TestPojoProducers.java    |  74 ++
 .../provider/pojo/schema/TestPojoSchemaMeta.java   |  67 ++
 .../provider/pojo/schema/TestSchemaDefParser.java  |  39 ++
 providers/provider-rest-common/pom.xml             |   6 +-
 .../common/InvocationToHttpServletRequest.java     | 128 ----
 .../rest/common/ProducerHttpRequestArgMapper.java  |  44 --
 .../ProducerHttpRequestArgMapperFactory.java       |  41 --
 .../provider/rest/common/RestConsumerProvider.java |  31 -
 .../provider/rest/common/RestProducerProvider.java |  56 --
 .../provider/rest/common/RestProducers.java        |  61 --
 .../provider/rest/common/RestSchema.java           |  37 -
 .../common/InvocationToHttpServletRequest.java     | 129 ++++
 .../rest/common/ProducerHttpRequestArgMapper.java  |  44 ++
 .../ProducerHttpRequestArgMapperFactory.java       |  40 ++
 .../provider/rest/common/RestConsumerProvider.java |  30 +
 .../provider/rest/common/RestProducerProvider.java |  55 ++
 .../provider/rest/common/RestProducers.java        |  60 ++
 .../provider/rest/common/RestSchema.java           |  37 +
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 -
 .../io/servicecomb/provider/common/MockUtil.java   |  72 --
 .../common/TestInvocationToHttpServletRequest.java | 326 ---------
 .../common/TestProducerHttpRequestArgMapper.java   |  74 --
 .../rest/common/TestRestConsumerProvider.java      |  33 -
 .../provider/rest/common/TestRestProducers.java    |  56 --
 .../rest/common/TestRestServiceProvider.java       |  73 --
 .../servicecomb/provider/common/MockUtil.java      |  72 ++
 .../common/TestInvocationToHttpServletRequest.java | 326 +++++++++
 .../common/TestProducerHttpRequestArgMapper.java   |  74 ++
 .../rest/common/TestRestConsumerProvider.java      |  32 +
 .../provider/rest/common/TestRestProducers.java    |  55 ++
 .../rest/common/TestRestServiceProvider.java       |  73 ++
 providers/provider-springmvc/pom.xml               |   8 +-
 .../reference/AcceptableRestTemplate.java          |  28 -
 .../reference/CommonToHttpServletRequest.java      | 218 ------
 .../springmvc/reference/CseClientHttpRequest.java  | 176 -----
 .../reference/CseClientHttpRequestFactory.java     |  32 -
 .../springmvc/reference/CseClientHttpResponse.java | 111 ---
 .../springmvc/reference/CseHttpEntity.java         |  63 --
 .../springmvc/reference/CseRequestCallback.java    |  49 --
 .../springmvc/reference/CseRestTemplate.java       |  59 --
 .../springmvc/reference/CseUriTemplateHandler.java |  78 ---
 .../provider/springmvc/reference/RequestMeta.java  |  65 --
 .../springmvc/reference/RestTemplateBuilder.java   |  35 -
 .../reference/RestTemplateCopyHeaderFilter.java    |  62 --
 .../springmvc/reference/RestTemplateWrapper.java   | 323 ---------
 .../reference/ServiceCombRestTemplateConfig.java   |  30 -
 ...UrlWithServiceNameClientHttpRequestFactory.java |  45 --
 .../reference/AcceptableRestTemplate.java          |  28 +
 .../reference/CommonToHttpServletRequest.java      | 217 ++++++
 .../springmvc/reference/CseClientHttpRequest.java  | 176 +++++
 .../reference/CseClientHttpRequestFactory.java     |  32 +
 .../springmvc/reference/CseClientHttpResponse.java | 110 +++
 .../springmvc/reference/CseHttpEntity.java         |  62 ++
 .../springmvc/reference/CseRequestCallback.java    |  49 ++
 .../springmvc/reference/CseRestTemplate.java       |  58 ++
 .../springmvc/reference/CseUriTemplateHandler.java |  77 +++
 .../provider/springmvc/reference/RequestMeta.java  |  65 ++
 .../springmvc/reference/RestTemplateBuilder.java   |  35 +
 .../reference/RestTemplateCopyHeaderFilter.java    |  61 ++
 .../springmvc/reference/RestTemplateWrapper.java   | 323 +++++++++
 .../reference/ServiceCombRestTemplateConfig.java   |  30 +
 ...UrlWithServiceNameClientHttpRequestFactory.java |  45 ++
 .../web/client/CseHttpMessageConverter.java        |   5 +-
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 -
 ...servicecomb.common.rest.filter.HttpClientFilter |  18 -
 ...servicecomb.common.rest.filter.HttpClientFilter |  18 +
 .../io/servicecomb/provider/common/MockUtil.java   | 360 ----------
 .../ServiceCombRestTemplateConfigTest.java         |  36 -
 .../reference/TestCommonToHttpServletRequest.java  | 239 -------
 .../reference/TestCseClientHttpRequest.java        | 119 ----
 .../reference/TestCseClientHttpRequestFactory.java |  40 --
 .../reference/TestCseClientHttpResponse.java       |  65 --
 .../springmvc/reference/TestCseHttpEntity.java     |  40 --
 .../reference/TestCseRequestCallback.java          |  49 --
 .../springmvc/reference/TestCseRestTemplate.java   |  29 -
 .../reference/TestCseUriTemplateHandler.java       |  43 --
 .../springmvc/reference/TestRequestMeta.java       |  71 --
 .../reference/TestRestTemplateBuilder.java         |  63 --
 .../TestRestTemplateCopyHeaderFilter.java          | 103 ---
 .../reference/TestRestTemplateWrapper.java         | 446 ------------
 ...UrlWithServiceNameClientHttpRequestFactory.java |  79 ---
 .../servicecomb/provider/common/MockUtil.java      | 360 ++++++++++
 .../ServiceCombRestTemplateConfigTest.java         |  36 +
 .../reference/TestCommonToHttpServletRequest.java  | 238 +++++++
 .../reference/TestCseClientHttpRequest.java        | 119 ++++
 .../reference/TestCseClientHttpRequestFactory.java |  40 ++
 .../reference/TestCseClientHttpResponse.java       |  64 ++
 .../springmvc/reference/TestCseHttpEntity.java     |  39 ++
 .../reference/TestCseRequestCallback.java          |  49 ++
 .../springmvc/reference/TestCseRestTemplate.java   |  29 +
 .../reference/TestCseUriTemplateHandler.java       |  43 ++
 .../springmvc/reference/TestRequestMeta.java       |  70 ++
 .../reference/TestRestTemplateBuilder.java         |  63 ++
 .../TestRestTemplateCopyHeaderFilter.java          | 103 +++
 .../reference/TestRestTemplateWrapper.java         | 446 ++++++++++++
 ...UrlWithServiceNameClientHttpRequestFactory.java |  79 +++
 .../web/client/TestCseHttpMessageConverter.java    |   5 +-
 samples/auth-sample/auth-consumer/pom.xml          |  73 +-
 .../springmvc/consumer/AuthConsumerMain.java       |  56 --
 .../springmvc/consumer/AuthConsumerMain.java       |  55 ++
 samples/auth-sample/auth-provider/pom.xml          |  68 +-
 .../springmvc/provider/AuthProviderMain.java       |  29 -
 .../springmvc/provider/SpringmvcHelloImpl.java     |  47 --
 .../springmvc/provider/AuthProviderMain.java       |  29 +
 .../springmvc/provider/SpringmvcHelloImpl.java     |  46 ++
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 -
 .../META-INF/spring/pojo.provider.bean.xml         |   2 +-
 samples/auth-sample/pom.xml                        |   9 +-
 samples/bmi/calculator/pom.xml                     |  13 +-
 .../io/servicecomb/samples/bmi/BMIViewObject.java  |  60 --
 .../samples/bmi/CalculatorApplication.java         |  32 -
 .../samples/bmi/CalculatorEndpoint.java            |  29 -
 .../samples/bmi/CalculatorRestEndpoint.java        |  54 --
 .../servicecomb/samples/bmi/CalculatorService.java |  29 -
 .../samples/bmi/CalculatorServiceImpl.java         |  44 --
 .../samples/bmi/InstanceInfoService.java           |  26 -
 .../samples/bmi/InstanceInfoServiceImpl.java       |  42 --
 .../servicecomb/samples/bmi/BMIViewObject.java     |  60 ++
 .../samples/bmi/CalculatorApplication.java         |  31 +
 .../samples/bmi/CalculatorEndpoint.java            |  29 +
 .../samples/bmi/CalculatorRestEndpoint.java        |  54 ++
 .../servicecomb/samples/bmi/CalculatorService.java |  29 +
 .../samples/bmi/CalculatorServiceImpl.java         |  44 ++
 .../samples/bmi/InstanceInfoService.java           |  26 +
 .../samples/bmi/InstanceInfoServiceImpl.java       |  41 ++
 samples/bmi/pom.xml                                |   6 +-
 samples/bmi/webapp/pom.xml                         |  13 +-
 .../samples/bmi/GatewayApplication.java            |  33 -
 .../samples/bmi/GatewayApplication.java            |  32 +
 .../webapp/src/main/resources/META-INF/LICENSE.txt | 202 ------
 .../webapp/src/main/resources/META-INF/NOTICE.txt  |  11 -
 .../codefirst-sample/codefirst-consumer/pom.xml    |  70 +-
 .../codefirst/consumer/CodeFirstConsumerMain.java  |  55 --
 .../codefirst/consumer/CodeFirstConsumerMain.java  |  54 ++
 .../META-INF/spring/pojo.consumer.bean.xml         |   2 +-
 .../codefirst-sample/codefirst-provider/pom.xml    |  78 +--
 .../provider/CodeFirstJaxrsHelloImpl.java          |  48 --
 .../codefirst/provider/CodeFirstPojoHelloImpl.java |  35 -
 .../codefirst/provider/CodeFirstProviderMain.java  |  29 -
 .../provider/CodeFirstSpringmvcHelloImpl.java      |  47 --
 .../provider/CodeFirstJaxrsHelloImpl.java          |  48 ++
 .../codefirst/provider/CodeFirstPojoHelloImpl.java |  35 +
 .../codefirst/provider/CodeFirstProviderMain.java  |  29 +
 .../provider/CodeFirstSpringmvcHelloImpl.java      |  46 ++
 .../META-INF/spring/pojo.provider.bean.xml         |   2 +-
 samples/codefirst-sample/pom.xml                   |  38 +-
 samples/common-schema/pom.xml                      |   5 +-
 .../servicecomb/samples/common/schema/Hello.java   |  27 -
 .../samples/common/schema/models/Person.java       |  30 -
 .../servicecomb/samples/common/schema/Hello.java   |  27 +
 .../samples/common/schema/models/Person.java       |  30 +
 samples/config-apollo-sample/pom.xml               |   9 +-
 .../src/main/java/MainServer.java                  |   6 +-
 .../custom-handler-consumer/pom.xml                |  78 +--
 .../consumer/CustomHandlerCustomerMain.java        |  45 --
 .../customerhandler/handlers/MyHandler.java        |  41 --
 .../consumer/CustomHandlerCustomerMain.java        |  44 ++
 .../customerhandler/handlers/MyHandler.java        |  40 ++
 .../META-INF/spring/pojo.consumer.bean.xml         |   2 +-
 .../src/main/resources/config/cse.handler.xml      |   2 +-
 .../custom-handler-provider/pom.xml                |  78 +--
 .../provider/CustomHandlerProviderMain.java        |  30 -
 .../customerhandler/provider/HelloImpl.java        |  37 -
 .../provider/CustomHandlerProviderMain.java        |  30 +
 .../customerhandler/provider/HelloImpl.java        |  37 +
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 -
 .../META-INF/spring/pojo.provider.bean.xml         |   2 +-
 samples/custom-handler-sample/pom.xml              |  28 +-
 samples/jaxrs-sample/jaxrs-consumer/pom.xml        |  16 +-
 .../samples/jaxrs/consumer/JaxrsConsumerMain.java  |  45 --
 .../samples/jaxrs/consumer/JaxrsConsumerMain.java  |  44 ++
 .../META-INF/spring/pojo.consumer.bean.xml         |   2 +-
 .../main/resources/microservices/hello/hello.yaml  |   2 +-
 samples/jaxrs-sample/jaxrs-provider/pom.xml        |  16 +-
 .../samples/jaxrs/provider/JaxrsHelloImpl.java     |  48 --
 .../samples/jaxrs/provider/JaxrsProviderMain.java  |  29 -
 .../samples/jaxrs/provider/JaxrsHelloImpl.java     |  48 ++
 .../samples/jaxrs/provider/JaxrsProviderMain.java  |  29 +
 .../META-INF/spring/pojo.provider.bean.xml         |   2 +-
 .../main/resources/microservices/hello/hello.yaml  |   2 +-
 samples/jaxrs-sample/pom.xml                       |   2 +-
 samples/metrics-extend-healthcheck/pom.xml         |   6 +-
 .../CustomHealthCheckerAnnotation.java             |  37 -
 .../ExtendHealthCheckApplication.java              |  31 -
 .../extendhealthcheck/MySqlHealthChecker.java      |  54 --
 .../SomeServiceWithHealthCheckerManager.java       |  36 -
 .../CustomHealthCheckerAnnotation.java             |  36 +
 .../ExtendHealthCheckApplication.java              |  30 +
 .../extendhealthcheck/MySqlHealthChecker.java      |  54 ++
 .../SomeServiceWithHealthCheckerManager.java       |  35 +
 .../metrics-write-file-log4j-springboot/pom.xml    |  12 +-
 .../samples/mwf/Log4JMetricsFileWriter.java        |  79 ---
 .../samples/mwf/ServiceApplication.java            |  31 -
 .../io/servicecomb/samples/mwf/SimpleService.java  |  36 -
 .../samples/mwf/Log4JMetricsFileWriter.java        |  78 +++
 .../samples/mwf/ServiceApplication.java            |  30 +
 .../servicecomb/samples/mwf/SimpleService.java     |  35 +
 .../metrics-write-file-log4j2-springboot/pom.xml   |  12 +-
 .../samples/mwf/Log4J2MetricsFileWriter.java       | 105 ---
 .../samples/mwf/ServiceApplication.java            |  31 -
 .../io/servicecomb/samples/mwf/SimpleService.java  |  36 -
 .../samples/mwf/Log4J2MetricsFileWriter.java       | 104 +++
 .../samples/mwf/ServiceApplication.java            |  30 +
 .../servicecomb/samples/mwf/SimpleService.java     |  35 +
 .../metrics-write-file/pom.xml                     |   4 +-
 .../samples/mwf/FileContentConvertor.java          |  27 -
 .../samples/mwf/FileContentFormatter.java          |  24 -
 .../samples/mwf/MetricsBootListener.java           |  41 --
 .../servicecomb/samples/mwf/MetricsFileWriter.java |  22 -
 .../samples/mwf/SimpleFileContentConvertor.java    |  60 --
 .../samples/mwf/SimpleFileContentFormatter.java    |  86 ---
 .../samples/mwf/WriteFileInitializer.java          | 100 ---
 .../samples/mwf/FileContentConvertor.java          |  27 +
 .../samples/mwf/FileContentFormatter.java          |  24 +
 .../samples/mwf/MetricsBootListener.java           |  40 ++
 .../servicecomb/samples/mwf/MetricsFileWriter.java |  22 +
 .../samples/mwf/SimpleFileContentConvertor.java    |  61 ++
 .../samples/mwf/SimpleFileContentFormatter.java    |  86 +++
 .../samples/mwf/WriteFileInitializer.java          |  99 +++
 .../io/servicecomb/samples/mwf/TestWriteFile.java  | 165 -----
 .../servicecomb/samples/mwf/TestWriteFile.java     | 167 +++++
 samples/metrics-write-file-sample/pom.xml          |   6 +-
 samples/pojo-sample/pojo-consumer/pom.xml          |  16 +-
 .../java/io/servicecomb/samples/pojo/Compute.java  |  28 -
 .../samples/pojo/consumer/PojoConsumerMain.java    |  52 --
 .../apache/servicecomb/samples/pojo/Compute.java   |  28 +
 .../samples/pojo/consumer/PojoConsumerMain.java    |  51 ++
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 -
 .../META-INF/spring/pojo.consumer.bean.xml         |   2 +-
 .../main/resources/microservices/hello/hello.yaml  |   2 +-
 samples/pojo-sample/pojo-provider/pom.xml          |  16 +-
 .../java/io/servicecomb/samples/pojo/Compute.java  |  28 -
 .../pojo/provider/CodeFirstComputeImpl.java        |  48 --
 .../samples/pojo/provider/HelloImpl.java           |  37 -
 .../samples/pojo/provider/PojoProviderMain.java    |  29 -
 .../apache/servicecomb/samples/pojo/Compute.java   |  28 +
 .../pojo/provider/CodeFirstComputeImpl.java        |  48 ++
 .../samples/pojo/provider/HelloImpl.java           |  37 +
 .../samples/pojo/provider/PojoProviderMain.java    |  29 +
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 -
 .../META-INF/spring/pojo.provider.bean.xml         |   2 +-
 .../main/resources/microservices/hello/hello.yaml  |   2 +-
 samples/pojo-sample/pom.xml                        |   2 +-
 samples/pom.xml                                    |   6 +-
 samples/springmvc-sample/pom.xml                   |   2 +-
 .../springmvc-sample/springmvc-consumer/pom.xml    |  18 +-
 .../springmvc/consumer/SpringmvcConsumerMain.java  |  60 --
 .../springmvc/consumer/SpringmvcConsumerMain.java  |  59 ++
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 -
 .../META-INF/spring/pojo.consumer.bean.xml         |   2 +-
 .../main/resources/microservices/hello/hello.yaml  |   2 +-
 .../springmvc-sample/springmvc-provider/pom.xml    |  16 +-
 .../springmvc/provider/SpringmvcHelloImpl.java     |  46 --
 .../springmvc/provider/SpringmvcProviderMain.java  |  29 -
 .../springmvc/provider/SpringmvcHelloImpl.java     |  45 ++
 .../springmvc/provider/SpringmvcProviderMain.java  |  29 +
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 -
 .../META-INF/spring/pojo.provider.bean.xml         |   2 +-
 .../main/resources/microservices/hello/hello.yaml  |   2 +-
 scripts/change_pom.py                              |   4 +-
 service-registry/pom.xml                           |  10 +-
 .../io/servicecomb/serviceregistry/Features.java   |  30 -
 .../servicecomb/serviceregistry/RegistryUtils.java | 224 ------
 .../serviceregistry/ServiceRegistry.java           |  62 --
 .../io/servicecomb/serviceregistry/api/Const.java  | 153 -----
 .../serviceregistry/api/MicroserviceKey.java       |  76 --
 .../serviceregistry/api/PropertyExtended.java      |  24 -
 .../serviceregistry/api/registry/BasePath.java     |  48 --
 .../api/registry/DataCenterInfo.java               |  50 --
 .../serviceregistry/api/registry/Framework.java    |  44 --
 .../serviceregistry/api/registry/HealthCheck.java  |  73 --
 .../api/registry/HealthCheckMode.java              |  40 --
 .../serviceregistry/api/registry/Microservice.java | 212 ------
 .../api/registry/MicroserviceFactory.java          |  85 ---
 .../api/registry/MicroserviceInstance.java         | 181 -----
 .../api/registry/MicroserviceInstanceStatus.java   |  29 -
 .../api/registry/MicroserviceStatus.java           |  27 -
 .../serviceregistry/api/registry/WatchAction.java  |  43 --
 .../api/request/CreateSchemaRequest.java           |  30 -
 .../api/request/CreateServiceRequest.java          |  35 -
 .../api/request/RegisterInstanceRequest.java       |  35 -
 .../api/request/UpdatePropertiesRequest.java       |  35 -
 .../api/response/CreateServiceResponse.java        |  33 -
 .../api/response/FindInstancesResponse.java        |  37 -
 .../api/response/GetAllServicesResponse.java       |  37 -
 .../api/response/GetExistenceResponse.java         |  43 --
 .../api/response/GetInstancesResponse.java         |  37 -
 .../api/response/GetSchemaResponse.java            |  30 -
 .../api/response/GetServiceResponse.java           |  35 -
 .../api/response/HeartbeatResponse.java            |  43 --
 .../response/MicroserviceInstanceChangedEvent.java |  57 --
 .../api/response/MicroserviceInstanceResponse.java |  35 -
 .../api/response/RegisterInstanceResponse.java     |  33 -
 .../serviceregistry/cache/CacheEndpoint.java       |  44 --
 .../serviceregistry/cache/InstanceCache.java       | 138 ----
 .../cache/InstanceCacheManager.java                |  27 -
 .../cache/InstanceCacheManagerNew.java             |  42 --
 .../cache/MicroserviceInstanceCache.java           |  68 --
 .../serviceregistry/client/ClientException.java    |  30 -
 .../serviceregistry/client/Endpoints.java          |  67 --
 .../serviceregistry/client/IpPortManager.java      | 115 ----
 .../client/LocalServiceRegistryClientImpl.java     | 376 ----------
 .../client/ServiceRegistryClient.java              | 143 ----
 .../client/http/AbstractClientPool.java            |  66 --
 .../serviceregistry/client/http/ClientPool.java    |  32 -
 .../client/http/EmptyAuthHeaderProvider.java       |  30 -
 .../client/http/HttpClientPool.java                |  66 --
 .../client/http/MicroserviceInstances.java         |  56 --
 .../client/http/RequestContext.java                |  77 ---
 .../serviceregistry/client/http/RequestParam.java  | 145 ----
 .../serviceregistry/client/http/RestResponse.java  |  51 --
 .../serviceregistry/client/http/RestUtils.java     | 214 ------
 .../client/http/ServiceRegistryClientImpl.java     | 711 -------------------
 .../client/http/WebsocketClientPool.java           |  57 --
 .../client/http/WebsocketUtils.java                |  73 --
 .../config/AbstractPropertiesLoader.java           |  98 ---
 .../config/ConfigurePropertyUtils.java             |  84 ---
 .../config/InstancePropertiesLoader.java           |  31 -
 .../config/MicroservicePropertiesLoader.java       |  33 -
 .../config/ServiceRegistryConfig.java              | 312 ---------
 .../serviceregistry/consumer/AppManager.java       |  68 --
 .../DefaultMicroserviceVersionFactory.java         |  27 -
 .../consumer/MicroserviceManager.java              |  73 --
 .../consumer/MicroserviceVersion.java              |  45 --
 .../consumer/MicroserviceVersionFactory.java       |  22 -
 .../consumer/MicroserviceVersionRule.java          | 160 -----
 .../consumer/MicroserviceVersions.java             | 200 ------
 .../definition/DefinitionConst.java                |  37 -
 .../definition/MicroserviceDefinition.java         | 155 -----
 .../discovery/AbstractDiscoveryFilter.java         |  39 --
 .../discovery/AbstractEndpointDiscoveryFilter.java |  85 ---
 .../discovery/DiscoveryContext.java                |  70 --
 .../serviceregistry/discovery/DiscoveryFilter.java |  31 -
 .../serviceregistry/discovery/DiscoveryTree.java   | 138 ----
 .../discovery/DiscoveryTreeNode.java               |  86 ---
 .../registry/AbstractServiceRegistry.java          | 283 --------
 .../registry/LocalServiceRegistry.java             |  35 -
 .../registry/RemoteServiceRegistry.java            | 113 ---
 .../registry/ServiceRegistryFactory.java           |  85 ---
 .../serviceregistry/task/AbstractRegisterTask.java |  48 --
 .../serviceregistry/task/AbstractTask.java         |  68 --
 .../serviceregistry/task/CompositeTask.java        |  38 -
 .../serviceregistry/task/HeartbeatResult.java      |  23 -
 .../task/MicroserviceInstanceHeartbeatTask.java    |  89 ---
 .../task/MicroserviceInstanceRegisterTask.java     |  87 ---
 .../task/MicroserviceRegisterTask.java             | 154 -----
 .../task/MicroserviceServiceCenterTask.java        |  33 -
 .../task/MicroserviceWatchTask.java                | 129 ----
 .../serviceregistry/task/ServiceCenterTask.java    |  96 ---
 .../task/ServiceCenterTaskMonitor.java             |  54 --
 .../serviceregistry/task/TaskStatus.java           |  23 -
 .../serviceregistry/task/event/ExceptionEvent.java |  29 -
 .../task/event/HeartbeatFailEvent.java             |  27 -
 .../task/event/HeartbeatSuccEvent.java             |  27 -
 .../task/event/PeriodicPullEvent.java              |  22 -
 .../PullMicroserviceVersionsInstancesEvent.java    |  39 --
 .../serviceregistry/task/event/RecoveryEvent.java  |  21 -
 .../serviceregistry/task/event/ShutdownEvent.java  |  21 -
 .../serviceregistry/version/Version.java           | 136 ----
 .../serviceregistry/version/VersionRule.java       |  39 --
 .../version/VersionRuleFixedParser.java            |  42 --
 .../version/VersionRuleLatestParser.java           |  46 --
 .../serviceregistry/version/VersionRuleParser.java |  23 -
 .../version/VersionRuleRangeParser.java            |  50 --
 .../version/VersionRuleStartFromParser.java        |  46 --
 .../serviceregistry/version/VersionRuleUtils.java  |  60 --
 .../serviceregistry/version/VersionUtils.java      |  33 -
 .../servicecomb/serviceregistry/Features.java      |  30 +
 .../servicecomb/serviceregistry/RegistryUtils.java | 224 ++++++
 .../serviceregistry/ServiceRegistry.java           |  62 ++
 .../servicecomb/serviceregistry/api/Const.java     | 153 +++++
 .../serviceregistry/api/MicroserviceKey.java       |  76 ++
 .../serviceregistry/api/PropertyExtended.java      |  24 +
 .../serviceregistry/api/registry/BasePath.java     |  48 ++
 .../api/registry/DataCenterInfo.java               |  50 ++
 .../serviceregistry/api/registry/Framework.java    |  44 ++
 .../serviceregistry/api/registry/HealthCheck.java  |  73 ++
 .../api/registry/HealthCheckMode.java              |  40 ++
 .../serviceregistry/api/registry/Microservice.java | 212 ++++++
 .../api/registry/MicroserviceFactory.java          |  84 +++
 .../api/registry/MicroserviceInstance.java         | 181 +++++
 .../api/registry/MicroserviceInstanceStatus.java   |  29 +
 .../api/registry/MicroserviceStatus.java           |  27 +
 .../serviceregistry/api/registry/WatchAction.java  |  43 ++
 .../api/request/CreateSchemaRequest.java           |  30 +
 .../api/request/CreateServiceRequest.java          |  35 +
 .../api/request/RegisterInstanceRequest.java       |  35 +
 .../api/request/UpdatePropertiesRequest.java       |  35 +
 .../api/response/CreateServiceResponse.java        |  33 +
 .../api/response/FindInstancesResponse.java        |  37 +
 .../api/response/GetAllServicesResponse.java       |  37 +
 .../api/response/GetExistenceResponse.java         |  43 ++
 .../api/response/GetInstancesResponse.java         |  37 +
 .../api/response/GetSchemaResponse.java            |  30 +
 .../api/response/GetServiceResponse.java           |  35 +
 .../api/response/HeartbeatResponse.java            |  43 ++
 .../response/MicroserviceInstanceChangedEvent.java |  57 ++
 .../api/response/MicroserviceInstanceResponse.java |  35 +
 .../api/response/RegisterInstanceResponse.java     |  33 +
 .../serviceregistry/cache/CacheEndpoint.java       |  44 ++
 .../serviceregistry/cache/InstanceCache.java       | 137 ++++
 .../cache/InstanceCacheManager.java                |  27 +
 .../cache/InstanceCacheManagerNew.java             |  42 ++
 .../cache/MicroserviceInstanceCache.java           |  67 ++
 .../serviceregistry/client/ClientException.java    |  30 +
 .../serviceregistry/client/Endpoints.java          |  67 ++
 .../serviceregistry/client/IpPortManager.java      | 114 +++
 .../client/LocalServiceRegistryClientImpl.java     | 375 ++++++++++
 .../client/ServiceRegistryClient.java              | 143 ++++
 .../client/http/AbstractClientPool.java            |  66 ++
 .../serviceregistry/client/http/ClientPool.java    |  33 +
 .../client/http/EmptyAuthHeaderProvider.java       |  30 +
 .../client/http/HttpClientPool.java                |  66 ++
 .../client/http/MicroserviceInstances.java         |  56 ++
 .../client/http/RequestContext.java                |  78 +++
 .../serviceregistry/client/http/RequestParam.java  | 145 ++++
 .../serviceregistry/client/http/RestResponse.java  |  51 ++
 .../serviceregistry/client/http/RestUtils.java     | 215 ++++++
 .../client/http/ServiceRegistryClientImpl.java     | 713 +++++++++++++++++++
 .../client/http/WebsocketClientPool.java           |  57 ++
 .../client/http/WebsocketUtils.java                |  73 ++
 .../config/AbstractPropertiesLoader.java           |  98 +++
 .../config/ConfigurePropertyUtils.java             |  83 +++
 .../config/InstancePropertiesLoader.java           |  31 +
 .../config/MicroservicePropertiesLoader.java       |  33 +
 .../config/ServiceRegistryConfig.java              | 312 +++++++++
 .../serviceregistry/consumer/AppManager.java       |  68 ++
 .../DefaultMicroserviceVersionFactory.java         |  27 +
 .../consumer/MicroserviceManager.java              |  73 ++
 .../consumer/MicroserviceVersion.java              |  45 ++
 .../consumer/MicroserviceVersionFactory.java       |  22 +
 .../consumer/MicroserviceVersionRule.java          | 159 +++++
 .../consumer/MicroserviceVersions.java             | 199 ++++++
 .../definition/DefinitionConst.java                |  37 +
 .../definition/MicroserviceDefinition.java         | 154 +++++
 .../discovery/AbstractDiscoveryFilter.java         |  39 ++
 .../discovery/AbstractEndpointDiscoveryFilter.java |  84 +++
 .../discovery/DiscoveryContext.java                |  70 ++
 .../serviceregistry/discovery/DiscoveryFilter.java |  31 +
 .../serviceregistry/discovery/DiscoveryTree.java   | 137 ++++
 .../discovery/DiscoveryTreeNode.java               |  86 +++
 .../registry/AbstractServiceRegistry.java          | 285 ++++++++
 .../registry/LocalServiceRegistry.java             |  35 +
 .../registry/RemoteServiceRegistry.java            | 113 +++
 .../registry/ServiceRegistryFactory.java           |  84 +++
 .../serviceregistry/task/AbstractRegisterTask.java |  48 ++
 .../serviceregistry/task/AbstractTask.java         |  68 ++
 .../serviceregistry/task/CompositeTask.java        |  38 +
 .../serviceregistry/task/HeartbeatResult.java      |  23 +
 .../task/MicroserviceInstanceHeartbeatTask.java    |  88 +++
 .../task/MicroserviceInstanceRegisterTask.java     |  86 +++
 .../task/MicroserviceRegisterTask.java             | 153 +++++
 .../task/MicroserviceServiceCenterTask.java        |  33 +
 .../task/MicroserviceWatchTask.java                | 128 ++++
 .../serviceregistry/task/ServiceCenterTask.java    |  95 +++
 .../task/ServiceCenterTaskMonitor.java             |  54 ++
 .../serviceregistry/task/TaskStatus.java           |  23 +
 .../serviceregistry/task/event/ExceptionEvent.java |  29 +
 .../task/event/HeartbeatFailEvent.java             |  27 +
 .../task/event/HeartbeatSuccEvent.java             |  27 +
 .../task/event/PeriodicPullEvent.java              |  22 +
 .../PullMicroserviceVersionsInstancesEvent.java    |  39 ++
 .../serviceregistry/task/event/RecoveryEvent.java  |  21 +
 .../serviceregistry/task/event/ShutdownEvent.java  |  21 +
 .../serviceregistry/version/Version.java           | 136 ++++
 .../serviceregistry/version/VersionRule.java       |  39 ++
 .../version/VersionRuleFixedParser.java            |  42 ++
 .../version/VersionRuleLatestParser.java           |  46 ++
 .../serviceregistry/version/VersionRuleParser.java |  23 +
 .../version/VersionRuleRangeParser.java            |  50 ++
 .../version/VersionRuleStartFromParser.java        |  46 ++
 .../serviceregistry/version/VersionRuleUtils.java  |  60 ++
 .../serviceregistry/version/VersionUtils.java      |  33 +
 ....servicecomb.foundation.auth.AuthHeaderProvider |  18 -
 ....servicecomb.foundation.auth.AuthHeaderProvider |  18 +
 .../MicroServicePropertyExtendedStub.java          |  36 -
 .../servicecomb/serviceregistry/TestRegistry.java  | 229 -------
 .../servicecomb/serviceregistry/api/TestConst.java |  82 ---
 .../serviceregistry/api/TestMicroserviceKey.java   |  65 --
 .../serviceregistry/api/registry/TestBasePath.java |  60 --
 .../api/registry/TestFramework.java                |  39 --
 .../api/registry/TestHealthCheck.java              |  76 --
 .../api/registry/TestMicroService.java             | 104 ---
 .../api/registry/TestMicroServiceInstance.java     | 127 ----
 .../api/registry/TestMicroserviceFactory.java      |  62 --
 .../api/request/TestCreateSchemaRequest.java       |  32 -
 .../api/request/TestCreateServiceRequest.java      |  60 --
 .../api/request/TestRegisterInstanceRequest.java   |  60 --
 .../api/request/TestUpdatePropertiesRequest.java   |  37 -
 .../api/response/TestCreateServiceResponse.java    |  53 --
 .../api/response/TestFindInstancesResponse.java    |  64 --
 .../api/response/TestGetAllServicesResponse.java   |  65 --
 .../api/response/TestGetExistenceResponse.java     |  56 --
 .../api/response/TestGetInstancesResponse.java     |  64 --
 .../api/response/TestGetServiceResponse.java       |  59 --
 .../api/response/TestHeartbeatResponse.java        |  56 --
 .../TestMicroserviceInstanceChangedEvent.java      |  80 ---
 .../response/TestMicroserviceInstanceResponse.java |  36 -
 .../api/response/TestRegisterInstanceResponse.java |  53 --
 .../serviceregistry/cache/TestInstanceCache.java   |  78 ---
 .../cache/TestInstanceCacheManagerNew.java         |  69 --
 .../client/LocalServiceRegistryClientImplTest.java | 177 -----
 .../client/ServiceRegistryDemo.java                |  32 -
 .../serviceregistry/client/TestEndpoints.java      |  44 --
 .../serviceregistry/client/TestIpPortManager.java  | 156 -----
 .../client/http/MockAuthHeaderProvider.java        |  32 -
 .../serviceregistry/client/http/RestUtilsTest.java |  46 --
 .../client/http/TestClientHttp.java                | 155 -----
 .../client/http/TestClientPool.java                |  59 --
 .../client/http/TestMicroserviceInstances.java     |  78 ---
 .../client/http/TestServiceRegistryClientImpl.java | 261 -------
 .../config/TestConfigurePropertyUtils.java         |  54 --
 .../config/TestPropertiesLoader.java               | 122 ----
 .../config/TestServiceRegistryConfig.java          |  73 --
 .../consumer/MicroserviceVersionTestUtils.java     |  38 -
 .../serviceregistry/consumer/TestAppManager.java   | 100 ---
 .../TestDefaultMicroserviceVersionFactory.java     |  45 --
 .../consumer/TestMicroserviceManager.java          | 115 ----
 .../consumer/TestMicroserviceVersion.java          |  54 --
 .../consumer/TestMicroserviceVersionRule.java      | 115 ----
 .../consumer/TestMicroserviceVersions.java         | 281 --------
 .../discovery/TestAbstractDiscoveryFilter.java     |  98 ---
 .../TestAbstractTransportDiscoveryFilter.java      | 181 -----
 .../discovery/TestDiscoveryContext.java            |  55 --
 .../discovery/TestDiscoveryTree.java               | 236 -------
 .../discovery/TestDiscoveryTreeNode.java           |  79 ---
 .../registry/TestAbstractServiceRegistry.java      | 112 ---
 .../registry/TestLocalServiceRegistry.java         | 103 ---
 .../registry/TestRemoteServiceRegistry.java        | 137 ----
 .../registry/TestServiceRegistryFactory.java       |  69 --
 .../task/TestAbstractRegisterTask.java             |  93 ---
 .../serviceregistry/task/TestCompositeTask.java    |  39 --
 .../TestMicroserviceInstanceHeartbeatTask.java     | 188 -----
 .../task/TestMicroserviceInstanceRegisterTask.java | 176 -----
 .../task/TestMicroserviceRegisterTask.java         | 232 -------
 .../task/TestMicroserviceWatchTask.java            | 230 -------
 .../task/TestServiceCenterTask.java                |  93 ---
 .../serviceregistry/version/TestVersion.java       | 172 -----
 .../serviceregistry/version/TestVersionRule.java   |  46 --
 .../version/TestVersionRuleFixedParser.java        |  40 --
 .../version/TestVersionRuleLatestParser.java       |  50 --
 .../version/TestVersionRuleRangeParser.java        |  47 --
 .../version/TestVersionRuleStartFromParser.java    |  47 --
 .../version/TestVersionRuleUtils.java              |  71 --
 .../serviceregistry/version/TestVersionUtils.java  |  47 --
 .../serviceregistry/version/VersionConst.java      |  28 -
 .../MicroServicePropertyExtendedStub.java          |  36 +
 .../servicecomb/serviceregistry/TestRegistry.java  | 230 +++++++
 .../servicecomb/serviceregistry/api/TestConst.java |  81 +++
 .../serviceregistry/api/TestMicroserviceKey.java   |  65 ++
 .../serviceregistry/api/registry/TestBasePath.java |  60 ++
 .../api/registry/TestFramework.java                |  39 ++
 .../api/registry/TestHealthCheck.java              |  76 ++
 .../api/registry/TestMicroService.java             | 104 +++
 .../api/registry/TestMicroServiceInstance.java     | 127 ++++
 .../api/registry/TestMicroserviceFactory.java      |  62 ++
 .../api/request/TestCreateSchemaRequest.java       |  32 +
 .../api/request/TestCreateServiceRequest.java      |  59 ++
 .../api/request/TestRegisterInstanceRequest.java   |  59 ++
 .../api/request/TestUpdatePropertiesRequest.java   |  37 +
 .../api/response/TestCreateServiceResponse.java    |  53 ++
 .../api/response/TestFindInstancesResponse.java    |  63 ++
 .../api/response/TestGetAllServicesResponse.java   |  64 ++
 .../api/response/TestGetExistenceResponse.java     |  56 ++
 .../api/response/TestGetInstancesResponse.java     |  63 ++
 .../api/response/TestGetServiceResponse.java       |  58 ++
 .../api/response/TestHeartbeatResponse.java        |  56 ++
 .../TestMicroserviceInstanceChangedEvent.java      |  79 +++
 .../response/TestMicroserviceInstanceResponse.java |  34 +
 .../api/response/TestRegisterInstanceResponse.java |  53 ++
 .../serviceregistry/cache/TestInstanceCache.java   |  77 +++
 .../cache/TestInstanceCacheManagerNew.java         |  69 ++
 .../client/LocalServiceRegistryClientImplTest.java | 175 +++++
 .../client/ServiceRegistryDemo.java                |  32 +
 .../serviceregistry/client/TestEndpoints.java      |  43 ++
 .../serviceregistry/client/TestIpPortManager.java  | 156 +++++
 .../client/http/MockAuthHeaderProvider.java        |  32 +
 .../serviceregistry/client/http/RestUtilsTest.java |  46 ++
 .../client/http/TestClientHttp.java                | 155 +++++
 .../client/http/TestClientPool.java                |  59 ++
 .../client/http/TestMicroserviceInstances.java     |  77 +++
 .../client/http/TestServiceRegistryClientImpl.java | 260 +++++++
 .../config/TestConfigurePropertyUtils.java         |  53 ++
 .../config/TestPropertiesLoader.java               | 121 ++++
 .../config/TestServiceRegistryConfig.java          |  72 ++
 .../consumer/MicroserviceVersionTestUtils.java     |  39 ++
 .../serviceregistry/consumer/TestAppManager.java   | 100 +++
 .../TestDefaultMicroserviceVersionFactory.java     |  45 ++
 .../consumer/TestMicroserviceManager.java          | 115 ++++
 .../consumer/TestMicroserviceVersion.java          |  54 ++
 .../consumer/TestMicroserviceVersionRule.java      | 114 +++
 .../consumer/TestMicroserviceVersions.java         | 281 ++++++++
 .../discovery/TestAbstractDiscoveryFilter.java     |  98 +++
 .../TestAbstractTransportDiscoveryFilter.java      | 180 +++++
 .../discovery/TestDiscoveryContext.java            |  55 ++
 .../discovery/TestDiscoveryTree.java               | 236 +++++++
 .../discovery/TestDiscoveryTreeNode.java           |  78 +++
 .../registry/TestAbstractServiceRegistry.java      | 112 +++
 .../registry/TestLocalServiceRegistry.java         | 102 +++
 .../registry/TestRemoteServiceRegistry.java        | 137 ++++
 .../registry/TestServiceRegistryFactory.java       |  69 ++
 .../task/TestAbstractRegisterTask.java             |  93 +++
 .../serviceregistry/task/TestCompositeTask.java    |  39 ++
 .../TestMicroserviceInstanceHeartbeatTask.java     | 188 +++++
 .../task/TestMicroserviceInstanceRegisterTask.java | 176 +++++
 .../task/TestMicroserviceRegisterTask.java         | 232 +++++++
 .../task/TestMicroserviceWatchTask.java            | 230 +++++++
 .../task/TestServiceCenterTask.java                |  96 +++
 .../serviceregistry/version/TestVersion.java       | 172 +++++
 .../serviceregistry/version/TestVersionRule.java   |  46 ++
 .../version/TestVersionRuleFixedParser.java        |  40 ++
 .../version/TestVersionRuleLatestParser.java       |  49 ++
 .../version/TestVersionRuleRangeParser.java        |  47 ++
 .../version/TestVersionRuleStartFromParser.java    |  47 ++
 .../version/TestVersionRuleUtils.java              |  70 ++
 .../serviceregistry/version/TestVersionUtils.java  |  47 ++
 .../serviceregistry/version/VersionConst.java      |  28 +
 ....servicecomb.foundation.auth.AuthHeaderProvider |  18 -
 ....servicecomb.foundation.auth.AuthHeaderProvider |  18 +
 .../src/test/resources/microservice.yaml           |   4 +-
 spring-boot-starter/pom.xml                        |   2 +-
 .../spring-boot-starter-configuration/pom.xml      |   6 +-
 .../spring-boot-starter-discovery/pom.xml          |   4 +-
 .../starter/discovery/CseDiscoveryClient.java      |  85 ---
 .../discovery/CseDiscoveryClientConfiguration.java |  34 -
 .../discovery/CseRibbonClientConfiguration.java    |  40 --
 .../starter/discovery/CseRibbonConfiguration.java  |  34 -
 .../starter/discovery/ServiceCombServerList.java   |  72 --
 .../springboot/starter/discovery/package-info.java |  17 -
 .../starter/discovery/CseDiscoveryClient.java      |  84 +++
 .../discovery/CseDiscoveryClientConfiguration.java |  34 +
 .../discovery/CseRibbonClientConfiguration.java    |  40 ++
 .../starter/discovery/CseRibbonConfiguration.java  |  34 +
 .../starter/discovery/ServiceCombServerList.java   |  72 ++
 .../springboot/starter/discovery/package-info.java |  17 +
 .../src/main/resources/META-INF/spring.factories   |  10 +-
 .../starter/discovery/TestCseDiscoveryClient.java  |  84 ---
 .../TestCseDiscoveryClientConfiguration.java       |  12 -
 .../TestCseRibbonClientConfiguration.java          |  16 -
 .../discovery/TestServiceCombServerList.java       |  76 --
 .../starter/discovery/TestCseDiscoveryClient.java  |  84 +++
 .../TestCseDiscoveryClientConfiguration.java       |  12 +
 .../TestCseRibbonClientConfiguration.java          |  16 +
 .../discovery/TestServiceCombServerList.java       |  76 ++
 .../spring-boot-starter-provider/pom.xml           |   6 +-
 .../spring-boot-starter-registry/pom.xml           |   4 +-
 .../starter/registry/CseAutoConfiguration.java     |  27 -
 .../starter/registry/RegistryIntializer.java       |  50 --
 .../starter/registry/CseAutoConfiguration.java     |  27 +
 .../starter/registry/RegistryIntializer.java       |  49 ++
 .../src/main/resources/META-INF/spring.factories   |   2 +-
 .../starter/registry/TestCseAutoConfiguration.java |  59 --
 .../starter/registry/TestCseAutoConfiguration.java |  59 ++
 .../spring-boot-starter-servicecomb/pom.xml        |  16 +-
 .../starter/provider/EnableServiceComb.java        |  34 -
 .../provider/ServiceCombSpringConfiguration.java   |  35 -
 .../springboot/starter/provider/package-info.java  |  25 -
 .../starter/provider/EnableServiceComb.java        |  34 +
 .../provider/ServiceCombSpringConfiguration.java   |  34 +
 .../springboot/starter/provider/package-info.java  |  25 +
 .../spring-boot-starter-transport/pom.xml          |   8 +-
 .../starter/transport/RestServletInitializer.java  |  70 --
 .../springboot/starter/transport/package-info.java |  24 -
 .../starter/transport/RestServletInitializer.java  |  69 ++
 .../springboot/starter/transport/package-info.java |  24 +
 .../transport/TestRestServletInitializer.java      | 113 ---
 .../transport/TestRestServletInitializer.java      | 112 +++
 .../spring-cloud-zuul-zipkin/pom.xml               |   4 +-
 .../zuul/tracing/SpringTracingConfiguration.java   | 104 ---
 .../cloud/zuul/tracing/TracePostZuulFilter.java    |  73 --
 .../cloud/zuul/tracing/TracePreZuulFilter.java     | 115 ----
 .../zuul/tracing/SpringTracingConfiguration.java   | 104 +++
 .../cloud/zuul/tracing/TracePostZuulFilter.java    |  73 ++
 .../cloud/zuul/tracing/TracePreZuulFilter.java     | 115 ++++
 .../tracing/SpringTracingConfigurationTest.java    |  78 ---
 .../tracing/SpringTracingConfigurationTest.java    |  78 +++
 spring-boot-starter/spring-cloud-zuul/pom.xml      |   8 +-
 .../spring/cloud/zuul/ContextHeaderZuulFilter.java |  75 --
 .../spring/cloud/zuul/ContextHeaderZuulFilter.java |  74 ++
 swagger/pom.xml                                    |   2 +-
 swagger/swagger-generator/generator-core/pom.xml   |   8 +-
 .../java/io/servicecomb/swagger/SwaggerUtils.java  | 117 ----
 .../swagger/converter/AbstractConverter.java       |  56 --
 .../servicecomb/swagger/converter/Converter.java   |  28 -
 .../swagger/converter/ConverterMgr.java            | 206 ------
 .../converter/model/AbstractModelConverter.java    |  29 -
 .../converter/model/ArrayModelConverter.java       |  42 --
 .../converter/model/ModelImplConverter.java        |  59 --
 .../swagger/converter/model/RefModelConverter.java |  33 -
 .../AbstractSerializableParameterConverter.java    |  55 --
 .../parameter/BodyParameterConverter.java          |  34 -
 .../property/AbstractPropertyConverter.java        |  29 -
 .../converter/property/ArrayPropertyConverter.java |  56 --
 .../converter/property/MapPropertyConverter.java   |  46 --
 .../converter/property/RefPropertyConverter.java   |  33 -
 .../property/StringPropertyConverter.java          |  89 ---
 .../io/servicecomb/swagger/extend/ExtendConst.java |  28 -
 .../swagger/extend/ModelResolverExt.java           | 159 -----
 .../extend/annotations/RawJsonRequestBody.java     |  39 --
 .../extend/annotations/ResponseHeaders.java        |  31 -
 .../swagger/extend/parameter/ContextParameter.java |  26 -
 .../extend/parameter/HttpRequestParameter.java     |  23 -
 .../property/AbstractBaseIntegerProperty.java      | 134 ----
 .../swagger/extend/property/ByteProperty.java      |  35 -
 .../swagger/extend/property/ShortProperty.java     |  35 -
 .../property/creator/ByteArrayPropertyCreator.java |  36 -
 .../property/creator/BytePropertyCreator.java      |  36 -
 .../creator/InputStreamPropertyCreator.java        |  38 -
 .../property/creator/PartPropertyCreator.java      |  37 -
 .../extend/property/creator/PropertyCreator.java   |  26 -
 .../property/creator/ShortPropertyCreator.java     |  36 -
 .../core/AbstractSwaggerGeneratorContext.java      | 184 -----
 .../generator/core/AnnotationProcessorManager.java |  46 --
 .../generator/core/ClassAnnotationProcessor.java   |  22 -
 .../core/CommonParameterTypeProcessor.java         |  25 -
 .../core/CompositeSwaggerGeneratorContext.java     |  66 --
 .../generator/core/DefaultParameterProcessor.java  |  27 -
 .../generator/core/MethodAnnotationProcessor.java  |  22 -
 .../swagger/generator/core/OperationGenerator.java | 370 ----------
 .../core/ParameterAnnotationProcessor.java         |  23 -
 .../generator/core/ParameterTypeProcessor.java     |  22 -
 .../generator/core/ResponseTypeProcessor.java      |  26 -
 .../swagger/generator/core/SwaggerConst.java       |  34 -
 .../swagger/generator/core/SwaggerGenerator.java   | 311 ---------
 .../generator/core/SwaggerGeneratorContext.java    |  51 --
 .../swagger/generator/core/package-info.java       |  22 -
 .../core/processor/annotation/AnnotationUtils.java | 221 ------
 .../annotation/ApiImplicitParamClassProcessor.java |  33 -
 .../ApiImplicitParamMethodProcessor.java           |  33 -
 .../ApiImplicitParamsClassProcessor.java           |  36 -
 .../ApiImplicitParamsMethodProcessor.java          |  36 -
 .../annotation/ApiOperationProcessor.java          | 119 ----
 .../core/processor/annotation/ApiProcessor.java    |  43 --
 .../annotation/ApiResponseClassProcessor.java      |  31 -
 .../annotation/ApiResponseMethodProcessor.java     |  34 -
 .../annotation/ApiResponsesClassProcessor.java     |  35 -
 .../annotation/ApiResponsesMethodProcessor.java    |  36 -
 .../annotation/ResponseHeaderProcessor.java        |  38 -
 .../annotation/ResponseHeadersProcessor.java       |  36 -
 .../annotation/SwaggerDefinitionProcessor.java     | 159 -----
 .../annotation/models/ResponseConfig.java          |  75 --
 .../annotation/models/ResponseConfigBase.java      |  65 --
 .../annotation/models/ResponseHeaderConfig.java    |  34 -
 .../core/processor/annotation/package-info.java    |  21 -
 .../parameter/AbstractParameterProcessor.java      |  60 --
 .../parametertype/HttpServletRequestProcessor.java |  37 -
 .../parametertype/RawJsonRequestBodyProcessor.java |  33 -
 .../AbstractOneGenericResponseProcessor.java       |  41 --
 .../response/CompletableFutureProcessor.java       |  27 -
 .../response/DefaultResponseTypeProcessor.java     |  41 --
 .../core/unittest/SwaggerGeneratorForTest.java     |  77 ---
 .../core/unittest/UnitTestSwaggerUtils.java        | 132 ----
 .../generator/core/unittest/package-info.java      |  21 -
 .../swagger/generator/core/utils/ClassUtils.java   | 264 -------
 .../swagger/generator/core/utils/ParamUtils.java   | 156 -----
 .../pojo/PojoSwaggerGeneratorContext.java          | 135 ----
 .../parameter/PendingBodyParameterConverter.java   |  34 -
 .../extend/parameter/PendingBodyParameter.java     | 100 ---
 .../swagger/generator/pojo/package-info.java       |  20 -
 .../parameter/PojoDefaultParameterProcessor.java   |  33 -
 .../generator/pojo/utils/PojoParamUtils.java       |  53 --
 .../rest/RestSwaggerGeneratorContext.java          |  45 --
 .../apache/servicecomb/swagger/SwaggerUtils.java   | 117 ++++
 .../swagger/converter/AbstractConverter.java       |  57 ++
 .../servicecomb/swagger/converter/Converter.java   |  28 +
 .../swagger/converter/ConverterMgr.java            | 207 ++++++
 .../converter/model/AbstractModelConverter.java    |  30 +
 .../converter/model/ArrayModelConverter.java       |  43 ++
 .../converter/model/ModelImplConverter.java        |  60 ++
 .../swagger/converter/model/RefModelConverter.java |  34 +
 .../AbstractSerializableParameterConverter.java    |  56 ++
 .../parameter/BodyParameterConverter.java          |  35 +
 .../property/AbstractPropertyConverter.java        |  30 +
 .../converter/property/ArrayPropertyConverter.java |  57 ++
 .../converter/property/MapPropertyConverter.java   |  47 ++
 .../converter/property/RefPropertyConverter.java   |  34 +
 .../property/StringPropertyConverter.java          |  90 +++
 .../servicecomb/swagger/extend/ExtendConst.java    |  28 +
 .../swagger/extend/ModelResolverExt.java           | 159 +++++
 .../extend/annotations/RawJsonRequestBody.java     |  39 ++
 .../extend/annotations/ResponseHeaders.java        |  31 +
 .../swagger/extend/parameter/ContextParameter.java |  26 +
 .../extend/parameter/HttpRequestParameter.java     |  23 +
 .../property/AbstractBaseIntegerProperty.java      | 134 ++++
 .../swagger/extend/property/ByteProperty.java      |  35 +
 .../swagger/extend/property/ShortProperty.java     |  35 +
 .../property/creator/ByteArrayPropertyCreator.java |  36 +
 .../property/creator/BytePropertyCreator.java      |  37 +
 .../creator/InputStreamPropertyCreator.java        |  38 +
 .../property/creator/PartPropertyCreator.java      |  37 +
 .../extend/property/creator/PropertyCreator.java   |  26 +
 .../property/creator/ShortPropertyCreator.java     |  37 +
 .../core/AbstractSwaggerGeneratorContext.java      | 184 +++++
 .../generator/core/AnnotationProcessorManager.java |  46 ++
 .../generator/core/ClassAnnotationProcessor.java   |  22 +
 .../core/CommonParameterTypeProcessor.java         |  25 +
 .../core/CompositeSwaggerGeneratorContext.java     |  65 ++
 .../generator/core/DefaultParameterProcessor.java  |  27 +
 .../generator/core/MethodAnnotationProcessor.java  |  22 +
 .../swagger/generator/core/OperationGenerator.java | 370 ++++++++++
 .../core/ParameterAnnotationProcessor.java         |  23 +
 .../generator/core/ParameterTypeProcessor.java     |  22 +
 .../generator/core/ResponseTypeProcessor.java      |  26 +
 .../swagger/generator/core/SwaggerConst.java       |  34 +
 .../swagger/generator/core/SwaggerGenerator.java   | 311 +++++++++
 .../generator/core/SwaggerGeneratorContext.java    |  51 ++
 .../swagger/generator/core/package-info.java       |  22 +
 .../core/processor/annotation/AnnotationUtils.java | 221 ++++++
 .../annotation/ApiImplicitParamClassProcessor.java |  34 +
 .../ApiImplicitParamMethodProcessor.java           |  34 +
 .../ApiImplicitParamsClassProcessor.java           |  37 +
 .../ApiImplicitParamsMethodProcessor.java          |  37 +
 .../annotation/ApiOperationProcessor.java          | 119 ++++
 .../core/processor/annotation/ApiProcessor.java    |  43 ++
 .../annotation/ApiResponseClassProcessor.java      |  32 +
 .../annotation/ApiResponseMethodProcessor.java     |  35 +
 .../annotation/ApiResponsesClassProcessor.java     |  36 +
 .../annotation/ApiResponsesMethodProcessor.java    |  37 +
 .../annotation/ResponseHeaderProcessor.java        |  39 ++
 .../annotation/ResponseHeadersProcessor.java       |  37 +
 .../annotation/SwaggerDefinitionProcessor.java     | 159 +++++
 .../annotation/models/ResponseConfig.java          |  76 ++
 .../annotation/models/ResponseConfigBase.java      |  65 ++
 .../annotation/models/ResponseHeaderConfig.java    |  34 +
 .../core/processor/annotation/package-info.java    |  21 +
 .../parameter/AbstractParameterProcessor.java      |  61 ++
 .../parametertype/HttpServletRequestProcessor.java |  37 +
 .../parametertype/RawJsonRequestBodyProcessor.java |  34 +
 .../AbstractOneGenericResponseProcessor.java       |  42 ++
 .../response/CompletableFutureProcessor.java       |  27 +
 .../response/DefaultResponseTypeProcessor.java     |  42 ++
 .../core/unittest/SwaggerGeneratorForTest.java     |  77 +++
 .../core/unittest/UnitTestSwaggerUtils.java        | 132 ++++
 .../generator/core/unittest/package-info.java      |  21 +
 .../swagger/generator/core/utils/ClassUtils.java   | 260 +++++++
 .../swagger/generator/core/utils/ParamUtils.java   | 156 +++++
 .../pojo/PojoSwaggerGeneratorContext.java          | 135 ++++
 .../parameter/PendingBodyParameterConverter.java   |  35 +
 .../extend/parameter/PendingBodyParameter.java     | 101 +++
 .../swagger/generator/pojo/package-info.java       |  20 +
 .../parameter/PojoDefaultParameterProcessor.java   |  33 +
 .../generator/pojo/utils/PojoParamUtils.java       |  54 ++
 .../rest/RestSwaggerGeneratorContext.java          |  44 ++
 ...ger.generator.core.CommonParameterTypeProcessor |  18 -
 ...mb.swagger.generator.core.ResponseTypeProcessor |  18 -
 ....swagger.generator.core.SwaggerGeneratorContext |  18 -
 .../services/io.swagger.converter.ModelConverter   |   2 +-
 ...ger.generator.core.CommonParameterTypeProcessor |  18 +
 ...mb.swagger.generator.core.ResponseTypeProcessor |  18 +
 ....swagger.generator.core.SwaggerGeneratorContext |  18 +
 .../io/servicecomb/swagger/TestSwaggerUtils.java   | 177 -----
 .../property/creator/TestPartPropertyCreator.java  |  42 --
 .../generator/core/TestApiImplicitParams.java      |  62 --
 .../swagger/generator/core/TestApiOperation.java   | 171 -----
 .../swagger/generator/core/TestApiResponse.java    | 137 ----
 .../swagger/generator/core/TestArrayType.java      |  52 --
 .../swagger/generator/core/TestClassUtils.java     | 207 ------
 .../swagger/generator/core/TestInvalidType.java    | 103 ---
 .../generator/core/TestOperationGenerator.java     | 104 ---
 .../swagger/generator/core/TestParamUtils.java     |  45 --
 .../swagger/generator/core/TestProperty.java       |  53 --
 .../generator/core/TestSwaggerDefinition.java      | 136 ----
 .../generator/core/TestSwaggerGenerator.java       |  58 --
 .../swagger/generator/core/TestSwaggerUtils.java   | 247 -------
 .../annotation/ApiOperationProcessorTest.java      |  74 --
 .../processor/annotation/ApiProcessorTest.java     |  63 --
 .../annotation/SwaggerDefinitionProcessorTest.java |  75 --
 .../TestAbstractOneGenericResponseProcessor.java   |  61 --
 .../response/TestCompletableFutureProcessor.java   |  31 -
 .../swagger/generator/core/schema/AllType.java     |  66 --
 .../swagger/generator/core/schema/ArrayType.java   |  27 -
 .../swagger/generator/core/schema/Color.java       |  23 -
 .../core/schema/InvalidResponseHeader.java         |  26 -
 .../swagger/generator/core/schema/InvalidType.java |  65 --
 .../generator/core/schema/RepeatOperation.java     |  27 -
 .../swagger/generator/core/schema/Schema.java      | 185 -----
 .../swagger/generator/core/schema/User.java        |  24 -
 .../servicecomb/swagger/TestSwaggerUtils.java      | 177 +++++
 .../property/creator/TestPartPropertyCreator.java  |  42 ++
 .../generator/core/TestApiImplicitParams.java      |  62 ++
 .../swagger/generator/core/TestApiOperation.java   | 171 +++++
 .../swagger/generator/core/TestApiResponse.java    | 137 ++++
 .../swagger/generator/core/TestArrayType.java      |  52 ++
 .../swagger/generator/core/TestClassUtils.java     | 207 ++++++
 .../swagger/generator/core/TestInvalidType.java    | 102 +++
 .../generator/core/TestOperationGenerator.java     | 104 +++
 .../swagger/generator/core/TestParamUtils.java     |  45 ++
 .../swagger/generator/core/TestProperty.java       |  53 ++
 .../generator/core/TestSwaggerDefinition.java      | 136 ++++
 .../generator/core/TestSwaggerGenerator.java       |  57 ++
 .../swagger/generator/core/TestSwaggerUtils.java   | 247 +++++++
 .../annotation/ApiOperationProcessorTest.java      |  74 ++
 .../processor/annotation/ApiProcessorTest.java     |  63 ++
 .../annotation/SwaggerDefinitionProcessorTest.java |  75 ++
 .../TestAbstractOneGenericResponseProcessor.java   |  61 ++
 .../response/TestCompletableFutureProcessor.java   |  31 +
 .../swagger/generator/core/schema/AllType.java     |  66 ++
 .../swagger/generator/core/schema/ArrayType.java   |  27 +
 .../swagger/generator/core/schema/Color.java       |  23 +
 .../core/schema/InvalidResponseHeader.java         |  26 +
 .../swagger/generator/core/schema/InvalidType.java |  65 ++
 .../generator/core/schema/RepeatOperation.java     |  27 +
 .../swagger/generator/core/schema/Schema.java      | 185 +++++
 .../swagger/generator/core/schema/User.java        |  24 +
 .../src/test/resources/schemas/allMethod.yaml      |  14 +-
 .../src/test/resources/schemas/allType.yaml        |   8 +-
 .../src/test/resources/schemas/apiOperation.yaml   |   2 +-
 .../src/test/resources/schemas/apiResponse.yaml    |   2 +-
 .../src/test/resources/schemas/array.yaml          |   2 +-
 .../src/test/resources/schemas/boolean.yaml        |   2 +-
 .../src/test/resources/schemas/booleanObject.yaml  |   2 +-
 .../src/test/resources/schemas/byte.yaml           |   2 +-
 .../src/test/resources/schemas/byteObject.yaml     |   2 +-
 .../src/test/resources/schemas/bytes.yaml          |   2 +-
 .../src/test/resources/schemas/bytesObject.yaml    |   2 +-
 .../src/test/resources/schemas/char.yaml           |   2 +-
 .../src/test/resources/schemas/charObject.yaml     |   2 +-
 .../test/resources/schemas/completableFuture.yaml  |   2 +-
 .../src/test/resources/schemas/date.yaml           |   2 +-
 .../src/test/resources/schemas/double.yaml         |   2 +-
 .../src/test/resources/schemas/doubleObject.yaml   |   2 +-
 .../src/test/resources/schemas/enum.yaml           |   6 +-
 .../src/test/resources/schemas/float.yaml          |   2 +-
 .../src/test/resources/schemas/floatObject.yaml    |   2 +-
 .../src/test/resources/schemas/int.yaml            |   2 +-
 .../src/test/resources/schemas/intObject.yaml      |   2 +-
 .../src/test/resources/schemas/list.yaml           |   4 +-
 .../src/test/resources/schemas/long.yaml           |   2 +-
 .../src/test/resources/schemas/longObject.yaml     |   2 +-
 .../src/test/resources/schemas/map.yaml            |   4 +-
 .../src/test/resources/schemas/mapList.yaml        |   4 +-
 .../src/test/resources/schemas/multiParam.yaml     |  10 +-
 .../src/test/resources/schemas/object.yaml         |   4 +-
 .../src/test/resources/schemas/responseHeader.yaml |   2 +-
 .../src/test/resources/schemas/set.yaml            |   2 +-
 .../src/test/resources/schemas/short.yaml          |   2 +-
 .../src/test/resources/schemas/shortObject.yaml    |   2 +-
 .../src/test/resources/schemas/string.yaml         |   2 +-
 swagger/swagger-generator/generator-jaxrs/pom.xml  |   4 +-
 .../jaxrs/JaxrsSwaggerGeneratorContext.java        | 114 ---
 .../annotation/ConsumesAnnotationProcessor.java    |  38 -
 .../annotation/CookieParamAnnotationProcessor.java |  35 -
 .../annotation/FormParamAnnotationProcessor.java   |  35 -
 .../annotation/HeaderParamAnnotationProcessor.java |  35 -
 .../annotation/HttpMethodAnnotationProcessor.java  |  35 -
 .../annotation/PathClassAnnotationProcessor.java   |  33 -
 .../annotation/PathMethodAnnotationProcessor.java  |  32 -
 .../annotation/PathParamAnnotationProcessor.java   |  35 -
 .../annotation/ProducesAnnotationProcessor.java    |  38 -
 .../annotation/QueryParamAnnotationProcessor.java  |  35 -
 .../parameter/JaxrsDefaultParameterProcessor.java  |  32 -
 .../processor/response/JaxrsResponseProcessor.java |  55 --
 .../jaxrs/JaxrsSwaggerGeneratorContext.java        | 114 +++
 .../annotation/ConsumesAnnotationProcessor.java    |  37 +
 .../annotation/CookieParamAnnotationProcessor.java |  36 +
 .../annotation/FormParamAnnotationProcessor.java   |  36 +
 .../annotation/HeaderParamAnnotationProcessor.java |  36 +
 .../annotation/HttpMethodAnnotationProcessor.java  |  35 +
 .../annotation/PathClassAnnotationProcessor.java   |  33 +
 .../annotation/PathMethodAnnotationProcessor.java  |  32 +
 .../annotation/PathParamAnnotationProcessor.java   |  36 +
 .../annotation/ProducesAnnotationProcessor.java    |  37 +
 .../annotation/QueryParamAnnotationProcessor.java  |  36 +
 .../parameter/JaxrsDefaultParameterProcessor.java  |  33 +
 .../processor/response/JaxrsResponseProcessor.java |  56 ++
 ...mb.swagger.generator.core.ResponseTypeProcessor |  18 -
 ....swagger.generator.core.SwaggerGeneratorContext |  18 -
 ...mb.swagger.generator.core.ResponseTypeProcessor |  18 +
 ....swagger.generator.core.SwaggerGeneratorContext |  18 +
 .../swagger/generator/jaxrs/ClassMethodNoPath.java |  28 -
 .../servicecomb/swagger/generator/jaxrs/Echo.java  | 102 ---
 .../swagger/generator/jaxrs/MultiDefaultPath.java  |  33 -
 .../swagger/generator/jaxrs/TestJaxrs.java         | 114 ---
 .../servicecomb/swagger/generator/jaxrs/User.java  |  22 -
 .../swagger/generator/jaxrs/ClassMethodNoPath.java |  28 +
 .../servicecomb/swagger/generator/jaxrs/Echo.java  | 103 +++
 .../swagger/generator/jaxrs/MultiDefaultPath.java  |  33 +
 .../swagger/generator/jaxrs/TestJaxrs.java         | 113 +++
 .../servicecomb/swagger/generator/jaxrs/User.java  |  22 +
 .../src/test/resources/schemas/cookie.yaml         |   2 +-
 .../src/test/resources/schemas/echo.yaml           |   4 +-
 .../src/test/resources/schemas/emptyContract.yaml  |   2 +-
 .../src/test/resources/schemas/emptyPath.yaml      |   2 +-
 .../src/test/resources/schemas/form.yaml           |   2 +-
 .../src/test/resources/schemas/query.yaml          |   2 +-
 .../resources/schemas/rawJsonStringMethod.yaml     |   2 +-
 .../src/test/resources/schemas/response.yaml       |   2 +-
 .../swagger-generator/generator-springmvc/pom.xml  |   4 +-
 .../springmvc/MultipartFilePropertyCreator.java    |  39 --
 .../SpringmvcSwaggerGeneratorContext.java          | 118 ----
 ...stractHttpMethodMappingAnnotationProcessor.java |  64 --
 .../annotation/CookieValueAnnotationProcessor.java |  35 -
 .../DeleteMappingMethodAnnotationProcessor.java    |  46 --
 .../GetMappingMethodAnnotationProcessor.java       |  46 --
 .../PatchMappingMethodAnnotationProcessor.java     |  46 --
 .../PathVariableAnnotationProcessor.java           |  35 -
 .../PostMappingMethodAnnotationProcessor.java      |  46 --
 .../PutMappingMethodAnnotationProcessor.java       |  46 --
 .../RequestAttributeAnnotationProcessor.java       |  35 -
 .../annotation/RequestBodyAnnotationProcessor.java |  31 -
 .../RequestHeaderAnnotationProcessor.java          |  45 --
 .../RequestMappingClassAnnotationProcessor.java    |  86 ---
 .../RequestMappingMethodAnnotationProcessor.java   |  62 --
 .../RequestParamAnnotationProcessor.java           |  35 -
 .../annotation/RequestPartAnnotationProcessor.java |  35 -
 .../parameter/MultipartFileTypeProcessor.java      |  41 --
 .../SpringmvcDefaultParameterProcessor.java        |  39 --
 .../response/ResponseEntityProcessor.java          |  28 -
 .../springmvc/MultipartFilePropertyCreator.java    |  39 ++
 .../SpringmvcSwaggerGeneratorContext.java          | 117 ++++
 ...stractHttpMethodMappingAnnotationProcessor.java |  64 ++
 .../annotation/CookieValueAnnotationProcessor.java |  35 +
 .../DeleteMappingMethodAnnotationProcessor.java    |  46 ++
 .../GetMappingMethodAnnotationProcessor.java       |  46 ++
 .../PatchMappingMethodAnnotationProcessor.java     |  46 ++
 .../PathVariableAnnotationProcessor.java           |  35 +
 .../PostMappingMethodAnnotationProcessor.java      |  46 ++
 .../PutMappingMethodAnnotationProcessor.java       |  46 ++
 .../RequestAttributeAnnotationProcessor.java       |  35 +
 .../annotation/RequestBodyAnnotationProcessor.java |  32 +
 .../RequestHeaderAnnotationProcessor.java          |  45 ++
 .../RequestMappingClassAnnotationProcessor.java    |  86 +++
 .../RequestMappingMethodAnnotationProcessor.java   |  62 ++
 .../RequestParamAnnotationProcessor.java           |  35 +
 .../annotation/RequestPartAnnotationProcessor.java |  35 +
 .../parameter/MultipartFileTypeProcessor.java      |  41 ++
 .../SpringmvcDefaultParameterProcessor.java        |  40 ++
 .../response/ResponseEntityProcessor.java          |  27 +
 ...swagger.extend.property.creator.PropertyCreator |  18 -
 ...ger.generator.core.CommonParameterTypeProcessor |  18 -
 ...mb.swagger.generator.core.ResponseTypeProcessor |  18 -
 ....swagger.generator.core.SwaggerGeneratorContext |  18 -
 ...swagger.extend.property.creator.PropertyCreator |  18 +
 ...ger.generator.core.CommonParameterTypeProcessor |  18 +
 ...mb.swagger.generator.core.ResponseTypeProcessor |  18 +
 ....swagger.generator.core.SwaggerGeneratorContext |  18 +
 .../springmvc/ClassMethodNoHttpMethod.java         |  28 -
 .../generator/springmvc/ClassMethodNoPath.java     |  29 -
 .../generator/springmvc/ClassMultiHttpMethod.java  |  26 -
 .../generator/springmvc/ClassMultiPath.java        |  25 -
 .../swagger/generator/springmvc/Echo.java          |  47 --
 .../springmvc/MethodDefaultParameter.java          |  54 --
 .../generator/springmvc/MethodEmptyPath.java       |  63 --
 .../springmvc/MethodMixupAnnotations.java          |  89 ---
 .../generator/springmvc/MethodMultiPath.java       |  58 --
 .../generator/springmvc/MethodResponseEntity.java  |  63 --
 .../generator/springmvc/MultiDefaultPath.java      |  34 -
 .../springmvc/TestResponseEntityProcessor.java     |  32 -
 .../swagger/generator/springmvc/TestSpringmvc.java | 182 -----
 .../swagger/generator/springmvc/User.java          |  22 -
 .../springmvc/ClassMethodNoHttpMethod.java         |  28 +
 .../generator/springmvc/ClassMethodNoPath.java     |  29 +
 .../generator/springmvc/ClassMultiHttpMethod.java  |  26 +
 .../generator/springmvc/ClassMultiPath.java        |  25 +
 .../swagger/generator/springmvc/Echo.java          |  46 ++
 .../springmvc/MethodDefaultParameter.java          |  54 ++
 .../generator/springmvc/MethodEmptyPath.java       |  63 ++
 .../springmvc/MethodMixupAnnotations.java          |  89 +++
 .../generator/springmvc/MethodMultiPath.java       |  58 ++
 .../generator/springmvc/MethodResponseEntity.java  |  63 ++
 .../generator/springmvc/MultiDefaultPath.java      |  34 +
 .../springmvc/TestResponseEntityProcessor.java     |  31 +
 .../swagger/generator/springmvc/TestSpringmvc.java | 182 +++++
 .../swagger/generator/springmvc/User.java          |  22 +
 .../test/resources/schemas/MethodEmptyPath.yaml    |   2 +-
 .../test/resources/schemas/defaultParameter.yaml   |   2 +-
 .../src/test/resources/schemas/emptyPath.yaml      |   2 +-
 .../test/resources/schemas/inheritHttpMethod.yaml  |   2 +-
 .../test/resources/schemas/mixupAnnotations.yaml   |   4 +-
 .../resources/schemas/rawJsonStringMethod.yaml     |   2 +-
 .../src/test/resources/schemas/responseEntity.yaml |   4 +-
 swagger/swagger-generator/pom.xml                  |   2 +-
 swagger/swagger-invocation/invocation-core/pom.xml |   6 +-
 .../swagger/engine/SwaggerBootstrap.java           |  21 -
 .../swagger/engine/SwaggerConsumer.java            |  52 --
 .../swagger/engine/SwaggerConsumerOperation.java   |  74 --
 .../swagger/engine/SwaggerEnvironment.java         | 199 ------
 .../swagger/engine/SwaggerProducer.java            |  57 --
 .../swagger/engine/SwaggerProducerOperation.java   | 163 -----
 .../swagger/engine/bootstrap/BootstrapNormal.java  |  49 --
 .../engine/unittest/LocalProducerInvoker.java      |  94 ---
 .../parameter/InvocationContextParameter.java      |  24 -
 .../swagger/invocation/AsyncResponse.java          |  48 --
 .../swagger/invocation/InvocationType.java         |  23 -
 .../servicecomb/swagger/invocation/Response.java   | 190 -----
 .../swagger/invocation/SwaggerInvocation.java      |  60 --
 .../invocation/arguments/ArgumentMapper.java       |  24 -
 .../arguments/ArgumentsMapperConfig.java           |  60 --
 .../arguments/ArgumentsMapperFactory.java          | 186 -----
 .../arguments/ContextArgumentMapperFactory.java    |  24 -
 .../swagger/invocation/arguments/FieldInfo.java    |  40 --
 .../invocation/arguments/ProviderParameter.java    |  46 --
 .../arguments/consumer/ConsumerArgumentSame.java   |  42 --
 .../consumer/ConsumerArgumentToBodyField.java      |  84 ---
 .../consumer/ConsumerArgumentsMapper.java          |  55 --
 .../consumer/ConsumerArgumentsMapperFactory.java   |  66 --
 .../consumer/ConsumerInvocationContextMapper.java  |  36 -
 .../ConsumerInvocationContextMapperFactory.java    |  40 --
 .../producer/AbstractProducerContextArgMapper.java |  37 -
 .../arguments/producer/ProducerArgumentSame.java   |  43 --
 .../producer/ProducerArgumentsMapper.java          |  49 --
 .../producer/ProducerArgumentsMapperFactory.java   |  65 --
 .../producer/ProducerInvocationContextMapper.java  |  32 -
 .../ProducerInvocationContextMapperFactory.java    |  40 --
 .../SwaggerArgumentToProducerBodyField.java        |  57 --
 .../swagger/invocation/context/ContextUtils.java   |  48 --
 .../swagger/invocation/context/HttpStatus.java     |  23 -
 .../invocation/context/HttpStatusManager.java      |  20 -
 .../invocation/context/InvocationContext.java      |  85 ---
 .../swagger/invocation/converter/Converter.java    |  21 -
 .../swagger/invocation/converter/ConverterMgr.java | 167 -----
 .../invocation/converter/CustomizedConverter.java  |  25 -
 .../invocation/converter/impl/ConverterCommon.java |  38 -
 .../invocation/converter/impl/ConverterSame.java   |  35 -
 .../converter/impl/SameElementArrayToList.java     |  42 --
 .../converter/impl/SameElementArrayToSet.java      |  46 --
 .../impl/SameElementCollectionToArray.java         |  42 --
 .../converter/impl/part/FileToPartConverter.java   |  48 --
 .../impl/part/InputStreamToPartConverter.java      |  48 --
 .../impl/part/ResourceToPartConverter.java         |  48 --
 .../invocation/exception/CommonExceptionData.java  |  45 --
 .../DefaultExceptionToResponseConverter.java       |  39 --
 .../invocation/exception/ExceptionFactory.java     | 130 ----
 .../exception/ExceptionToResponseConverter.java    |  26 -
 .../exception/ExceptionToResponseConverters.java   |  49 --
 .../invocation/exception/InvocationException.java  |  91 ---
 .../InvocationExceptionToResponseConverter.java    |  32 -
 .../generator/InvocationContextProcessor.java      |  36 -
 .../swagger/invocation/response/Headers.java       |  77 ---
 .../invocation/response/ResponseMapperFactory.java |  35 -
 .../response/ResponseMapperFactorys.java           |  64 --
 .../swagger/invocation/response/ResponseMeta.java  |  64 --
 .../swagger/invocation/response/ResponsesMeta.java |  89 ---
 ...letableFutureConsumerResponseMapperFactory.java |  41 --
 .../response/consumer/ConsumerResponseMapper.java  |  23 -
 .../consumer/ConsumerResponseMapperFactory.java    |  22 -
 .../CseResponseConsumerResponseMapperFactory.java  |  37 -
 .../consumer/DefaultConsumerResponseMapper.java    |  33 -
 .../DefaultConsumerResponseMapperFactory.java      |  49 --
 ...letableFutureProducerResponseMapperFactory.java |  41 --
 .../CseResponseProducerResponseMapperFactory.java  |  37 -
 .../producer/DefaultProducerResponseMapper.java    |  36 -
 .../DefaultProducerResponseMapperFactory.java      |  49 --
 .../response/producer/ProducerResponseMapper.java  |  25 -
 .../producer/ProducerResponseMapperFactory.java    |  23 -
 .../swagger/engine/SwaggerBootstrap.java           |  21 +
 .../swagger/engine/SwaggerConsumer.java            |  52 ++
 .../swagger/engine/SwaggerConsumerOperation.java   |  74 ++
 .../swagger/engine/SwaggerEnvironment.java         | 199 ++++++
 .../swagger/engine/SwaggerProducer.java            |  57 ++
 .../swagger/engine/SwaggerProducerOperation.java   | 163 +++++
 .../swagger/engine/bootstrap/BootstrapNormal.java  |  49 ++
 .../engine/unittest/LocalProducerInvoker.java      |  94 +++
 .../parameter/InvocationContextParameter.java      |  24 +
 .../swagger/invocation/AsyncResponse.java          |  48 ++
 .../swagger/invocation/InvocationType.java         |  23 +
 .../servicecomb/swagger/invocation/Response.java   | 190 +++++
 .../swagger/invocation/SwaggerInvocation.java      |  60 ++
 .../invocation/arguments/ArgumentMapper.java       |  24 +
 .../arguments/ArgumentsMapperConfig.java           |  60 ++
 .../arguments/ArgumentsMapperFactory.java          | 185 +++++
 .../arguments/ContextArgumentMapperFactory.java    |  24 +
 .../swagger/invocation/arguments/FieldInfo.java    |  40 ++
 .../invocation/arguments/ProviderParameter.java    |  46 ++
 .../arguments/consumer/ConsumerArgumentSame.java   |  42 ++
 .../consumer/ConsumerArgumentToBodyField.java      |  84 +++
 .../consumer/ConsumerArgumentsMapper.java          |  55 ++
 .../consumer/ConsumerArgumentsMapperFactory.java   |  65 ++
 .../consumer/ConsumerInvocationContextMapper.java  |  36 +
 .../ConsumerInvocationContextMapperFactory.java    |  39 ++
 .../producer/AbstractProducerContextArgMapper.java |  37 +
 .../arguments/producer/ProducerArgumentSame.java   |  43 ++
 .../producer/ProducerArgumentsMapper.java          |  49 ++
 .../producer/ProducerArgumentsMapperFactory.java   |  64 ++
 .../producer/ProducerInvocationContextMapper.java  |  32 +
 .../ProducerInvocationContextMapperFactory.java    |  39 ++
 .../SwaggerArgumentToProducerBodyField.java        |  57 ++
 .../swagger/invocation/context/ContextUtils.java   |  48 ++
 .../swagger/invocation/context/HttpStatus.java     |  23 +
 .../invocation/context/HttpStatusManager.java      |  20 +
 .../invocation/context/InvocationContext.java      |  85 +++
 .../swagger/invocation/converter/Converter.java    |  21 +
 .../swagger/invocation/converter/ConverterMgr.java | 166 +++++
 .../invocation/converter/CustomizedConverter.java  |  25 +
 .../invocation/converter/impl/ConverterCommon.java |  38 +
 .../invocation/converter/impl/ConverterSame.java   |  35 +
 .../converter/impl/SameElementArrayToList.java     |  42 ++
 .../converter/impl/SameElementArrayToSet.java      |  46 ++
 .../impl/SameElementCollectionToArray.java         |  42 ++
 .../converter/impl/part/FileToPartConverter.java   |  47 ++
 .../impl/part/InputStreamToPartConverter.java      |  47 ++
 .../impl/part/ResourceToPartConverter.java         |  47 ++
 .../invocation/exception/CommonExceptionData.java  |  45 ++
 .../DefaultExceptionToResponseConverter.java       |  38 +
 .../invocation/exception/ExceptionFactory.java     | 130 ++++
 .../exception/ExceptionToResponseConverter.java    |  26 +
 .../exception/ExceptionToResponseConverters.java   |  49 ++
 .../invocation/exception/InvocationException.java  |  91 +++
 .../InvocationExceptionToResponseConverter.java    |  32 +
 .../generator/InvocationContextProcessor.java      |  36 +
 .../swagger/invocation/response/Headers.java       |  77 +++
 .../invocation/response/ResponseMapperFactory.java |  35 +
 .../response/ResponseMapperFactorys.java           |  63 ++
 .../swagger/invocation/response/ResponseMeta.java  |  65 ++
 .../swagger/invocation/response/ResponsesMeta.java |  90 +++
 ...letableFutureConsumerResponseMapperFactory.java |  41 ++
 .../response/consumer/ConsumerResponseMapper.java  |  23 +
 .../consumer/ConsumerResponseMapperFactory.java    |  22 +
 .../CseResponseConsumerResponseMapperFactory.java  |  37 +
 .../consumer/DefaultConsumerResponseMapper.java    |  33 +
 .../DefaultConsumerResponseMapperFactory.java      |  49 ++
 ...letableFutureProducerResponseMapperFactory.java |  41 ++
 .../CseResponseProducerResponseMapperFactory.java  |  37 +
 .../producer/DefaultProducerResponseMapper.java    |  36 +
 .../DefaultProducerResponseMapperFactory.java      |  49 ++
 .../response/producer/ProducerResponseMapper.java  |  25 +
 .../producer/ProducerResponseMapperFactory.java    |  23 +
 ...ger.generator.core.CommonParameterTypeProcessor |  18 -
 ...vocation.exception.ExceptionToResponseConverter |  19 -
 ...response.consumer.ConsumerResponseMapperFactory |  20 -
 ...response.producer.ProducerResponseMapperFactory |  20 -
 ...ger.generator.core.CommonParameterTypeProcessor |  18 +
 ...vocation.exception.ExceptionToResponseConverter |  19 +
 ...response.consumer.ConsumerResponseMapperFactory |  20 +
 ...response.producer.ProducerResponseMapperFactory |  20 +
 .../java/io/servicecomb/core/TestException.java    |  70 --
 .../java/io/servicecomb/core/TestResponse.java     | 129 ----
 .../servicecomb/engine/TestSwaggerEnvironment.java |  53 --
 .../engine/TestSwaggerProducerOperation.java       |  51 --
 .../arguments/TestPojoConsumerEqualProducer.java   | 195 ------
 .../arguments/TestPojoConsumerEqualSwagger.java    | 219 ------
 .../swagger/invocation/arguments/utils/Utils.java  |  30 -
 .../impl/part/TestFileToPartConverter.java         |  47 --
 .../impl/part/TestInputStreamToPartConverter.java  |  47 --
 .../impl/part/TestResourceToPartConverter.java     |  48 --
 .../exception/ErrorToResponseConverter.java        |  34 -
 .../TestDefaultExceptionToResponseConverter.java   |  39 --
 .../invocation/exception/TestExceptionFactory.java |  35 -
 .../TestExceptionToResponseConverters.java         |  71 --
 ...TestInvocationExceptionToResponseConverter.java |  39 --
 .../swagger/invocation/models/JaxrsImpl.java       | 118 ----
 .../swagger/invocation/models/Person.java          |  42 --
 .../invocation/models/PojoConsumerIntf.java        |  55 --
 .../swagger/invocation/models/PojoImpl.java        |  84 ---
 .../swagger/invocation/models/ProducerImpl.java    |  32 -
 .../swagger/invocation/models/SpringmvcImpl.java   |  22 -
 .../swagger/invocation/response/TestHeaders.java   |  66 --
 .../response/TestResponseMapperFactorys.java       |  83 ---
 .../invocation/response/TestResponsesMeta.java     |  70 --
 ...letableFutureConsumerResponseMapperFactory.java |  77 ---
 ...stCseResponseConsumerResponseMapperFactory.java |  44 --
 .../TestDefaultConsumerResponseMapper.java         |  38 -
 .../TestDefaultConsumerResponseMapperFactory.java  |  52 --
 ...letableFutureProducerResponseMapperFactory.java |  77 ---
 ...stCseResponseProducerResponseMapperFactory.java |  46 --
 .../TestDefaultProducerResponseMapper.java         |  41 --
 .../TestDefaultProducerResponseMapperFactory.java  |  56 --
 .../org/apache/servicecomb/core/TestException.java |  69 ++
 .../org/apache/servicecomb/core/TestResponse.java  | 128 ++++
 .../servicecomb/engine/TestSwaggerEnvironment.java |  52 ++
 .../engine/TestSwaggerProducerOperation.java       |  51 ++
 .../arguments/TestPojoConsumerEqualProducer.java   | 194 ++++++
 .../arguments/TestPojoConsumerEqualSwagger.java    | 218 ++++++
 .../swagger/invocation/arguments/utils/Utils.java  |  30 +
 .../impl/part/TestFileToPartConverter.java         |  47 ++
 .../impl/part/TestInputStreamToPartConverter.java  |  47 ++
 .../impl/part/TestResourceToPartConverter.java     |  48 ++
 .../exception/ErrorToResponseConverter.java        |  34 +
 .../TestDefaultExceptionToResponseConverter.java   |  39 ++
 .../invocation/exception/TestExceptionFactory.java |  34 +
 .../TestExceptionToResponseConverters.java         |  71 ++
 ...TestInvocationExceptionToResponseConverter.java |  39 ++
 .../swagger/invocation/models/JaxrsImpl.java       | 118 ++++
 .../swagger/invocation/models/Person.java          |  42 ++
 .../invocation/models/PojoConsumerIntf.java        |  56 ++
 .../swagger/invocation/models/PojoImpl.java        |  85 +++
 .../swagger/invocation/models/ProducerImpl.java    |  32 +
 .../swagger/invocation/models/SpringmvcImpl.java   |  22 +
 .../swagger/invocation/response/TestHeaders.java   |  66 ++
 .../response/TestResponseMapperFactorys.java       |  83 +++
 .../invocation/response/TestResponsesMeta.java     |  70 ++
 ...letableFutureConsumerResponseMapperFactory.java |  76 ++
 ...stCseResponseConsumerResponseMapperFactory.java |  43 ++
 .../TestDefaultConsumerResponseMapper.java         |  37 +
 .../TestDefaultConsumerResponseMapperFactory.java  |  51 ++
 ...letableFutureProducerResponseMapperFactory.java |  76 ++
 ...stCseResponseProducerResponseMapperFactory.java |  45 ++
 .../TestDefaultProducerResponseMapper.java         |  40 ++
 .../TestDefaultProducerResponseMapperFactory.java  |  55 ++
 ...vocation.exception.ExceptionToResponseConverter |   1 -
 ...vocation.exception.ExceptionToResponseConverter |  18 +
 .../swagger-invocation/invocation-jaxrs/pom.xml    |   4 +-
 .../response/JaxrsConsumerResponseMapper.java      |  43 --
 .../JaxrsConsumerResponseMapperFactory.java        |  38 -
 .../response/JaxrsProducerResponseMapper.java      |  44 --
 .../JaxrsProducerResponseMapperFactory.java        |  38 -
 .../response/JaxrsConsumerResponseMapper.java      |  43 ++
 .../JaxrsConsumerResponseMapperFactory.java        |  38 +
 .../response/JaxrsProducerResponseMapper.java      |  44 ++
 .../JaxrsProducerResponseMapperFactory.java        |  38 +
 ...response.consumer.ConsumerResponseMapperFactory |  18 -
 ...response.producer.ProducerResponseMapperFactory |  18 -
 ...response.consumer.ConsumerResponseMapperFactory |  18 +
 ...response.producer.ProducerResponseMapperFactory |  18 +
 .../response/TestJaxrsConsumerResponseMapper.java  | 104 ---
 .../TestJaxrsConsumerResponseMapperFactory.java    |  43 --
 .../response/TestJaxrsProducerResponseMapper.java  |  74 --
 .../TestJaxrsProducerResponseMapperFactory.java    |  43 --
 .../response/TestJaxrsConsumerResponseMapper.java  | 104 +++
 .../TestJaxrsConsumerResponseMapperFactory.java    |  43 ++
 .../response/TestJaxrsProducerResponseMapper.java  |  74 ++
 .../TestJaxrsProducerResponseMapperFactory.java    |  43 ++
 .../invocation-springmvc/pom.xml                   |   4 +-
 .../invocation/converter/PartToMultipartFile.java  |  77 ---
 .../converter/SpringMultipartConverter.java        |  47 --
 .../response/SpringmvcConsumerResponseMapper.java  |  55 --
 .../SpringmvcConsumerResponseMapperFactory.java    |  45 --
 .../response/SpringmvcProducerResponseMapper.java  |  68 --
 .../SpringmvcProducerResponseMapperFactory.java    |  45 --
 .../invocation/converter/PartToMultipartFile.java  |  77 +++
 .../converter/SpringMultipartConverter.java        |  47 ++
 .../response/SpringmvcConsumerResponseMapper.java  |  54 ++
 .../SpringmvcConsumerResponseMapperFactory.java    |  44 ++
 .../response/SpringmvcProducerResponseMapper.java  |  67 ++
 .../SpringmvcProducerResponseMapperFactory.java    |  44 ++
 ...response.consumer.ConsumerResponseMapperFactory |  18 -
 ...response.producer.ProducerResponseMapperFactory |  18 -
 ...response.consumer.ConsumerResponseMapperFactory |  18 +
 ...response.producer.ProducerResponseMapperFactory |  18 +
 .../converter/TestPartToMultipartFile.java         | 186 -----
 .../TestSpringmvcConsumerResponseMapper.java       |  68 --
 ...TestSpringmvcConsumerResponseMapperFactory.java | 102 ---
 .../TestSpringmvcProducerResponseMapper.java       |  91 ---
 ...TestSpringmvcProducerResponseMapperFactory.java |  81 ---
 .../converter/TestPartToMultipartFile.java         | 186 +++++
 .../TestSpringmvcConsumerResponseMapper.java       |  68 ++
 ...TestSpringmvcConsumerResponseMapperFactory.java | 101 +++
 .../TestSpringmvcProducerResponseMapper.java       |  94 +++
 ...TestSpringmvcProducerResponseMapperFactory.java |  80 +++
 swagger/swagger-invocation/pom.xml                 |   2 +-
 tracing/README.md                                  |   4 +-
 tracing/pom.xml                                    |   2 +-
 tracing/tracing-common/pom.xml                     |   2 +-
 .../src/main/java/io/servicecomb/tracing/Span.java |  31 -
 .../java/org/apache/servicecomb/tracing/Span.java  |  31 +
 tracing/tracing-zipkin/pom.xml                     |   4 +-
 .../tracing/zipkin/EnableZipkinTracing.java        |  35 -
 .../tracing/zipkin/ZipkinSpanAspect.java           |  59 --
 .../tracing/zipkin/ZipkinSpanAspectConfig.java     |  33 -
 .../tracing/zipkin/ZipkinTracingAdviser.java       |  59 --
 .../tracing/zipkin/EnableZipkinTracing.java        |  35 +
 .../tracing/zipkin/ZipkinSpanAspect.java           |  59 ++
 .../tracing/zipkin/ZipkinSpanAspectConfig.java     |  33 +
 .../tracing/zipkin/ZipkinTracingAdviser.java       |  59 ++
 .../tracing/zipkin/ZipkinSpanAspectTest.java       | 117 ----
 .../tracing/zipkin/ZipkinTracingAdviserTest.java   | 159 -----
 .../zipkin/app/ZipkinSpanTestApplication.java      |  57 --
 .../tracing/zipkin/ZipkinSpanAspectTest.java       | 116 ++++
 .../tracing/zipkin/ZipkinTracingAdviserTest.java   | 160 +++++
 .../zipkin/app/ZipkinSpanTestApplication.java      |  56 ++
 transports/pom.xml                                 |   2 +-
 transports/transport-highway/pom.xml               |  10 +-
 .../transport/highway/HighwayClient.java           | 123 ----
 .../transport/highway/HighwayClientConnection.java |  76 --
 .../highway/HighwayClientConnectionPool.java       |  32 -
 .../transport/highway/HighwayClientPackage.java    |  49 --
 .../highway/HighwayClientPoolFactory.java          |  33 -
 .../transport/highway/HighwayCodec.java            |  99 ---
 .../transport/highway/HighwayConfig.java           |  45 --
 .../transport/highway/HighwayOutputStream.java     |  63 --
 .../transport/highway/HighwayServer.java           |  34 -
 .../transport/highway/HighwayServerConnection.java | 123 ----
 .../transport/highway/HighwayServerInvoke.java     | 224 ------
 .../transport/highway/HighwayServerVerticle.java   |  79 ---
 .../transport/highway/HighwayTransport.java        |  60 --
 .../io/servicecomb/transport/highway/MsgType.java  |  26 -
 .../transport/highway/message/LoginRequest.java    |  76 --
 .../transport/highway/message/LoginResponse.java   |  76 --
 .../transport/highway/message/RequestHeader.java   | 117 ----
 .../transport/highway/message/ResponseHeader.java  |  95 ---
 .../transport/highway/HighwayClient.java           | 123 ++++
 .../transport/highway/HighwayClientConnection.java |  76 ++
 .../highway/HighwayClientConnectionPool.java       |  33 +
 .../transport/highway/HighwayClientPackage.java    |  49 ++
 .../highway/HighwayClientPoolFactory.java          |  34 +
 .../transport/highway/HighwayCodec.java            | 100 +++
 .../transport/highway/HighwayConfig.java           |  45 ++
 .../transport/highway/HighwayOutputStream.java     |  64 ++
 .../transport/highway/HighwayServer.java           |  34 +
 .../transport/highway/HighwayServerConnection.java | 123 ++++
 .../transport/highway/HighwayServerInvoke.java     | 224 ++++++
 .../transport/highway/HighwayServerVerticle.java   |  79 +++
 .../transport/highway/HighwayTransport.java        |  60 ++
 .../servicecomb/transport/highway/MsgType.java     |  26 +
 .../transport/highway/message/LoginRequest.java    |  77 +++
 .../transport/highway/message/LoginResponse.java   |  77 +++
 .../transport/highway/message/RequestHeader.java   | 118 ++++
 .../transport/highway/message/ResponseHeader.java  |  96 +++
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 -
 .../io/servicecomb/transport/common/MockUtil.java  |  89 ---
 .../transport/highway/TestHighwayClient.java       | 249 -------
 .../transport/highway/TestHighwayCodec.java        | 221 ------
 .../transport/highway/TestHighwayConfig.java       |  38 -
 .../highway/TestHighwayServerConnection.java       | 223 ------
 .../transport/highway/TestHighwayServerInvoke.java | 116 ----
 .../transport/highway/TestHighwayTransport.java    |  94 ---
 .../transport/highway/TestHighwayVerticle.java     |  85 ---
 .../highway/message/TestLoginRequest.java          |  32 -
 .../highway/message/TestLoginResponse.java         |  32 -
 .../highway/message/TestRequestHeader.java         |  75 --
 .../highway/message/TestResponseHeader.java        |  51 --
 .../servicecomb/transport/common/MockUtil.java     |  89 +++
 .../transport/highway/TestHighwayClient.java       | 249 +++++++
 .../transport/highway/TestHighwayCodec.java        | 221 ++++++
 .../transport/highway/TestHighwayConfig.java       |  38 +
 .../highway/TestHighwayServerConnection.java       | 223 ++++++
 .../transport/highway/TestHighwayServerInvoke.java | 116 ++++
 .../transport/highway/TestHighwayTransport.java    |  94 +++
 .../transport/highway/TestHighwayVerticle.java     |  85 +++
 .../highway/message/TestLoginRequest.java          |  32 +
 .../highway/message/TestLoginResponse.java         |  32 +
 .../highway/message/TestRequestHeader.java         |  75 ++
 .../highway/message/TestResponseHeader.java        |  51 ++
 transports/transport-rest/pom.xml                  |   2 +-
 .../transport-rest/transport-rest-client/pom.xml   |   6 +-
 .../transport/rest/client/RestTransportClient.java |  72 --
 .../rest/client/RestTransportClientManager.java    |  42 --
 .../rest/client/TransportClientConfig.java         |  46 --
 .../rest/client/http/DefaultHttpClientFilter.java  | 100 ---
 .../rest/client/http/VertxHttpMethod.java          | 184 -----
 .../transport/rest/client/RestTransportClient.java |  72 ++
 .../rest/client/RestTransportClientManager.java    |  43 ++
 .../rest/client/TransportClientConfig.java         |  43 ++
 .../rest/client/http/DefaultHttpClientFilter.java  | 100 +++
 .../rest/client/http/VertxHttpMethod.java          | 184 +++++
 ...servicecomb.common.rest.filter.HttpClientFilter |  18 -
 ...servicecomb.common.rest.filter.HttpClientFilter |  18 +
 .../rest/client/TestRestTransportClient.java       | 105 ---
 .../rest/client/TestTransportClientConfig.java     |  43 --
 .../client/http/TestDefaultHttpClientFilter.java   | 156 -----
 .../rest/client/http/TestVertxHttpMethod.java      | 300 --------
 .../rest/client/TestRestTransportClient.java       | 105 +++
 .../rest/client/TestTransportClientConfig.java     |  43 ++
 .../client/http/TestDefaultHttpClientFilter.java   | 157 +++++
 .../rest/client/http/TestVertxHttpMethod.java      | 300 ++++++++
 .../transport-rest/transport-rest-servlet/pom.xml  |   6 +-
 .../rest/servlet/CseXmlWebApplicationContext.java  |  86 ---
 .../transport/rest/servlet/RestAsyncListener.java  |  95 ---
 .../transport/rest/servlet/RestServlet.java        |  52 --
 .../rest/servlet/RestServletContextListener.java   |  64 --
 .../rest/servlet/RestServletInjector.java          |  71 --
 .../servlet/RestServletProducerInvocation.java     |  42 --
 .../transport/rest/servlet/ServletConfig.java      |  53 --
 .../rest/servlet/ServletRestDispatcher.java        |  59 --
 .../rest/servlet/ServletRestTransport.java         |  81 ---
 .../transport/rest/servlet/ServletUtils.java       | 134 ----
 .../rest/servlet/CseXmlWebApplicationContext.java  |  85 +++
 .../transport/rest/servlet/RestAsyncListener.java  |  94 +++
 .../transport/rest/servlet/RestServlet.java        |  52 ++
 .../rest/servlet/RestServletContextListener.java   |  63 ++
 .../rest/servlet/RestServletInjector.java          |  71 ++
 .../servlet/RestServletProducerInvocation.java     |  42 ++
 .../transport/rest/servlet/ServletConfig.java      |  53 ++
 .../rest/servlet/ServletRestDispatcher.java        |  59 ++
 .../rest/servlet/ServletRestTransport.java         |  80 +++
 .../transport/rest/servlet/ServletUtils.java       | 133 ++++
 .../servlet/TestCseXmlWebApplicationContext.java   | 124 ----
 .../rest/servlet/TestRestAsyncListener.java        | 133 ----
 .../transport/rest/servlet/TestRestServlet.java    |  75 --
 .../servlet/TestRestServletContextListener.java    |  57 --
 .../rest/servlet/TestRestServletInjector.java      |  84 ---
 .../servlet/TestRestServletProducerInvocation.java | 104 ---
 .../transport/rest/servlet/TestServletConfig.java  |  58 --
 .../rest/servlet/TestServletRestDispatcher.java    |  79 ---
 .../rest/servlet/TestServletRestTransport.java     | 167 -----
 .../transport/rest/servlet/TestServletUtils.java   | 182 -----
 .../servlet/TestCseXmlWebApplicationContext.java   | 124 ++++
 .../rest/servlet/TestRestAsyncListener.java        | 133 ++++
 .../transport/rest/servlet/TestRestServlet.java    |  75 ++
 .../servlet/TestRestServletContextListener.java    |  57 ++
 .../rest/servlet/TestRestServletInjector.java      |  84 +++
 .../servlet/TestRestServletProducerInvocation.java | 104 +++
 .../transport/rest/servlet/TestServletConfig.java  |  57 ++
 .../rest/servlet/TestServletRestDispatcher.java    |  79 +++
 .../rest/servlet/TestServletRestTransport.java     | 167 +++++
 .../transport/rest/servlet/TestServletUtils.java   | 182 +++++
 .../transport-rest/transport-rest-vertx/pom.xml    |   6 +-
 .../rest/vertx/AbstractVertxHttpDispatcher.java    |  58 --
 .../transport/rest/vertx/RestBodyHandler.java      | 263 -------
 .../transport/rest/vertx/RestServerVerticle.java   | 143 ----
 .../transport/rest/vertx/TransportConfig.java      |  43 --
 .../transport/rest/vertx/VertxHttpDispatcher.java  |  26 -
 .../transport/rest/vertx/VertxRestDispatcher.java  |  84 ---
 .../transport/rest/vertx/VertxRestTransport.java   |  85 ---
 .../vertx/accesslog/AccessLogConfiguration.java    |  50 --
 .../rest/vertx/accesslog/AccessLogParam.java       |  65 --
 .../vertx/accesslog/element/AccessLogElement.java  |  33 -
 .../element/impl/BytesWrittenV1Element.java        |  42 --
 .../element/impl/BytesWrittenV2Element.java        |  45 --
 .../accesslog/element/impl/CookieElement.java      |  60 --
 .../element/impl/DatetimeConfigurableElement.java  | 114 ---
 .../element/impl/DurationMillisecondElement.java   |  28 -
 .../element/impl/DurationSecondElement.java        |  28 -
 .../element/impl/FirstLineOfRequestElement.java    |  43 --
 .../accesslog/element/impl/LocalHostElement.java   |  49 --
 .../accesslog/element/impl/LocalPortElement.java   |  43 --
 .../accesslog/element/impl/MethodElement.java      |  45 --
 .../accesslog/element/impl/PlainTextElement.java   |  37 -
 .../accesslog/element/impl/QueryOnlyElement.java   |  43 --
 .../accesslog/element/impl/RemoteHostElement.java  |  49 --
 .../element/impl/RequestHeaderElement.java         |  53 --
 .../element/impl/ResponseHeaderElement.java        |  58 --
 .../accesslog/element/impl/StatusElement.java      |  37 -
 .../element/impl/UriPathIncludeQueryElement.java   |  44 --
 .../accesslog/element/impl/UriPathOnlyElement.java |  43 --
 .../element/impl/VersionOrProtocolElement.java     |  53 --
 .../vertx/accesslog/impl/AccessLogHandler.java     |  71 --
 .../parser/AccessLogElementExtraction.java         |  77 ---
 .../accesslog/parser/AccessLogPatternParser.java   |  24 -
 .../parser/impl/DefaultAccessLogPatternParser.java | 127 ----
 .../parser/matcher/AccessLogElementMatcher.java    |  35 -
 .../parser/matcher/impl/BytesWrittenV1Matcher.java |  36 -
 .../parser/matcher/impl/BytesWrittenV2Matcher.java |  36 -
 .../impl/ConfigurableAccessLogElementMatcher.java  |  73 --
 .../parser/matcher/impl/CookieElementMatcher.java  |  42 --
 .../matcher/impl/DatetimeConfigurableMatcher.java  |  51 --
 .../parser/matcher/impl/DatetimeMatcher.java       |  36 -
 .../matcher/impl/DurationMillisecondMatcher.java   |  36 -
 .../parser/matcher/impl/DurationSecondMatcher.java |  36 -
 .../matcher/impl/FirstLineOfRequestMatcher.java    |  36 -
 .../impl/ImmutableAccessLogElementMatcher.java     |  53 --
 .../parser/matcher/impl/LocalHostMatcher.java      |  36 -
 .../parser/matcher/impl/LocalPortMatcher.java      |  36 -
 .../parser/matcher/impl/MethodMatcher.java         |  37 -
 .../impl/MultiPatternImmutableElementMatcher.java  |  39 --
 .../parser/matcher/impl/QueryOnlyMatcher.java      |  36 -
 .../parser/matcher/impl/RemoteHostMatcher.java     |  36 -
 .../matcher/impl/RequestHeaderElementMatcher.java  |  42 --
 .../matcher/impl/ResponseHeaderElementMatcher.java |  42 --
 .../impl/SinglePatternImmutableElementMatcher.java |  37 -
 .../parser/matcher/impl/StatusMatcher.java         |  36 -
 .../matcher/impl/UriPathIncludeQueryMatcher.java   |  72 --
 .../parser/matcher/impl/UriPathOnlyMatcher.java    |  36 -
 .../matcher/impl/VersionOrProtocolMatcher.java     |  36 -
 .../rest/vertx/AbstractVertxHttpDispatcher.java    |  58 ++
 .../transport/rest/vertx/RestBodyHandler.java      | 264 +++++++
 .../transport/rest/vertx/RestServerVerticle.java   | 143 ++++
 .../transport/rest/vertx/TransportConfig.java      |  45 ++
 .../transport/rest/vertx/VertxHttpDispatcher.java  |  26 +
 .../transport/rest/vertx/VertxRestDispatcher.java  |  84 +++
 .../transport/rest/vertx/VertxRestTransport.java   |  85 +++
 .../vertx/accesslog/AccessLogConfiguration.java    |  50 ++
 .../rest/vertx/accesslog/AccessLogParam.java       |  65 ++
 .../transport/rest/vertx/accesslog/README.md       |   0
 .../vertx/accesslog/element/AccessLogElement.java  |  33 +
 .../element/impl/BytesWrittenV1Element.java        |  43 ++
 .../element/impl/BytesWrittenV2Element.java        |  46 ++
 .../accesslog/element/impl/CookieElement.java      |  61 ++
 .../element/impl/DatetimeConfigurableElement.java  | 113 +++
 .../element/impl/DurationMillisecondElement.java   |  28 +
 .../element/impl/DurationSecondElement.java        |  28 +
 .../element/impl/FirstLineOfRequestElement.java    |  43 ++
 .../accesslog/element/impl/LocalHostElement.java   |  49 ++
 .../accesslog/element/impl/LocalPortElement.java   |  44 ++
 .../accesslog/element/impl/MethodElement.java      |  46 ++
 .../accesslog/element/impl/PlainTextElement.java   |  37 +
 .../accesslog/element/impl/QueryOnlyElement.java   |  43 ++
 .../accesslog/element/impl/RemoteHostElement.java  |  49 ++
 .../element/impl/RequestHeaderElement.java         |  54 ++
 .../element/impl/ResponseHeaderElement.java        |  59 ++
 .../accesslog/element/impl/StatusElement.java      |  38 +
 .../element/impl/UriPathIncludeQueryElement.java   |  44 ++
 .../accesslog/element/impl/UriPathOnlyElement.java |  44 ++
 .../element/impl/VersionOrProtocolElement.java     |  54 ++
 .../vertx/accesslog/impl/AccessLogHandler.java     |  71 ++
 .../parser/AccessLogElementExtraction.java         |  77 +++
 .../accesslog/parser/AccessLogPatternParser.java   |  24 +
 .../parser/impl/DefaultAccessLogPatternParser.java | 125 ++++
 .../parser/matcher/AccessLogElementMatcher.java    |  35 +
 .../parser/matcher/impl/BytesWrittenV1Matcher.java |  36 +
 .../parser/matcher/impl/BytesWrittenV2Matcher.java |  36 +
 .../impl/ConfigurableAccessLogElementMatcher.java  |  73 ++
 .../parser/matcher/impl/CookieElementMatcher.java  |  42 ++
 .../matcher/impl/DatetimeConfigurableMatcher.java  |  51 ++
 .../parser/matcher/impl/DatetimeMatcher.java       |  36 +
 .../matcher/impl/DurationMillisecondMatcher.java   |  36 +
 .../parser/matcher/impl/DurationSecondMatcher.java |  36 +
 .../matcher/impl/FirstLineOfRequestMatcher.java    |  36 +
 .../impl/ImmutableAccessLogElementMatcher.java     |  53 ++
 .../parser/matcher/impl/LocalHostMatcher.java      |  36 +
 .../parser/matcher/impl/LocalPortMatcher.java      |  36 +
 .../parser/matcher/impl/MethodMatcher.java         |  37 +
 .../impl/MultiPatternImmutableElementMatcher.java  |  39 ++
 .../parser/matcher/impl/QueryOnlyMatcher.java      |  36 +
 .../parser/matcher/impl/RemoteHostMatcher.java     |  36 +
 .../matcher/impl/RequestHeaderElementMatcher.java  |  42 ++
 .../matcher/impl/ResponseHeaderElementMatcher.java |  42 ++
 .../impl/SinglePatternImmutableElementMatcher.java |  37 +
 .../parser/matcher/impl/StatusMatcher.java         |  36 +
 .../matcher/impl/UriPathIncludeQueryMatcher.java   |  72 ++
 .../parser/matcher/impl/UriPathOnlyMatcher.java    |  36 +
 .../matcher/impl/VersionOrProtocolMatcher.java     |  36 +
 ...cecomb.transport.rest.vertx.VertxHttpDispatcher |  18 -
 ...cecomb.transport.rest.vertx.VertxHttpDispatcher |  18 +
 .../main/resources/config/base/log4j.properties    |   2 +-
 .../rest/vertx/MockForRestServerVerticle.java      |  65 --
 .../vertx/TestAbstractVertxHttpDispatcher.java     |  98 ---
 .../rest/vertx/TestRestServerVerticle.java         | 135 ----
 .../transport/rest/vertx/TestTransportConfig.java  |  67 --
 .../rest/vertx/TestVertxRestDispatcher.java        | 164 -----
 .../rest/vertx/TestVertxRestTransport.java         | 149 ----
 .../accesslog/AccessLogConfigurationTest.java      |  38 -
 .../element/impl/BytesWrittenV1ElementTest.java    |  79 ---
 .../element/impl/BytesWrittenV2ElementTest.java    |  78 ---
 .../accesslog/element/impl/CookieElementTest.java  | 101 ---
 .../impl/DatetimeConfigurableElementTest.java      | 127 ----
 .../impl/DurationMillisecondElementTest.java       |  38 -
 .../element/impl/DurationSecondElementTest.java    |  56 --
 .../impl/FirstLineOfRequestElementTest.java        |  52 --
 .../element/impl/LocalHostElementTest.java         | 114 ---
 .../element/impl/LocalPortElementTest.java         |  76 --
 .../accesslog/element/impl/MethodElementTest.java  |  63 --
 .../element/impl/PlainTextElementTest.java         |  31 -
 .../element/impl/QueryOnlyElementTest.java         |  90 ---
 .../element/impl/RemoteHostElementTest.java        | 117 ----
 .../element/impl/RequestHeaderElementTest.java     |  84 ---
 .../element/impl/ResponseHeaderElementTest.java    | 103 ---
 .../accesslog/element/impl/StatusElementTest.java  |  62 --
 .../impl/UriPathIncludeQueryElementTest.java       |  94 ---
 .../element/impl/UriPathOnlyElementTest.java       |  73 --
 .../element/impl/VersionOrProtocolElementTest.java |  82 ---
 .../vertx/accesslog/impl/AccessLogHandlerTest.java |  97 ---
 .../impl/DefaultAccessLogPatternParserTest.java    | 107 ---
 .../matcher/impl/BytesWrittenV1MatcherTest.java    |  63 --
 .../matcher/impl/BytesWrittenV2MatcherTest.java    |  63 --
 .../matcher/impl/CookieElementMatcherTest.java     |  65 --
 .../impl/DatetimeConfigurableMatcherTest.java      | 137 ----
 .../parser/matcher/impl/DatetimeMatcherTest.java   |  63 --
 .../impl/DurationMillisecondMatcherTest.java       |  63 --
 .../matcher/impl/DurationSecondMatcherTest.java    |  63 --
 .../impl/FirstLineOfRequestMatcherTest.java        |  63 --
 .../impl/ImmutableAccessLogElementMatcherTest.java |  81 ---
 .../parser/matcher/impl/LocalHostMatcherTest.java  |  63 --
 .../parser/matcher/impl/LocalPortMatcherTest.java  |  63 --
 .../parser/matcher/impl/MethodMatcherTest.java     |  47 --
 .../parser/matcher/impl/QueryOnlyMatcherTest.java  |  43 --
 .../parser/matcher/impl/RemoteHostMatcherTest.java |  66 --
 .../impl/RequestHeaderElementMatcherTest.java      |  64 --
 .../impl/ResponseHeaderElementMatcherTest.java     |  65 --
 .../parser/matcher/impl/StatusMatcherTest.java     |  41 --
 .../impl/UriPathIncludeQueryMatcherTest.java       |  52 --
 .../matcher/impl/UriPathOnlyMatcherTest.java       |  43 --
 .../matcher/impl/VersionOrProtocolMatcherTest.java |  66 --
 .../rest/vertx/MockForRestServerVerticle.java      |  65 ++
 .../vertx/TestAbstractVertxHttpDispatcher.java     |  98 +++
 .../rest/vertx/TestRestServerVerticle.java         | 135 ++++
 .../transport/rest/vertx/TestTransportConfig.java  |  66 ++
 .../rest/vertx/TestVertxRestDispatcher.java        | 164 +++++
 .../rest/vertx/TestVertxRestTransport.java         | 149 ++++
 .../accesslog/AccessLogConfigurationTest.java      |  38 +
 .../element/impl/BytesWrittenV1ElementTest.java    |  79 +++
 .../element/impl/BytesWrittenV2ElementTest.java    |  78 +++
 .../accesslog/element/impl/CookieElementTest.java  | 101 +++
 .../impl/DatetimeConfigurableElementTest.java      | 126 ++++
 .../impl/DurationMillisecondElementTest.java       |  37 +
 .../element/impl/DurationSecondElementTest.java    |  55 ++
 .../impl/FirstLineOfRequestElementTest.java        |  52 ++
 .../element/impl/LocalHostElementTest.java         | 114 +++
 .../element/impl/LocalPortElementTest.java         |  76 ++
 .../accesslog/element/impl/MethodElementTest.java  |  63 ++
 .../element/impl/PlainTextElementTest.java         |  31 +
 .../element/impl/QueryOnlyElementTest.java         |  90 +++
 .../element/impl/RemoteHostElementTest.java        | 117 ++++
 .../element/impl/RequestHeaderElementTest.java     |  84 +++
 .../element/impl/ResponseHeaderElementTest.java    | 103 +++
 .../accesslog/element/impl/StatusElementTest.java  |  62 ++
 .../impl/UriPathIncludeQueryElementTest.java       |  94 +++
 .../element/impl/UriPathOnlyElementTest.java       |  73 ++
 .../element/impl/VersionOrProtocolElementTest.java |  82 +++
 .../vertx/accesslog/impl/AccessLogHandlerTest.java |  97 +++
 .../impl/DefaultAccessLogPatternParserTest.java    | 107 +++
 .../matcher/impl/BytesWrittenV1MatcherTest.java    |  62 ++
 .../matcher/impl/BytesWrittenV2MatcherTest.java    |  62 ++
 .../matcher/impl/CookieElementMatcherTest.java     |  64 ++
 .../impl/DatetimeConfigurableMatcherTest.java      | 137 ++++
 .../parser/matcher/impl/DatetimeMatcherTest.java   |  62 ++
 .../impl/DurationMillisecondMatcherTest.java       |  62 ++
 .../matcher/impl/DurationSecondMatcherTest.java    |  62 ++
 .../impl/FirstLineOfRequestMatcherTest.java        |  62 ++
 .../impl/ImmutableAccessLogElementMatcherTest.java |  80 +++
 .../parser/matcher/impl/LocalHostMatcherTest.java  |  62 ++
 .../parser/matcher/impl/LocalPortMatcherTest.java  |  62 ++
 .../parser/matcher/impl/MethodMatcherTest.java     |  46 ++
 .../parser/matcher/impl/QueryOnlyMatcherTest.java  |  42 ++
 .../parser/matcher/impl/RemoteHostMatcherTest.java |  65 ++
 .../impl/RequestHeaderElementMatcherTest.java      |  63 ++
 .../impl/ResponseHeaderElementMatcherTest.java     |  64 ++
 .../parser/matcher/impl/StatusMatcherTest.java     |  40 ++
 .../impl/UriPathIncludeQueryMatcherTest.java       |  51 ++
 .../matcher/impl/UriPathOnlyMatcherTest.java       |  42 ++
 .../matcher/impl/VersionOrProtocolMatcherTest.java |  65 ++
 3585 files changed, 126035 insertions(+), 129150 deletions(-)
 delete mode 100644 common/common-javassist/src/main/java/io/servicecomb/common/javassist/ClassConfig.java
 delete mode 100644 common/common-javassist/src/main/java/io/servicecomb/common/javassist/FieldConfig.java
 delete mode 100644 common/common-javassist/src/main/java/io/servicecomb/common/javassist/JavassistUtils.java
 delete mode 100644 common/common-javassist/src/main/java/io/servicecomb/common/javassist/MethodConfig.java
 delete mode 100644 common/common-javassist/src/main/java/io/servicecomb/common/javassist/MultiWrapper.java
 delete mode 100644 common/common-javassist/src/main/java/io/servicecomb/common/javassist/ParameterConfig.java
 delete mode 100644 common/common-javassist/src/main/java/io/servicecomb/common/javassist/SingleWrapper.java
 create mode 100644 common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/ClassConfig.java
 create mode 100644 common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/FieldConfig.java
 create mode 100644 common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/JavassistUtils.java
 create mode 100644 common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/MethodConfig.java
 create mode 100644 common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/MultiWrapper.java
 create mode 100644 common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/ParameterConfig.java
 create mode 100644 common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/SingleWrapper.java
 delete mode 100644 common/common-javassist/src/test/java/io/servicecomb/common/javassist/TestJavassistUtils.java
 create mode 100644 common/common-javassist/src/test/java/org/apache/servicecomb/common/javassist/TestJavassistUtils.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/AbstractCodec.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/AbstractFieldCodec.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/ParamFieldCodec.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/ResultFieldCodec.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/StandardParamCodec.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/StandardResultCodec.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/definition/OperationProtobuf.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/definition/ProtobufManager.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/AbstractDeserializer.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/CseObjectReader.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/CseObjectWriter.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ParamDeserializer.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ParamSerializer.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ResultDeserializer.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ResultSerializer.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/StandardObjectReader.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/StandardObjectWriter.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/ProtobufSchemaUtils.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/WrapClassConfig.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/WrapSchema.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/WrapType.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/AbstractWrapSchema.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/ArgsNotWrapSchema.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/ArgsWrapSchema.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/NormalWrapSchema.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/NotWrapSchema.java
 delete mode 100644 common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/WrapSchemaFactory.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/AbstractCodec.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/AbstractFieldCodec.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/ParamFieldCodec.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/ResultFieldCodec.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/StandardParamCodec.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/StandardResultCodec.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/definition/OperationProtobuf.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/definition/ProtobufManager.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/AbstractDeserializer.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/CseObjectReader.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/CseObjectWriter.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ParamDeserializer.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ParamSerializer.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ResultDeserializer.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ResultSerializer.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/StandardObjectReader.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/StandardObjectWriter.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/ProtobufSchemaUtils.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/WrapClassConfig.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/WrapSchema.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/WrapType.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/AbstractWrapSchema.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/ArgsNotWrapSchema.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/ArgsWrapSchema.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/NormalWrapSchema.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/NotWrapSchema.java
 create mode 100644 common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/WrapSchemaFactory.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestAbstractCodec.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestAbstractFieldCodec.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestParamFieldCodec.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestResultFieldCodec.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestStandardParamCodec.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestStandardResultCodec.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/definition/TestOperationProtobuf.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestAbstractDeserializer.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestParamDeserializer.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestParamSerializer.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestResultSerializer.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestStandardObjectWriter.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/utils/TestProtobufSchemaUtils.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/utils/schema/TestArgsNotWrapSchema.java
 delete mode 100644 common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/utils/schema/TestArgsWrapSchema.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/codec/TestAbstractCodec.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/codec/TestAbstractFieldCodec.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/codec/TestParamFieldCodec.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/codec/TestResultFieldCodec.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/codec/TestStandardParamCodec.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/codec/TestStandardResultCodec.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/definition/TestOperationProtobuf.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/jackson/TestAbstractDeserializer.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/jackson/TestParamDeserializer.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/jackson/TestParamSerializer.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/jackson/TestResultSerializer.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/jackson/TestStandardObjectWriter.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/utils/TestProtobufSchemaUtils.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/utils/schema/TestArgsNotWrapSchema.java
 create mode 100644 common/common-protobuf/src/test/java/org/apache/servicecomb/codec/protobuf/utils/schema/TestArgsWrapSchema.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/AbstractRestInvocation.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/RestConst.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/RestEngineSchemaListener.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/RestProducerInvocation.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/RestClientRequest.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/RestCodec.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/RestObjectMapper.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/param/AbstractParamProcessor.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/param/BodyProcessorCreator.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/param/CookieProcessorCreator.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/param/FormProcessorCreator.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/param/HeaderProcessorCreator.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/param/ParamValueProcessor.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/param/ParamValueProcessorCreator.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/param/ParamValueProcessorCreatorManager.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/param/PathProcessorCreator.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/param/QueryProcessorCreator.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/param/RestClientRequestImpl.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/produce/AbstractProduceProcessor.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/produce/ProduceJsonProcessor.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/produce/ProduceProcessor.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/produce/ProduceProcessorManager.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/codec/produce/ProduceTextPlainProcessor.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/definition/RestOperationComparator.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/definition/RestOperationMeta.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/definition/RestParam.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/definition/path/AbstractUrlParamWriter.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/definition/path/PathRegExp.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/definition/path/PathVarParamWriter.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/definition/path/QueryVarParamWriter.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/definition/path/StaticUrlParamWriter.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/definition/path/URLPathBuilder.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/definition/path/UrlParamWriter.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/filter/HttpClientFilter.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/filter/HttpServerFilter.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/filter/tracing/TracingFilter.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/locator/MicroservicePaths.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/locator/OperationGroup.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/locator/OperationLocator.java
 delete mode 100644 common/common-rest/src/main/java/io/servicecomb/common/rest/locator/ServicePathManager.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/AbstractRestInvocation.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/RestConst.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/RestEngineSchemaListener.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/RestProducerInvocation.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/RestClientRequest.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/RestCodec.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/RestObjectMapper.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/AbstractParamProcessor.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/BodyProcessorCreator.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/CookieProcessorCreator.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/FormProcessorCreator.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/HeaderProcessorCreator.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/ParamValueProcessor.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/ParamValueProcessorCreator.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/ParamValueProcessorCreatorManager.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/PathProcessorCreator.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/QueryProcessorCreator.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/RestClientRequestImpl.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/produce/AbstractProduceProcessor.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/produce/ProduceJsonProcessor.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/produce/ProduceProcessor.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/produce/ProduceProcessorManager.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/produce/ProduceTextPlainProcessor.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/definition/RestOperationComparator.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/definition/RestOperationMeta.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/definition/RestParam.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/definition/path/AbstractUrlParamWriter.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/definition/path/PathRegExp.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/definition/path/PathVarParamWriter.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/definition/path/QueryVarParamWriter.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/definition/path/StaticUrlParamWriter.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/definition/path/URLPathBuilder.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/definition/path/UrlParamWriter.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/HttpClientFilter.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/HttpServerFilter.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/filter/tracing/TracingFilter.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/locator/MicroservicePaths.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/locator/OperationGroup.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/locator/OperationLocator.java
 create mode 100644 common/common-rest/src/main/java/org/apache/servicecomb/common/rest/locator/ServicePathManager.java
 delete mode 100644 common/common-rest/src/main/resources/META-INF/services/io.servicecomb.common.rest.filter.HttpServerFilter
 create mode 100644 common/common-rest/src/main/resources/META-INF/services/org.apache.servicecomb.common.rest.filter.HttpServerFilter
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/TestAbstractRestInvocation.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/TestDefPath.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/TestRestEngineSchemaListener.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/TestRestProducerInvocation.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/TestRestCodec.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/TestRestObjectMapper.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/param/TestBodyProcessor.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/param/TestBodyProcessorCreator.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/param/TestCookieProcessor.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/param/TestCookieProcessorCreator.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/param/TestFormProcessor.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/param/TestFormProcessorCreator.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/param/TestHeaderProcessor.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/param/TestHeaderProcessorCreator.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/param/TestPathProcessor.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/param/TestPathProcessorCreator.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/param/TestQueryProcessor.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/param/TestQueryProcessorCreator.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/param/TestRestClientRequestImpl.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/produce/TestProduceJsonProcessor.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/produce/TestProduceProcessorManager.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/codec/produce/TestProduceTextPlainProcessor.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/definition/TestPath.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/definition/TestRestOperationComparator.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/definition/TestRestOperationMeta.java
 delete mode 100755 common/common-rest/src/test/java/io/servicecomb/common/rest/definition/UnitTestRestUtils.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/filter/tracing/TracingFilterTest.java
 delete mode 100755 common/common-rest/src/test/java/io/servicecomb/common/rest/locator/TestMicroservicePaths.java
 delete mode 100755 common/common-rest/src/test/java/io/servicecomb/common/rest/locator/TestOperationLocator.java
 delete mode 100644 common/common-rest/src/test/java/io/servicecomb/common/rest/locator/TestServicePathManager.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/TestAbstractRestInvocation.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/TestDefPath.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/TestRestEngineSchemaListener.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/TestRestProducerInvocation.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/TestRestCodec.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/TestRestObjectMapper.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestBodyProcessor.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestBodyProcessorCreator.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestCookieProcessor.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestCookieProcessorCreator.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestFormProcessor.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestFormProcessorCreator.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestHeaderProcessor.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestHeaderProcessorCreator.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestPathProcessor.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestPathProcessorCreator.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestQueryProcessor.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestQueryProcessorCreator.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestRestClientRequestImpl.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/produce/TestProduceJsonProcessor.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/produce/TestProduceProcessorManager.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/produce/TestProduceTextPlainProcessor.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/definition/TestPath.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/definition/TestRestOperationComparator.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/definition/TestRestOperationMeta.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/definition/UnitTestRestUtils.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/filter/tracing/TracingFilterTest.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/locator/TestMicroservicePaths.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/locator/TestOperationLocator.java
 create mode 100644 common/common-rest/src/test/java/org/apache/servicecomb/common/rest/locator/TestServicePathManager.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/BootListener.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/Const.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/ConsumerProvider.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/CseApplicationListener.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/CseContext.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/Endpoint.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/Handler.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/Invocation.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/ProducerProvider.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/Transport.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/config/ConfigurationSpringInitializer.java
 delete mode 100755 core/src/main/java/io/servicecomb/core/definition/CommonService.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/MicroserviceMeta.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/MicroserviceMetaManager.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/MicroserviceVersionMeta.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/MicroserviceVersionMetaFactory.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/OperationMeta.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/PrivateMicroserviceVersionMetaFactory.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/SchemaMeta.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/SchemaUtils.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/classloader/DefaultMicroserviceClassLoaderFactory.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/classloader/MicroserviceClassLoader.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/classloader/MicroserviceClassLoaderFactory.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/classloader/PrivateMicroserviceClassLoaderFactory.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/loader/DynamicSchemaLoader.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/loader/SchemaListener.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/loader/SchemaListenerManager.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/loader/SchemaLoader.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/schema/AbstractSchemaFactory.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/schema/ConsumerSchemaContext.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/schema/ConsumerSchemaFactory.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/schema/ProducerSchemaContext.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/schema/ProducerSchemaFactory.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/definition/schema/SchemaContext.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/endpoint/AbstractEndpointsCache.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/endpoint/EndpointsCache.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/exception/CseException.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/exception/ExceptionUtils.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/executor/ExecutorManager.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/executor/FixedThreadExecutor.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/executor/ReactiveExecutor.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/filter/EndpointDiscoveryFilter.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/handler/AbstractHandlerManager.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/handler/ConsumerHandlerManager.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/handler/HandlerConfigUtils.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/handler/ProducerHandlerManager.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/handler/ShutdownHookHandler.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/handler/config/Config.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/handler/config/HandlerConfig.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/handler/impl/AbstractHandler.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/handler/impl/ProducerOperationHandler.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/handler/impl/SimpleLoadBalanceHandler.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/handler/impl/TransportClientHandler.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/invocation/InvocationFactory.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/metrics/InvocationFinishedEvent.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/metrics/InvocationStartProcessingEvent.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/metrics/InvocationStartedEvent.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/provider/consumer/AbstractConsumerProvider.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/provider/consumer/ConsumerProviderManager.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/provider/consumer/InvokerUtils.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/provider/consumer/ReactiveResponseExecutor.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/provider/consumer/ReferenceConfig.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/provider/consumer/ReferenceConfigUtils.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/provider/consumer/SyncResponseExecutor.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/provider/producer/AbstractProducerProvider.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/provider/producer/ProducerMeta.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/provider/producer/ProducerProviderManager.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/tracing/BraveTraceIdGenerator.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/tracing/TraceIdGenerator.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/transport/AbstractTransport.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/transport/TransportManager.java
 delete mode 100644 core/src/main/java/io/servicecomb/core/unittest/UnitTestMeta.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/BootListener.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/Const.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/ConsumerProvider.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/CseApplicationListener.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/CseContext.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/Endpoint.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/Handler.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/Invocation.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/ProducerProvider.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/Transport.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/config/ConfigurationSpringInitializer.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/CommonService.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/MicroserviceMeta.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/MicroserviceMetaManager.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/MicroserviceVersionMeta.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/MicroserviceVersionMetaFactory.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/OperationMeta.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/PrivateMicroserviceVersionMetaFactory.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/SchemaMeta.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/SchemaUtils.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/classloader/DefaultMicroserviceClassLoaderFactory.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/classloader/MicroserviceClassLoader.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/classloader/MicroserviceClassLoaderFactory.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/classloader/PrivateMicroserviceClassLoaderFactory.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/loader/DynamicSchemaLoader.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/loader/SchemaListener.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/loader/SchemaListenerManager.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/loader/SchemaLoader.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/schema/AbstractSchemaFactory.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/schema/ConsumerSchemaContext.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/schema/ConsumerSchemaFactory.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/schema/ProducerSchemaContext.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/schema/ProducerSchemaFactory.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/definition/schema/SchemaContext.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/endpoint/AbstractEndpointsCache.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/endpoint/EndpointsCache.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/exception/CseException.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/exception/ExceptionUtils.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/executor/ExecutorManager.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/executor/FixedThreadExecutor.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/executor/ReactiveExecutor.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/filter/EndpointDiscoveryFilter.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/handler/AbstractHandlerManager.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/handler/ConsumerHandlerManager.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/handler/HandlerConfigUtils.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/handler/ProducerHandlerManager.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/handler/ShutdownHookHandler.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/handler/config/Config.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/handler/config/HandlerConfig.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/handler/impl/AbstractHandler.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/handler/impl/ProducerOperationHandler.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/handler/impl/SimpleLoadBalanceHandler.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/handler/impl/TransportClientHandler.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/invocation/InvocationFactory.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/metrics/InvocationFinishedEvent.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/metrics/InvocationStartProcessingEvent.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/metrics/InvocationStartedEvent.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/provider/consumer/AbstractConsumerProvider.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/provider/consumer/ConsumerProviderManager.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/provider/consumer/InvokerUtils.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/provider/consumer/ReactiveResponseExecutor.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/provider/consumer/ReferenceConfig.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/provider/consumer/ReferenceConfigUtils.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/provider/consumer/SyncResponseExecutor.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/provider/producer/AbstractProducerProvider.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/provider/producer/ProducerMeta.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/provider/producer/ProducerProviderManager.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/tracing/BraveTraceIdGenerator.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/tracing/TraceIdGenerator.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/transport/AbstractTransport.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/transport/TransportManager.java
 create mode 100644 core/src/main/java/org/apache/servicecomb/core/unittest/UnitTestMeta.java
 delete mode 100644 core/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 core/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 core/src/test/java/io/servicecomb/core/Config.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/TestConfig.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/TestConsumer.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/TestCseApplicationListener.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/TestDefinition.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/TestEndpoint.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/TestException.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/TestExecutors.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/TestHandler.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/TestInvocationFactory.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/TestTransport.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/Utils.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/consumer/TestReactiveResponseExecutor.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/consumer/TestSyncResponseExecutor.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/MicroServicePropertyExtendedStub.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/TestMicroserviceMeta.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/TestMicroserviceMetaManager.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/TestMicroserviceVersionMeta.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/TestMicroserviceVersionMetaFactory.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/TestOperationMeta.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/TestPrivateMicroserviceVersionMetaFactory.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/TestSchemaMeta.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/TestSchemaUtils.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/classloader/TestDefaultMicroserviceClassLoaderFactory.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/classloader/TestPrivateMicroserviceClassLoaderFactory.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/loader/TestDynamicSchemaLoader.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/loader/TestSchemaListenerManager.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/schema/TestConsumerSchemaFactory.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/definition/schema/TestProducerSchemaFactory.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/executor/TestExecutorManager.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/filter/TestEndpointDiscoveryFilter.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/handler/TestShutdownHookHandler.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/handler/impl/TestServiceProviderHandler.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/handler/impl/TestSimpleLoadBalanceHandler.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/handler/impl/TestTransportClientHandler.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/provider/Person.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/provider/consumer/TestConsumerProviderManager.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/provider/consumer/TestInvokerUtils.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/provider/consumer/TestReferenceConfig.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/provider/consumer/TestReferenceConfigUtils.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/provider/producer/TestProducerMeta.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/provider/producer/TestProducerProviderManager.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/tracing/BraveTraceIdGeneratorTest.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/transport/TestAbstractTransport.java
 delete mode 100644 core/src/test/java/io/servicecomb/core/transport/TestTransportManager.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/Config.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/TestConfig.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/TestConsumer.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/TestCseApplicationListener.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/TestDefinition.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/TestEndpoint.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/TestException.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/TestExecutors.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/TestHandler.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/TestInvocationFactory.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/TestTransport.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/Utils.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/consumer/TestReactiveResponseExecutor.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/consumer/TestSyncResponseExecutor.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/MicroServicePropertyExtendedStub.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/TestMicroserviceMeta.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/TestMicroserviceMetaManager.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/TestMicroserviceVersionMeta.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/TestMicroserviceVersionMetaFactory.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/TestOperationMeta.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/TestPrivateMicroserviceVersionMetaFactory.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/TestSchemaMeta.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/TestSchemaUtils.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/classloader/TestDefaultMicroserviceClassLoaderFactory.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/classloader/TestPrivateMicroserviceClassLoaderFactory.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/loader/TestDynamicSchemaLoader.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/loader/TestSchemaListenerManager.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/schema/TestConsumerSchemaFactory.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/definition/schema/TestProducerSchemaFactory.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/executor/TestExecutorManager.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/filter/TestEndpointDiscoveryFilter.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/handler/TestShutdownHookHandler.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/handler/impl/TestServiceProviderHandler.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/handler/impl/TestSimpleLoadBalanceHandler.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/handler/impl/TestTransportClientHandler.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/provider/Person.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/provider/consumer/TestConsumerProviderManager.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/provider/consumer/TestInvokerUtils.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/provider/consumer/TestReferenceConfig.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/provider/consumer/TestReferenceConfigUtils.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/provider/producer/TestProducerMeta.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/provider/producer/TestProducerProviderManager.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/tracing/BraveTraceIdGeneratorTest.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/transport/TestAbstractTransport.java
 create mode 100644 core/src/test/java/org/apache/servicecomb/core/transport/TestTransportManager.java
 delete mode 100644 demo/demo-crossapp/crossapp-client/src/main/java/io/servicecomb/demo/crossapp/CrossappBootListener.java
 delete mode 100644 demo/demo-crossapp/crossapp-client/src/main/java/io/servicecomb/demo/crossapp/CrossappClient.java
 delete mode 100644 demo/demo-crossapp/crossapp-client/src/main/java/io/servicecomb/demo/crossapp/HelloWorld.java
 create mode 100644 demo/demo-crossapp/crossapp-client/src/main/java/org/apache/servicecomb/demo/crossapp/CrossappBootListener.java
 create mode 100644 demo/demo-crossapp/crossapp-client/src/main/java/org/apache/servicecomb/demo/crossapp/CrossappClient.java
 create mode 100644 demo/demo-crossapp/crossapp-client/src/main/java/org/apache/servicecomb/demo/crossapp/HelloWorld.java
 delete mode 100644 demo/demo-crossapp/crossapp-client/src/test/java/io/servicecomb/demo/crossapp/CrossAppIT.java
 create mode 100644 demo/demo-crossapp/crossapp-client/src/test/java/org/apache/servicecomb/demo/crossapp/CrossAppIT.java
 delete mode 100644 demo/demo-crossapp/crossapp-server/src/main/java/io/servicecomb/demo/crossapp/CrossappBootListener.java
 delete mode 100644 demo/demo-crossapp/crossapp-server/src/main/java/io/servicecomb/demo/crossapp/CrossappServer.java
 delete mode 100644 demo/demo-crossapp/crossapp-server/src/main/java/io/servicecomb/demo/crossapp/HelloWorld.java
 delete mode 100644 demo/demo-crossapp/crossapp-server/src/main/java/io/servicecomb/demo/crossapp/HelloWorldImpl.java
 create mode 100644 demo/demo-crossapp/crossapp-server/src/main/java/org/apache/servicecomb/demo/crossapp/CrossappBootListener.java
 create mode 100644 demo/demo-crossapp/crossapp-server/src/main/java/org/apache/servicecomb/demo/crossapp/CrossappServer.java
 create mode 100644 demo/demo-crossapp/crossapp-server/src/main/java/org/apache/servicecomb/demo/crossapp/HelloWorld.java
 create mode 100644 demo/demo-crossapp/crossapp-server/src/main/java/org/apache/servicecomb/demo/crossapp/HelloWorldImpl.java
 delete mode 100644 demo/demo-edge/authentication/src/main/java/io/servicecomb/demo/edge/authentication/AuthImpl.java
 delete mode 100644 demo/demo-edge/authentication/src/main/java/io/servicecomb/demo/edge/authentication/AuthMain.java
 create mode 100644 demo/demo-edge/authentication/src/main/java/org/apache/servicecomb/demo/edge/authentication/AuthImpl.java
 create mode 100644 demo/demo-edge/authentication/src/main/java/org/apache/servicecomb/demo/edge/authentication/AuthMain.java
 create mode 100644 demo/demo-edge/business-1-1-0/pom.xml
 create mode 100644 demo/demo-edge/business-1-1-0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V1_1_0.java
 create mode 100644 demo/demo-edge/business-1-1-0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
 create mode 100644 demo/demo-edge/business-1-1-0/src/main/resources/microservice.yaml
 create mode 100644 demo/demo-edge/business-1.0.0/pom.xml
 create mode 100644 demo/demo-edge/business-1.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V1_0_0.java
 create mode 100644 demo/demo-edge/business-1.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
 create mode 100644 demo/demo-edge/business-1.0.0/src/main/resources/microservice.yaml
 create mode 100644 demo/demo-edge/business-2.0.0/pom.xml
 create mode 100644 demo/demo-edge/business-2.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V2_0_0.java
 create mode 100644 demo/demo-edge/business-2.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
 create mode 100644 demo/demo-edge/business-2.0.0/src/main/resources/microservice.yaml
 create mode 100644 demo/demo-edge/consumer/pom.xml
 create mode 100644 demo/demo-edge/consumer/src/main/java/org/apache/servicecomb/demo/edge/consumer/Consumer.java
 create mode 100644 demo/demo-edge/consumer/src/main/java/org/apache/servicecomb/demo/edge/consumer/ConsumerMain.java
 create mode 100644 demo/demo-edge/consumer/src/main/resources/microservice.yaml
 delete mode 100644 demo/demo-edge/edge-service/src/main/java/io/servicecomb/demo/edge/service/EdgeDispatcher.java
 delete mode 100644 demo/demo-edge/edge-service/src/main/java/io/servicecomb/demo/edge/service/EdgeMain.java
 delete mode 100644 demo/demo-edge/edge-service/src/main/java/io/servicecomb/demo/edge/service/handler/Auth.java
 delete mode 100644 demo/demo-edge/edge-service/src/main/java/io/servicecomb/demo/edge/service/handler/AuthHandler.java
 create mode 100644 demo/demo-edge/edge-service/src/main/java/org/apache/servicecomb/demo/edge/service/EdgeDispatcher.java
 create mode 100644 demo/demo-edge/edge-service/src/main/java/org/apache/servicecomb/demo/edge/service/EdgeMain.java
 create mode 100644 demo/demo-edge/edge-service/src/main/java/org/apache/servicecomb/demo/edge/service/handler/Auth.java
 create mode 100644 demo/demo-edge/edge-service/src/main/java/org/apache/servicecomb/demo/edge/service/handler/AuthHandler.java
 delete mode 100644 demo/demo-edge/edge-service/src/main/resources/META-INF/services/io.servicecomb.transport.rest.vertx.VertxHttpDispatcher
 create mode 100644 demo/demo-edge/edge-service/src/main/resources/META-INF/services/org.apache.servicecomb.transport.rest.vertx.VertxHttpDispatcher
 delete mode 100644 demo/demo-edge/hiboard-business-1-1-0/pom.xml
 delete mode 100644 demo/demo-edge/hiboard-business-1-1-0/src/main/java/io/servicecomb/demo/edge/business/BusinessMain_V1_1_0.java
 delete mode 100644 demo/demo-edge/hiboard-business-1-1-0/src/main/java/io/servicecomb/demo/edge/business/Impl.java
 delete mode 100644 demo/demo-edge/hiboard-business-1-1-0/src/main/resources/microservice.yaml
 delete mode 100644 demo/demo-edge/hiboard-business-1.0.0/pom.xml
 delete mode 100644 demo/demo-edge/hiboard-business-1.0.0/src/main/java/io/servicecomb/demo/edge/business/BusinessMain_V1_0_0.java
 delete mode 100644 demo/demo-edge/hiboard-business-1.0.0/src/main/java/io/servicecomb/demo/edge/business/Impl.java
 delete mode 100644 demo/demo-edge/hiboard-business-1.0.0/src/main/resources/microservice.yaml
 delete mode 100644 demo/demo-edge/hiboard-business-2.0.0/pom.xml
 delete mode 100644 demo/demo-edge/hiboard-business-2.0.0/src/main/java/io/servicecomb/demo/edge/business/BusinessMain_V2_0_0.java
 delete mode 100644 demo/demo-edge/hiboard-business-2.0.0/src/main/java/io/servicecomb/demo/edge/business/Impl.java
 delete mode 100644 demo/demo-edge/hiboard-business-2.0.0/src/main/resources/microservice.yaml
 delete mode 100644 demo/demo-edge/hiboard-consumer/pom.xml
 delete mode 100644 demo/demo-edge/hiboard-consumer/src/main/java/io/servicecomb/demo/edge/consumer/Consumer.java
 delete mode 100644 demo/demo-edge/hiboard-consumer/src/main/java/io/servicecomb/demo/edge/consumer/ConsumerMain.java
 delete mode 100644 demo/demo-edge/hiboard-consumer/src/main/resources/microservice.yaml
 delete mode 100644 demo/demo-edge/hiboard-model/pom.xml
 delete mode 100644 demo/demo-edge/hiboard-model/src/main/java/io/servicecomb/demo/edge/model/AppClientDataRsp.java
 delete mode 100644 demo/demo-edge/hiboard-model/src/main/java/io/servicecomb/demo/edge/model/ChannelRequestBase.java
 delete mode 100644 demo/demo-edge/hiboard-model/src/main/java/io/servicecomb/demo/edge/model/ResultWithInstance.java
 create mode 100644 demo/demo-edge/model/pom.xml
 create mode 100644 demo/demo-edge/model/src/main/java/org/apache/servicecomb/demo/edge/model/AppClientDataRsp.java
 create mode 100644 demo/demo-edge/model/src/main/java/org/apache/servicecomb/demo/edge/model/ChannelRequestBase.java
 create mode 100644 demo/demo-edge/model/src/main/java/org/apache/servicecomb/demo/edge/model/ResultWithInstance.java
 delete mode 100644 demo/demo-jaxrs/jaxrs-client/src/main/java/io/servicecomb/demo/jaxrs/client/CodeFirstRestTemplateJaxrs.java
 delete mode 100644 demo/demo-jaxrs/jaxrs-client/src/main/java/io/servicecomb/demo/jaxrs/client/CustomLoadbalanceExtensionsFactory.java
 delete mode 100644 demo/demo-jaxrs/jaxrs-client/src/main/java/io/servicecomb/demo/jaxrs/client/JaxrsClient.java
 create mode 100644 demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/CodeFirstRestTemplateJaxrs.java
 create mode 100644 demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/CustomLoadbalanceExtensionsFactory.java
 create mode 100644 demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/JaxrsClient.java
 delete mode 100644 demo/demo-jaxrs/jaxrs-server/src/main/java/io/servicecomb/demo/jaxrs/server/CodeFirstJaxrs.java
 delete mode 100644 demo/demo-jaxrs/jaxrs-server/src/main/java/io/servicecomb/demo/jaxrs/server/ComputeImpl.java
 delete mode 100644 demo/demo-jaxrs/jaxrs-server/src/main/java/io/servicecomb/demo/jaxrs/server/JaxrsServer.java
 create mode 100644 demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/CodeFirstJaxrs.java
 create mode 100644 demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/ComputeImpl.java
 create mode 100644 demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/JaxrsServer.java
 delete mode 100644 demo/demo-local/src/main/java/io/servicecomb/demo/local/DemoLocal.java
 create mode 100644 demo/demo-local/src/main/java/org/apache/servicecomb/demo/local/DemoLocal.java
 delete mode 100644 demo/demo-multiple/a-client/src/main/java/io/servicecomb/demo/multiple/a/client/AClient.java
 delete mode 100644 demo/demo-multiple/a-client/src/main/java/io/servicecomb/demo/multiple/a/client/AClientMain.java
 delete mode 100644 demo/demo-multiple/a-client/src/main/java/io/servicecomb/demo/multiple/a/client/AIntf.java
 create mode 100644 demo/demo-multiple/a-client/src/main/java/org/apache/servicecomb/demo/multiple/a/client/AClient.java
 create mode 100644 demo/demo-multiple/a-client/src/main/java/org/apache/servicecomb/demo/multiple/a/client/AClientMain.java
 create mode 100644 demo/demo-multiple/a-client/src/main/java/org/apache/servicecomb/demo/multiple/a/client/AIntf.java
 delete mode 100644 demo/demo-multiple/a-server/src/main/java/io/servicecomb/demo/multiple/a/server/AImpl.java
 delete mode 100644 demo/demo-multiple/a-server/src/main/java/io/servicecomb/demo/multiple/a/server/AServerMain.java
 create mode 100644 demo/demo-multiple/a-server/src/main/java/org/apache/servicecomb/demo/multiple/a/server/AImpl.java
 create mode 100644 demo/demo-multiple/a-server/src/main/java/org/apache/servicecomb/demo/multiple/a/server/AServerMain.java
 delete mode 100644 demo/demo-multiple/b-client/src/main/java/io/servicecomb/demo/multiple/b/client/BClient.java
 delete mode 100644 demo/demo-multiple/b-client/src/main/java/io/servicecomb/demo/multiple/b/client/BClientMain.java
 delete mode 100644 demo/demo-multiple/b-client/src/main/java/io/servicecomb/demo/multiple/b/client/BIntf.java
 create mode 100644 demo/demo-multiple/b-client/src/main/java/org/apache/servicecomb/demo/multiple/b/client/BClient.java
 create mode 100644 demo/demo-multiple/b-client/src/main/java/org/apache/servicecomb/demo/multiple/b/client/BClientMain.java
 create mode 100644 demo/demo-multiple/b-client/src/main/java/org/apache/servicecomb/demo/multiple/b/client/BIntf.java
 delete mode 100644 demo/demo-multiple/b-server/src/main/java/io/servicecomb/demo/multiple/b/server/BImpl.java
 delete mode 100644 demo/demo-multiple/b-server/src/main/java/io/servicecomb/demo/multiple/b/server/BServerMain.java
 create mode 100644 demo/demo-multiple/b-server/src/main/java/org/apache/servicecomb/demo/multiple/b/server/BImpl.java
 create mode 100644 demo/demo-multiple/b-server/src/main/java/org/apache/servicecomb/demo/multiple/b/server/BServerMain.java
 delete mode 100644 demo/demo-multiple/multiple-client/src/main/java/io/servicecomb/demo/multiple/client/MultipleClient.java
 create mode 100644 demo/demo-multiple/multiple-client/src/main/java/org/apache/servicecomb/demo/multiple/client/MultipleClient.java
 delete mode 100644 demo/demo-multiple/multiple-server/src/main/java/io/servicecomb/demo/multiple/server/MultipleServer.java
 create mode 100644 demo/demo-multiple/multiple-server/src/main/java/org/apache/servicecomb/demo/multiple/server/MultipleServer.java
 delete mode 100644 demo/demo-pojo/pojo-client/src/main/java/io/servicecomb/demo/pojo/client/BeanRpcTest.java
 delete mode 100644 demo/demo-pojo/pojo-client/src/main/java/io/servicecomb/demo/pojo/client/CodeFirstPojoClient.java
 delete mode 100644 demo/demo-pojo/pojo-client/src/main/java/io/servicecomb/demo/pojo/client/CodeFirstPojoClientIntf.java
 delete mode 100644 demo/demo-pojo/pojo-client/src/main/java/io/servicecomb/demo/pojo/client/PojoClient.java
 create mode 100644 demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/BeanRpcTest.java
 create mode 100644 demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/CodeFirstPojoClient.java
 create mode 100644 demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/CodeFirstPojoClientIntf.java
 create mode 100644 demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/PojoClient.java
 delete mode 100644 demo/demo-pojo/pojo-client/src/test/java/io/servicecomb/demo/pojo/PojoIT.java
 create mode 100644 demo/demo-pojo/pojo-client/src/test/java/org/apache/servicecomb/demo/pojo/PojoIT.java
 delete mode 100644 demo/demo-pojo/pojo-server/src/main/java/io/servicecomb/demo/pojo/server/CodeFirstPojo.java
 delete mode 100644 demo/demo-pojo/pojo-server/src/main/java/io/servicecomb/demo/pojo/server/HelloImpl.java
 delete mode 100644 demo/demo-pojo/pojo-server/src/main/java/io/servicecomb/demo/pojo/server/PojoServer.java
 delete mode 100644 demo/demo-pojo/pojo-server/src/main/java/io/servicecomb/demo/pojo/server/SmartCareImpl.java
 delete mode 100644 demo/demo-pojo/pojo-server/src/main/java/io/servicecomb/demo/pojo/server/TestImpl.java
 create mode 100644 demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/CodeFirstPojo.java
 create mode 100644 demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/HelloImpl.java
 create mode 100644 demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/PojoServer.java
 create mode 100644 demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/SmartCareImpl.java
 create mode 100644 demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/TestImpl.java
 delete mode 100644 demo/demo-pojo/pojo-tests/src/test/java/io/servicecomb/demo/integration/PojoReferenceIntegrationTest.java
 delete mode 100644 demo/demo-pojo/pojo-tests/src/test/java/io/servicecomb/demo/integration/SomePojoService.java
 delete mode 100644 demo/demo-pojo/pojo-tests/src/test/java/io/servicecomb/demo/integration/SomePojoTestMain.java
 create mode 100644 demo/demo-pojo/pojo-tests/src/test/java/org/apache/servicecomb/demo/integration/PojoReferenceIntegrationTest.java
 create mode 100644 demo/demo-pojo/pojo-tests/src/test/java/org/apache/servicecomb/demo/integration/SomePojoService.java
 create mode 100644 demo/demo-pojo/pojo-tests/src/test/java/org/apache/servicecomb/demo/integration/SomePojoTestMain.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/CodeFirstPojoIntf.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/CodeFirstRestTemplate.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/DemoConst.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/DemoSSLCustom.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/TestMgr.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/compute/Compute.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/compute/Person.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/controller/Controller.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/controller/Person.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/helloworld/greeter/Hello.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/ignore/IgnoreInterface.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/ignore/InputModelForTestIgnore.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/ignore/OutputModelForTestIgnore.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/server/Test.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/server/TestRequest.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/server/TestResponse.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/server/User.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/smartcare/Application.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/smartcare/Group.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/smartcare/Response.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/smartcare/SmartCare.java
 delete mode 100644 demo/demo-schema/src/main/java/io/servicecomb/demo/tccserver/TestTcc.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/CodeFirstPojoIntf.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/CodeFirstRestTemplate.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/DemoConst.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/DemoSSLCustom.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/TestMgr.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/compute/Compute.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/compute/Person.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/controller/Controller.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/controller/Person.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/helloworld/greeter/Hello.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/ignore/IgnoreInterface.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/ignore/InputModelForTestIgnore.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/ignore/OutputModelForTestIgnore.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/server/Test.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/server/TestRequest.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/server/TestResponse.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/server/User.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/smartcare/Application.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/smartcare/Group.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/smartcare/Response.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/smartcare/SmartCare.java
 create mode 100644 demo/demo-schema/src/main/java/org/apache/servicecomb/demo/tccserver/TestTcc.java
 delete mode 100644 demo/demo-signature/src/main/java/io/servicecomb/demo/signature/ClientSignature.java
 delete mode 100644 demo/demo-signature/src/main/java/io/servicecomb/demo/signature/ServerSignature.java
 delete mode 100644 demo/demo-signature/src/main/java/io/servicecomb/demo/signature/SignatureUtils.java
 create mode 100644 demo/demo-signature/src/main/java/org/apache/servicecomb/demo/signature/ClientSignature.java
 create mode 100644 demo/demo-signature/src/main/java/org/apache/servicecomb/demo/signature/ServerSignature.java
 create mode 100644 demo/demo-signature/src/main/java/org/apache/servicecomb/demo/signature/SignatureUtils.java
 delete mode 100644 demo/demo-signature/src/main/resources/META-INF/services/io.servicecomb.common.rest.filter.HttpClientFilter
 delete mode 100644 demo/demo-signature/src/main/resources/META-INF/services/io.servicecomb.common.rest.filter.HttpServerFilter
 create mode 100644 demo/demo-signature/src/main/resources/META-INF/services/org.apache.servicecomb.common.rest.filter.HttpClientFilter
 create mode 100644 demo/demo-signature/src/main/resources/META-INF/services/org.apache.servicecomb.common.rest.filter.HttpServerFilter
 delete mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/src/test/java/io/servicecomb/demo/discovery/client/DiscoveryClientIT.java
 create mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/src/test/java/org/apache/servicecomb/demo/discovery/client/DiscoveryClientIT.java
 delete mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/src/test/resources/META-INF/LICENSE.txt
 delete mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/src/test/resources/META-INF/NOTICE.txt
 delete mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/src/main/java/io/servicecomb/demo/discovery/server/DiscoveryServer.java
 delete mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/src/main/java/io/servicecomb/demo/discovery/server/GreetingController.java
 create mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/src/main/java/org/apache/servicecomb/demo/discovery/server/DiscoveryServer.java
 create mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/src/main/java/org/apache/servicecomb/demo/discovery/server/GreetingController.java
 delete mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/src/test/java/io/servicecomb/demo/discovery/zuul/DiscoveryZuulProxyIT.java
 create mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/src/test/java/org/apache/servicecomb/demo/discovery/zuul/DiscoveryZuulProxyIT.java
 delete mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/src/test/resources/META-INF/LICENSE.txt
 delete mode 100644 demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/src/test/resources/META-INF/NOTICE.txt
 delete mode 100644 demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-client/src/main/java/io/servicecomb/springboot/jaxrs/client/JaxrsClient.java
 create mode 100644 demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-client/src/main/java/org/apache/servicecomb/springboot/jaxrs/client/JaxrsClient.java
 delete mode 100644 demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-client/src/test/java/io/servicecomb/springboot/jaxrs/SpringBootJaxrsIT.java
 create mode 100644 demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-client/src/test/java/org/apache/servicecomb/springboot/jaxrs/SpringBootJaxrsIT.java
 delete mode 100644 demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-server/src/main/java/io/servicecomb/springboot/jaxrs/server/JaxrsServer.java
 create mode 100644 demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-server/src/main/java/org/apache/servicecomb/springboot/jaxrs/server/JaxrsServer.java
 delete mode 100644 demo/demo-spring-boot-provider/demo-spring-boot-springmvc-client/src/main/java/io/servicecomb/springboot/springmvc/client/SpringmvcClient.java
 create mode 100644 demo/demo-spring-boot-provider/demo-spring-boot-springmvc-client/src/main/java/org/apache/servicecomb/springboot/springmvc/client/SpringmvcClient.java
 delete mode 100644 demo/demo-spring-boot-provider/demo-spring-boot-springmvc-server/src/main/java/io/servicecomb/springboot/springmvc/server/SpringmvcServer.java
 create mode 100644 demo/demo-spring-boot-provider/demo-spring-boot-springmvc-server/src/main/java/org/apache/servicecomb/springboot/springmvc/server/SpringmvcServer.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/io/servicecomb/demo/DemoConst.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/io/servicecomb/demo/TestMgr.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/io/servicecomb/demo/pojo/client/PojoClientTest.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/io/servicecomb/demo/server/Test.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/io/servicecomb/demo/server/TestRequest.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/io/servicecomb/demo/server/TestResponse.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/io/servicecomb/demo/server/User.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/io/servicecomb/springboot/pojo/client/PojoClient.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/org/apache/servicecomb/demo/DemoConst.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/org/apache/servicecomb/demo/TestMgr.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/PojoClientTest.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/org/apache/servicecomb/demo/server/Test.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/org/apache/servicecomb/demo/server/TestRequest.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/org/apache/servicecomb/demo/server/TestResponse.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/org/apache/servicecomb/demo/server/User.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/main/java/org/apache/servicecomb/springboot/pojo/client/PojoClient.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/test/java/io/servicecomb/springboot/pojo/client/PojoClientIT.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/src/test/java/org/apache/servicecomb/springboot/pojo/client/PojoClientIT.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/io/servicecomb/demo/helloworld/greeter/Hello.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/io/servicecomb/demo/pojo/server/HelloImpl.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/io/servicecomb/demo/pojo/server/TestImpl.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/io/servicecomb/demo/server/Test.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/io/servicecomb/demo/server/TestRequest.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/io/servicecomb/demo/server/TestResponse.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/io/servicecomb/demo/server/User.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/io/servicecomb/handler/MyHandler.java
 delete mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/io/servicecomb/springboot/pojo/server/PojoServer.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/org/apache/servicecomb/demo/helloworld/greeter/Hello.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/HelloImpl.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/TestImpl.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/org/apache/servicecomb/demo/server/Test.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/org/apache/servicecomb/demo/server/TestRequest.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/org/apache/servicecomb/demo/server/TestResponse.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/org/apache/servicecomb/demo/server/User.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/org/apache/servicecomb/handler/MyHandler.java
 create mode 100644 demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/src/main/java/org/apache/servicecomb/springboot/pojo/server/PojoServer.java
 delete mode 100644 demo/demo-springmvc/springmvc-client/src/main/java/io/servicecomb/demo/springmvc/client/CodeFirstRestTemplateSpringmvc.java
 delete mode 100644 demo/demo-springmvc/springmvc-client/src/main/java/io/servicecomb/demo/springmvc/client/CodeFirstSprigmvcIntf.java
 delete mode 100644 demo/demo-springmvc/springmvc-client/src/main/java/io/servicecomb/demo/springmvc/client/MicroserviceArray.java
 delete mode 100644 demo/demo-springmvc/springmvc-client/src/main/java/io/servicecomb/demo/springmvc/client/MockedFallbackExample.java
 delete mode 100644 demo/demo-springmvc/springmvc-client/src/main/java/io/servicecomb/demo/springmvc/client/ServiceCenterExample.java
 delete mode 100644 demo/demo-springmvc/springmvc-client/src/main/java/io/servicecomb/demo/springmvc/client/SpringmvcClient.java
 create mode 100644 demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/CodeFirstRestTemplateSpringmvc.java
 create mode 100644 demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/CodeFirstSprigmvcIntf.java
 create mode 100644 demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/MicroserviceArray.java
 create mode 100644 demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/MockedFallbackExample.java
 create mode 100644 demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/ServiceCenterExample.java
 create mode 100644 demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/SpringmvcClient.java
 delete mode 100644 demo/demo-springmvc/springmvc-client/src/test/java/io/servicecomb/demo/springmvc/SpringMvcIT.java
 create mode 100644 demo/demo-springmvc/springmvc-client/src/test/java/org/apache/servicecomb/demo/springmvc/SpringMvcIT.java
 delete mode 100644 demo/demo-springmvc/springmvc-server/src/main/java/io/servicecomb/demo/springmvc/server/CodeFirstSpringmvc.java
 delete mode 100644 demo/demo-springmvc/springmvc-server/src/main/java/io/servicecomb/demo/springmvc/server/ControllerImpl.java
 delete mode 100644 demo/demo-springmvc/springmvc-server/src/main/java/io/servicecomb/demo/springmvc/server/SpringmvcServer.java
 delete mode 100644 demo/demo-springmvc/springmvc-server/src/main/java/io/servicecomb/demo/springmvc/server/TemplateResponse.java
 create mode 100644 demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/CodeFirstSpringmvc.java
 create mode 100644 demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/ControllerImpl.java
 create mode 100644 demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/SpringmvcServer.java
 create mode 100644 demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/TemplateResponse.java
 delete mode 100644 demo/perf/src/main/java/io/servicecomb/demo/perf/Impl.java
 delete mode 100644 demo/perf/src/main/java/io/servicecomb/demo/perf/Intf.java
 delete mode 100644 demo/perf/src/main/java/io/servicecomb/demo/perf/PerfConfiguration.java
 delete mode 100644 demo/perf/src/main/java/io/servicecomb/demo/perf/PerfConsumer.java
 delete mode 100644 demo/perf/src/main/java/io/servicecomb/demo/perf/PerfMain.java
 delete mode 100644 demo/perf/src/main/java/io/servicecomb/demo/perf/PerfMetricsFilePublisher.java
 delete mode 100644 demo/perf/src/main/java/io/servicecomb/demo/perf/RedisClientUtils.java
 delete mode 100644 demo/perf/src/main/java/io/servicecomb/demo/perf/RedisSession.java
 create mode 100644 demo/perf/src/main/java/org/apache/servicecomb/demo/perf/Impl.java
 create mode 100644 demo/perf/src/main/java/org/apache/servicecomb/demo/perf/Intf.java
 create mode 100644 demo/perf/src/main/java/org/apache/servicecomb/demo/perf/PerfConfiguration.java
 create mode 100644 demo/perf/src/main/java/org/apache/servicecomb/demo/perf/PerfConsumer.java
 create mode 100644 demo/perf/src/main/java/org/apache/servicecomb/demo/perf/PerfMain.java
 create mode 100644 demo/perf/src/main/java/org/apache/servicecomb/demo/perf/PerfMetricsFilePublisher.java
 create mode 100644 demo/perf/src/main/java/org/apache/servicecomb/demo/perf/RedisClientUtils.java
 create mode 100644 demo/perf/src/main/java/org/apache/servicecomb/demo/perf/RedisSession.java
 delete mode 100644 dynamic-config/config-apollo/src/main/java/io/servicecomb/config/archaius/sources/ApolloConfigurationSourceImpl.java
 delete mode 100644 dynamic-config/config-apollo/src/main/java/io/servicecomb/config/client/ApolloClient.java
 delete mode 100644 dynamic-config/config-apollo/src/main/java/io/servicecomb/config/client/ApolloConfig.java
 delete mode 100644 dynamic-config/config-apollo/src/main/java/io/servicecomb/config/client/ConfigurationAction.java
 create mode 100644 dynamic-config/config-apollo/src/main/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImpl.java
 create mode 100644 dynamic-config/config-apollo/src/main/java/org/apache/servicecomb/config/client/ApolloClient.java
 create mode 100644 dynamic-config/config-apollo/src/main/java/org/apache/servicecomb/config/client/ApolloConfig.java
 create mode 100644 dynamic-config/config-apollo/src/main/java/org/apache/servicecomb/config/client/ConfigurationAction.java
 delete mode 100644 dynamic-config/config-apollo/src/main/resources/META-INF/services/io.servicecomb.config.spi.ConfigCenterConfigurationSource
 create mode 100644 dynamic-config/config-apollo/src/main/resources/META-INF/services/org.apache.servicecomb.config.spi.ConfigCenterConfigurationSource
 delete mode 100644 dynamic-config/config-apollo/src/test/java/io/servicecomb/config/archaius/sources/ApolloConfigurationSourceImplTest.java
 delete mode 100644 dynamic-config/config-apollo/src/test/java/io/servicecomb/config/client/ApolloClientTest.java
 delete mode 100644 dynamic-config/config-apollo/src/test/java/io/servicecomb/config/client/ApolloConfigTest.java
 create mode 100644 dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImplTest.java
 create mode 100644 dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/client/ApolloClientTest.java
 create mode 100644 dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/client/ApolloConfigTest.java
 delete mode 100644 edge/edge-core/src/main/java/io/servicecomb/edge/core/AbstractEdgeDispatcher.java
 delete mode 100644 edge/edge-core/src/main/java/io/servicecomb/edge/core/CompatiblePathVersionMapper.java
 delete mode 100644 edge/edge-core/src/main/java/io/servicecomb/edge/core/EdgeBootListener.java
 delete mode 100644 edge/edge-core/src/main/java/io/servicecomb/edge/core/EdgeInvocation.java
 delete mode 100644 edge/edge-core/src/main/java/io/servicecomb/edge/core/OperationInstancesDiscoveryFilter.java
 create mode 100644 edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/AbstractEdgeDispatcher.java
 create mode 100644 edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/CompatiblePathVersionMapper.java
 create mode 100644 edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/EdgeBootListener.java
 create mode 100644 edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/EdgeInvocation.java
 create mode 100644 edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/OperationInstancesDiscoveryFilter.java
 delete mode 100644 edge/edge-core/src/main/resources/META-INF/services/io.servicecomb.serviceregistry.discovery.DiscoveryFilter
 create mode 100644 edge/edge-core/src/main/resources/META-INF/services/org.apache.servicecomb.serviceregistry.discovery.DiscoveryFilter
 delete mode 100644 edge/edge-core/src/test/java/io/servicecomb/edge/core/TestAbstractEdgeDispatcher.java
 delete mode 100644 edge/edge-core/src/test/java/io/servicecomb/edge/core/TestCompatiblePathVersionMapper.java
 delete mode 100644 edge/edge-core/src/test/java/io/servicecomb/edge/core/TestEdgeBootListener.java
 delete mode 100644 edge/edge-core/src/test/java/io/servicecomb/edge/core/TestEdgeInvocation.java
 delete mode 100644 edge/edge-core/src/test/java/io/servicecomb/edge/core/TestOperationInstancesDiscoveryFilter.java
 create mode 100644 edge/edge-core/src/test/java/org/apache/servicecomb/edge/core/TestAbstractEdgeDispatcher.java
 create mode 100644 edge/edge-core/src/test/java/org/apache/servicecomb/edge/core/TestCompatiblePathVersionMapper.java
 create mode 100644 edge/edge-core/src/test/java/org/apache/servicecomb/edge/core/TestEdgeBootListener.java
 create mode 100644 edge/edge-core/src/test/java/org/apache/servicecomb/edge/core/TestEdgeInvocation.java
 create mode 100644 edge/edge-core/src/test/java/org/apache/servicecomb/edge/core/TestOperationInstancesDiscoveryFilter.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/auth/AuthHeaderProvider.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/auth/SignRequest.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/AbstractObjectManager.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/CommonThread.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/NamedThreadFactory.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/RegisterManager.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/base/DescriptiveRunnable.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/base/ServiceCombConstants.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/cache/VersionedCache.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/concurrent/ConcurrentHashMapEx.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/config/ConfigLoader.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/config/ConfigMgr.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/config/PaaSPropertyPlaceholderConfigurer.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/config/PaaSResourceUtils.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/config/impl/AbstractLoader.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/config/impl/IdXmlLoader.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/config/impl/IncConfigs.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/config/impl/PaaSPropertiesLoaderUtils.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/config/impl/PropertiesLoader.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/config/impl/XmlLoader.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/config/impl/XmlLoaderUtils.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/event/Event.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/event/EventBus.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/event/EventListener.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/event/EventManager.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/exceptions/ServiceCombException.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/http/HttpStatus.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/http/HttpStatusManager.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/http/HttpStatusUtils.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/net/IpPort.java
 delete mode 100755 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/net/NetUtils.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/net/URIEndpointObject.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/part/AbstractPart.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/part/FilePart.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/part/InputStreamPart.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/part/ResourcePart.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/spring/PaasNamespaceHandler.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/utils/BeanUtils.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/utils/EventUtils.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/utils/FilePerm.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/utils/FortifyUtils.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/utils/JsonUtils.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/utils/Log4jUtils.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/utils/RSAKeyPairEntry.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/utils/RSAUtils.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/utils/ReflectUtils.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/utils/RollingFileAppenderExt.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/common/utils/SPIServiceUtils.java
 delete mode 100644 foundations/foundation-common/src/main/java/io/servicecomb/foundation/token/RSAKeypair4Auth.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/auth/AuthHeaderProvider.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/auth/SignRequest.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/AbstractObjectManager.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/CommonThread.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/NamedThreadFactory.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/RegisterManager.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/base/DescriptiveRunnable.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/base/ServiceCombConstants.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/cache/VersionedCache.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/concurrent/ConcurrentHashMapEx.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/ConfigLoader.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/ConfigMgr.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/PaaSPropertyPlaceholderConfigurer.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/PaaSResourceUtils.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/impl/AbstractLoader.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/impl/IdXmlLoader.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/impl/IncConfigs.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/impl/PaaSPropertiesLoaderUtils.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/impl/PropertiesLoader.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/impl/XmlLoader.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/impl/XmlLoaderUtils.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/event/Event.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/event/EventBus.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/event/EventListener.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/event/EventManager.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/exceptions/ServiceCombException.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/http/HttpStatus.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/http/HttpStatusManager.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/http/HttpStatusUtils.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/net/IpPort.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/net/NetUtils.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/net/URIEndpointObject.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/part/AbstractPart.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/part/FilePart.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/part/InputStreamPart.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/part/ResourcePart.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/spring/PaasNamespaceHandler.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/BeanUtils.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/EventUtils.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/FilePerm.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/FortifyUtils.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/JsonUtils.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/Log4jUtils.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/RSAKeyPairEntry.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/RSAUtils.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/ReflectUtils.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/RollingFileAppenderExt.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/SPIServiceUtils.java
 create mode 100644 foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/token/RSAKeypair4Auth.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/cache/TestVersionedCache.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/config/BeanProp.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/config/TestConfig.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/event/TestEventBus.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/event/TestEventManager.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/http/TestHttpStatus.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/http/TestHttpStatusUtils.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/net/TestIpPort.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/net/TestNetUtils.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/net/TestURIEndpointObject.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/part/TestAbstractPart.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/part/TestFilePart.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/part/TestInputStreamPart.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/part/TestResourcePart.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/spring/TestPaasNamespaceHandler.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/utils/SPIServiceDef.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/utils/SPIServiceDef0.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/utils/SPIServiceDefImpl.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/utils/TestBeanUtils.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/utils/TestFortifyUtils.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/utils/TestRSAUtil.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/utils/TestRollingFileAppenderExt.java
 delete mode 100644 foundations/foundation-common/src/test/java/io/servicecomb/foundation/common/utils/TestSPIServiceUtils.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/cache/TestVersionedCache.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/config/BeanProp.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/config/TestConfig.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/event/TestEventBus.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/event/TestEventManager.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/http/TestHttpStatus.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/http/TestHttpStatusUtils.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestIpPort.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestNetUtils.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/net/TestURIEndpointObject.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/part/TestAbstractPart.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/part/TestFilePart.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/part/TestInputStreamPart.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/part/TestResourcePart.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/spring/TestPaasNamespaceHandler.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/SPIServiceDef.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/SPIServiceDef0.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/SPIServiceDefImpl.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestBeanUtils.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestFortifyUtils.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestRSAUtil.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestRollingFileAppenderExt.java
 create mode 100644 foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestSPIServiceUtils.java
 delete mode 100644 foundations/foundation-common/src/test/resources/META-INF/services/io.servicecomb.foundation.common.utils.SPIServiceDef
 create mode 100644 foundations/foundation-common/src/test/resources/META-INF/services/org.apache.servicecomb.foundation.common.utils.SPIServiceDef
 delete mode 100644 foundations/foundation-config-cc/src/main/java/io/servicecomb/config/archaius/sources/ConfigCenterConfigurationSourceImpl.java
 delete mode 100644 foundations/foundation-config-cc/src/main/java/io/servicecomb/config/client/ConfigCenterClient.java
 delete mode 100644 foundations/foundation-config-cc/src/main/java/io/servicecomb/config/client/ConfigCenterConfig.java
 delete mode 100644 foundations/foundation-config-cc/src/main/java/io/servicecomb/config/client/MemberDiscovery.java
 delete mode 100644 foundations/foundation-config-cc/src/main/java/io/servicecomb/config/client/ParseConfigUtils.java
 delete mode 100644 foundations/foundation-config-cc/src/main/java/io/servicecomb/config/client/URIConst.java
 create mode 100644 foundations/foundation-config-cc/src/main/java/org/apache/servicecomb/config/archaius/sources/ConfigCenterConfigurationSourceImpl.java
 create mode 100644 foundations/foundation-config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterClient.java
 create mode 100644 foundations/foundation-config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterConfig.java
 create mode 100644 foundations/foundation-config-cc/src/main/java/org/apache/servicecomb/config/client/MemberDiscovery.java
 create mode 100644 foundations/foundation-config-cc/src/main/java/org/apache/servicecomb/config/client/ParseConfigUtils.java
 create mode 100644 foundations/foundation-config-cc/src/main/java/org/apache/servicecomb/config/client/URIConst.java
 delete mode 100644 foundations/foundation-config-cc/src/main/resources/META-INF/services/io.servicecomb.config.spi.ConfigCenterConfigurationSource
 create mode 100644 foundations/foundation-config-cc/src/main/resources/META-INF/services/org.apache.servicecomb.config.spi.ConfigCenterConfigurationSource
 delete mode 100644 foundations/foundation-config-cc/src/test/java/io/servicecomb/config/archaius/sources/TestConfigCenterConfigurationSource.java
 delete mode 100644 foundations/foundation-config-cc/src/test/java/io/servicecomb/config/client/TestConfigCenterClient.java
 delete mode 100644 foundations/foundation-config-cc/src/test/java/io/servicecomb/config/client/TestConfigCenterConfig.java
 delete mode 100644 foundations/foundation-config-cc/src/test/java/io/servicecomb/config/client/TestMemberDiscovery.java
 delete mode 100644 foundations/foundation-config-cc/src/test/java/io/servicecomb/config/client/TestParseConfigUtils.java
 delete mode 100644 foundations/foundation-config-cc/src/test/java/io/servicecomb/config/client/TestURIConst.java
 create mode 100644 foundations/foundation-config-cc/src/test/java/org/apache/servicecomb/config/archaius/sources/TestConfigCenterConfigurationSource.java
 create mode 100644 foundations/foundation-config-cc/src/test/java/org/apache/servicecomb/config/client/TestConfigCenterClient.java
 create mode 100644 foundations/foundation-config-cc/src/test/java/org/apache/servicecomb/config/client/TestConfigCenterConfig.java
 create mode 100644 foundations/foundation-config-cc/src/test/java/org/apache/servicecomb/config/client/TestMemberDiscovery.java
 create mode 100644 foundations/foundation-config-cc/src/test/java/org/apache/servicecomb/config/client/TestParseConfigUtils.java
 create mode 100644 foundations/foundation-config-cc/src/test/java/org/apache/servicecomb/config/client/TestURIConst.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/ConfigMapping.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/ConfigUtil.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/ConfigurationSpringInitializer.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/DynamicProperties.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/DynamicPropertiesImpl.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/LastPropertyPlaceholderConfigurer.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/YAMLUtil.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/archaius/scheduler/NeverStartPollingScheduler.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/archaius/sources/AbstractConfigLoader.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/archaius/sources/ConfigModel.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/archaius/sources/ConfigSourceMaker.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/archaius/sources/MicroserviceConfigLoader.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/archaius/sources/MicroserviceConfigurationSource.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/archaius/sources/YAMLConfigLoader.java
 delete mode 100644 foundations/foundation-config/src/main/java/io/servicecomb/config/spi/ConfigCenterConfigurationSource.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigMapping.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigUtil.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigurationSpringInitializer.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/DynamicProperties.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/DynamicPropertiesImpl.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/LastPropertyPlaceholderConfigurer.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/YAMLUtil.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/scheduler/NeverStartPollingScheduler.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/AbstractConfigLoader.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/ConfigModel.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/ConfigSourceMaker.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/MicroserviceConfigLoader.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/MicroserviceConfigurationSource.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/YAMLConfigLoader.java
 create mode 100644 foundations/foundation-config/src/main/java/org/apache/servicecomb/config/spi/ConfigCenterConfigurationSource.java
 delete mode 100644 foundations/foundation-config/src/test/java/io/servicecomb/config/DynamicPropertiesTest.java
 delete mode 100644 foundations/foundation-config/src/test/java/io/servicecomb/config/MapBasedConfigurationSource.java
 delete mode 100644 foundations/foundation-config/src/test/java/io/servicecomb/config/TestConfigMapping.java
 delete mode 100644 foundations/foundation-config/src/test/java/io/servicecomb/config/TestConfigUtil.java
 delete mode 100644 foundations/foundation-config/src/test/java/io/servicecomb/config/TestConfigurationSpringInitializer.java
 delete mode 100644 foundations/foundation-config/src/test/java/io/servicecomb/config/TestLastPropertyPlaceholderConfigurer.java
 delete mode 100644 foundations/foundation-config/src/test/java/io/servicecomb/config/archaius/sources/TestMicroserviceConfigLoader.java
 delete mode 100644 foundations/foundation-config/src/test/java/io/servicecomb/config/archaius/sources/TestYAMLConfigurationSource.java
 create mode 100644 foundations/foundation-config/src/test/java/org/apache/servicecomb/config/DynamicPropertiesTest.java
 create mode 100644 foundations/foundation-config/src/test/java/org/apache/servicecomb/config/MapBasedConfigurationSource.java
 create mode 100644 foundations/foundation-config/src/test/java/org/apache/servicecomb/config/TestConfigMapping.java
 create mode 100644 foundations/foundation-config/src/test/java/org/apache/servicecomb/config/TestConfigUtil.java
 create mode 100644 foundations/foundation-config/src/test/java/org/apache/servicecomb/config/TestConfigurationSpringInitializer.java
 create mode 100644 foundations/foundation-config/src/test/java/org/apache/servicecomb/config/TestLastPropertyPlaceholderConfigurer.java
 create mode 100644 foundations/foundation-config/src/test/java/org/apache/servicecomb/config/archaius/sources/TestMicroserviceConfigLoader.java
 create mode 100644 foundations/foundation-config/src/test/java/org/apache/servicecomb/config/archaius/sources/TestYAMLConfigurationSource.java
 delete mode 100644 foundations/foundation-config/src/test/resources/META-INF/services/io.servicecomb.config.spi.ConfigCenterConfigurationSource
 create mode 100644 foundations/foundation-config/src/test/resources/META-INF/services/org.apache.servicecomb.config.spi.ConfigCenterConfigurationSource
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/Metrics.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/MetricsConfig.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/MetricsServoRegistry.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/MetricsThread.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/TpsAndLatencyData.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/output/MetricsFileOutput.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/output/servo/FileOutputMetricObserver.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/output/servo/MetricsContentConvertor.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/output/servo/MetricsContentFormatter.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/output/servo/MetricsObserverInitializer.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/output/servo/RollingMetricsFileOutput.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/output/servo/SimpleMetricsContentConvertor.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/output/servo/SimpleMetricsContentFormatter.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/performance/MetricsDataMonitor.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/performance/MetricsDataMonitorUtil.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/performance/PerfResult.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/performance/PerfStat.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/performance/PerfStatContext.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/performance/PerfStatData.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/performance/PerfStatImpl.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/performance/PerfStatMonitor.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/performance/PerfStatMonitorMgr.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/performance/PerfStatSuccFail.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/performance/QueueMetrics.java
 delete mode 100644 foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/performance/QueueMetricsData.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/Metrics.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/MetricsConfig.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/MetricsServoRegistry.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/MetricsThread.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/TpsAndLatencyData.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/output/MetricsFileOutput.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/output/servo/FileOutputMetricObserver.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/output/servo/MetricsContentConvertor.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/output/servo/MetricsContentFormatter.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/output/servo/MetricsObserverInitializer.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/output/servo/RollingMetricsFileOutput.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/output/servo/SimpleMetricsContentConvertor.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/output/servo/SimpleMetricsContentFormatter.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/performance/MetricsDataMonitor.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/performance/MetricsDataMonitorUtil.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/performance/PerfResult.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/performance/PerfStat.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/performance/PerfStatContext.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/performance/PerfStatData.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/performance/PerfStatImpl.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/performance/PerfStatMonitor.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/performance/PerfStatMonitorMgr.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/performance/PerfStatSuccFail.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/performance/QueueMetrics.java
 create mode 100644 foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/performance/QueueMetricsData.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/TestFileOutputMetricObserverAndContentConvertor.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/TestMetrics.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/TestMetricsServoRegistry.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/TestMetricsThread.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/TestSimpleMetricsContentFormatter.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/performance/TestMetricsDataMonitor.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/performance/TestMetricsDataMonitorUtil.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/performance/TestPerfResult.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/performance/TestPerfStatContext.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/performance/TestPerfStatData.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/performance/TestPerfStatImpl.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/performance/TestPerfStatMonitor.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/performance/TestPerfStatMonitorMgr.java
 delete mode 100644 foundations/foundation-metrics/src/test/java/io/servicecomb/foundation/metrics/performance/TestPerfStatSuccFail.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/TestFileOutputMetricObserverAndContentConvertor.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/TestMetrics.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/TestMetricsServoRegistry.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/TestMetricsThread.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/TestSimpleMetricsContentFormatter.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/performance/TestMetricsDataMonitor.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/performance/TestMetricsDataMonitorUtil.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/performance/TestPerfResult.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/performance/TestPerfStatContext.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/performance/TestPerfStatData.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/performance/TestPerfStatImpl.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/performance/TestPerfStatMonitor.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/performance/TestPerfStatMonitorMgr.java
 create mode 100644 foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/performance/TestPerfStatSuccFail.java
 delete mode 100644 foundations/foundation-ssl/src/main/java/io/servicecomb/foundation/ssl/CertificateUtil.java
 delete mode 100644 foundations/foundation-ssl/src/main/java/io/servicecomb/foundation/ssl/KeyStoreUtil.java
 delete mode 100644 foundations/foundation-ssl/src/main/java/io/servicecomb/foundation/ssl/SSLCustom.java
 delete mode 100644 foundations/foundation-ssl/src/main/java/io/servicecomb/foundation/ssl/SSLManager.java
 delete mode 100644 foundations/foundation-ssl/src/main/java/io/servicecomb/foundation/ssl/SSLOption.java
 delete mode 100644 foundations/foundation-ssl/src/main/java/io/servicecomb/foundation/ssl/SSLOptionFactory.java
 delete mode 100644 foundations/foundation-ssl/src/main/java/io/servicecomb/foundation/ssl/SSLSocketFactoryExt.java
 delete mode 100644 foundations/foundation-ssl/src/main/java/io/servicecomb/foundation/ssl/TrustAllManager.java
 delete mode 100644 foundations/foundation-ssl/src/main/java/io/servicecomb/foundation/ssl/TrustManagerExt.java
 create mode 100644 foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/CertificateUtil.java
 create mode 100644 foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/KeyStoreUtil.java
 create mode 100644 foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLCustom.java
 create mode 100644 foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLManager.java
 create mode 100644 foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOption.java
 create mode 100644 foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOptionFactory.java
 create mode 100644 foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLSocketFactoryExt.java
 create mode 100644 foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/TrustAllManager.java
 create mode 100644 foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/TrustManagerExt.java
 delete mode 100644 foundations/foundation-ssl/src/test/java/io/servicecomb/foundation/ssl/CertificateUtilTest.java
 delete mode 100644 foundations/foundation-ssl/src/test/java/io/servicecomb/foundation/ssl/KeyStoreUtilTest.java
 delete mode 100644 foundations/foundation-ssl/src/test/java/io/servicecomb/foundation/ssl/MyOptionFactory.java
 delete mode 100644 foundations/foundation-ssl/src/test/java/io/servicecomb/foundation/ssl/SSLManagerTest.java
 delete mode 100644 foundations/foundation-ssl/src/test/java/io/servicecomb/foundation/ssl/SSLOptionTest.java
 delete mode 100644 foundations/foundation-ssl/src/test/java/io/servicecomb/foundation/ssl/TestSSLOptionFactory.java
 delete mode 100644 foundations/foundation-ssl/src/test/java/io/servicecomb/foundation/ssl/TestSSLSocketFactoryExt.java
 delete mode 100644 foundations/foundation-ssl/src/test/java/io/servicecomb/foundation/ssl/TestTrustAllManager.java
 delete mode 100644 foundations/foundation-ssl/src/test/java/io/servicecomb/foundation/ssl/TrustManagerExtTest.java
 create mode 100644 foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/CertificateUtilTest.java
 create mode 100644 foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/KeyStoreUtilTest.java
 create mode 100644 foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/MyOptionFactory.java
 create mode 100644 foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/SSLManagerTest.java
 create mode 100644 foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/SSLOptionTest.java
 create mode 100644 foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/TestSSLOptionFactory.java
 create mode 100644 foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/TestSSLSocketFactoryExt.java
 create mode 100644 foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/TestTrustAllManager.java
 create mode 100644 foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/TrustManagerExtTest.java
 delete mode 100644 foundations/foundation-test-scaffolding/src/main/java/io/servicecomb/foundation/test/scaffolding/config/ArchaiusUtils.java
 delete mode 100644 foundations/foundation-test-scaffolding/src/main/java/io/servicecomb/foundation/test/scaffolding/spring/SpringUtils.java
 create mode 100644 foundations/foundation-test-scaffolding/src/main/java/org/apache/servicecomb/foundation/test/scaffolding/config/ArchaiusUtils.java
 create mode 100644 foundations/foundation-test-scaffolding/src/main/java/org/apache/servicecomb/foundation/test/scaffolding/spring/SpringUtils.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/AsyncResultCallback.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/SimpleBodyHandler.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/SimpleJsonObject.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/VertxTLSBuilder.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/VertxUtils.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/ClientPoolFactory.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/ClientPoolManager.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/ClientVerticle.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/http/HttpClientPoolFactory.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/http/HttpClientWithContext.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/tcp/AbstractTcpClientConnectionPool.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/tcp/AbstractTcpClientPackage.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/tcp/AbstractTcpClientPoolFactory.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/tcp/NetClientWrapper.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/tcp/TcpClientConfig.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/tcp/TcpClientConnection.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/tcp/TcpClientConnectionPool.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/tcp/TcpClientPackage.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/tcp/TcpClientPoolFactory.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/tcp/TcpData.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/tcp/TcpRequest.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/client/tcp/TcpResponseCallback.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/executor/VertxWorkerExecutor.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/AbstractHttpServletRequest.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/AbstractHttpServletResponse.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/BodyBufferSupport.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/BodyBufferSupportImpl.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/EmptyAsyncContext.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/FileUploadPart.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/HttpServletRequestEx.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/HttpServletResponseEx.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/StandardHttpServletRequestEx.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/StandardHttpServletResponseEx.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/VertxClientRequestToHttpServletRequest.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/VertxClientResponseToHttpServletResponse.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/VertxServerRequestToHttpServletRequest.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/http/VertxServerResponseToHttpServletResponse.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/server/TcpBufferHandler.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/server/TcpParser.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/server/TcpServer.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/server/TcpServerConnection.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/stream/BufferInputStream.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/stream/BufferOutputStream.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/stream/InputStreamToReadStream.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/tcp/TcpConnection.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/tcp/TcpConst.java
 delete mode 100644 foundations/foundation-vertx/src/main/java/io/servicecomb/foundation/vertx/tcp/TcpOutputStream.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/AsyncResultCallback.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/SimpleBodyHandler.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/SimpleJsonObject.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/VertxTLSBuilder.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/VertxUtils.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/ClientPoolFactory.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/ClientPoolManager.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/ClientVerticle.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/http/HttpClientPoolFactory.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/http/HttpClientWithContext.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/AbstractTcpClientConnectionPool.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/AbstractTcpClientPackage.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/AbstractTcpClientPoolFactory.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/NetClientWrapper.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/TcpClientConfig.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/TcpClientConnection.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/TcpClientConnectionPool.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/TcpClientPackage.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/TcpClientPoolFactory.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/TcpData.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/TcpRequest.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/TcpResponseCallback.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/executor/VertxWorkerExecutor.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/AbstractHttpServletRequest.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/AbstractHttpServletResponse.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/BodyBufferSupport.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/BodyBufferSupportImpl.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/EmptyAsyncContext.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/FileUploadPart.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/HttpServletRequestEx.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/HttpServletResponseEx.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/StandardHttpServletRequestEx.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/StandardHttpServletResponseEx.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/VertxClientRequestToHttpServletRequest.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/VertxClientResponseToHttpServletResponse.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/VertxServerRequestToHttpServletRequest.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/http/VertxServerResponseToHttpServletResponse.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/server/TcpBufferHandler.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/server/TcpParser.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/server/TcpServer.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/server/TcpServerConnection.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/BufferInputStream.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/BufferOutputStream.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/stream/InputStreamToReadStream.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/tcp/TcpConnection.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/tcp/TcpConst.java
 create mode 100644 foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/tcp/TcpOutputStream.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/TestSimpleBodyHandler.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/TestSimpleJsonObject.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/TestStream.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/TestVertxTLSBuilder.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/TestVertxUtils.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/client/TestClientPoolManager.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/client/TestClientVerticle.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/client/http/TestHttpClientPoolFactory.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/client/tcp/TestAbstractTcpClientPoolFactory.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/client/tcp/TestNetClientWrapper.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/client/tcp/TestTcpClientConfig.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/client/tcp/TestTcpClientConnection.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/client/tcp/TestTcpClientConnectionPool.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/http/TestAbstractHttpServletRequest.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/http/TestAbstractHttpServletResponse.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/http/TestBodyBufferSupportImpl.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/http/TestFileUploadPart.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/http/TestStandardHttpServletRequestEx.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/http/TestStandardHttpServletResponseEx.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/http/TestVertxClientRequestToHttpServletRequest.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/http/TestVertxClientResponseToHttpServletResponse.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/http/TestVertxServerRequestToHttpServletRequest.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/http/TestVertxServerResponseToHttpServletResponse.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/server/TestTcpParser.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/server/TestTcpServer.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/server/TestTcpServerConnection.java
 delete mode 100644 foundations/foundation-vertx/src/test/java/io/servicecomb/foundation/vertx/stream/TestBufferInputStream.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/TestSimpleBodyHandler.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/TestSimpleJsonObject.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/TestStream.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/TestVertxTLSBuilder.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/TestVertxUtils.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/TestClientPoolManager.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/TestClientVerticle.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/http/TestHttpClientPoolFactory.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/tcp/TestAbstractTcpClientPoolFactory.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/tcp/TestNetClientWrapper.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/tcp/TestTcpClientConfig.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/tcp/TestTcpClientConnection.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/tcp/TestTcpClientConnectionPool.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/http/TestAbstractHttpServletRequest.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/http/TestAbstractHttpServletResponse.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/http/TestBodyBufferSupportImpl.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/http/TestFileUploadPart.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/http/TestStandardHttpServletRequestEx.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/http/TestStandardHttpServletResponseEx.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/http/TestVertxClientRequestToHttpServletRequest.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/http/TestVertxClientResponseToHttpServletResponse.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/http/TestVertxServerRequestToHttpServletRequest.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/http/TestVertxServerResponseToHttpServletResponse.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/server/TestTcpParser.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/server/TestTcpServer.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/server/TestTcpServerConnection.java
 create mode 100644 foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/stream/TestBufferInputStream.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/BeansHolder.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/BizkeeperCommand.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/BizkeeperExceptionUtils.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/BizkeeperHandler.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/BizkeeperHandlerDelegate.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/BizkeeperRequestContext.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/CommandKey.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/Configuration.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/ConsumerBizkeeperCommand.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/ConsumerBizkeeperHandler.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/FallbackPolicy.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/FallbackPolicyManager.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/FromCacheFallbackPolicy.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/HystrixCommandPropertiesExt.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/HystrixPropertiesStrategyExt.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/ProviderBizkeeperCommand.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/ProviderBizkeeperHanlder.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/ReturnNullFallbackPolicy.java
 delete mode 100644 handlers/handler-bizkeeper/src/main/java/io/servicecomb/bizkeeper/ThrowExceptionFallbackPolicy.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/BeansHolder.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/BizkeeperCommand.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/BizkeeperExceptionUtils.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/BizkeeperHandler.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/BizkeeperHandlerDelegate.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/BizkeeperRequestContext.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/CommandKey.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/Configuration.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/ConsumerBizkeeperCommand.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/ConsumerBizkeeperHandler.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/FallbackPolicy.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/FallbackPolicyManager.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/FromCacheFallbackPolicy.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/HystrixCommandPropertiesExt.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/HystrixPropertiesStrategyExt.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/ProviderBizkeeperCommand.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/ProviderBizkeeperHanlder.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/ReturnNullFallbackPolicy.java
 create mode 100644 handlers/handler-bizkeeper/src/main/java/org/apache/servicecomb/bizkeeper/ThrowExceptionFallbackPolicy.java
 delete mode 100644 handlers/handler-bizkeeper/src/test/java/io/servicecomb/bizkeeper/TestBizkeeperCommand.java
 delete mode 100644 handlers/handler-bizkeeper/src/test/java/io/servicecomb/bizkeeper/TestBizkeeperExceptionUtils.java
 delete mode 100644 handlers/handler-bizkeeper/src/test/java/io/servicecomb/bizkeeper/TestBizkeeperHandler.java
 delete mode 100644 handlers/handler-bizkeeper/src/test/java/io/servicecomb/bizkeeper/TestBizkeeperRequestContext.java
 delete mode 100644 handlers/handler-bizkeeper/src/test/java/io/servicecomb/bizkeeper/TestCommandKey.java
 delete mode 100644 handlers/handler-bizkeeper/src/test/java/io/servicecomb/bizkeeper/TestConfiguration.java
 delete mode 100644 handlers/handler-bizkeeper/src/test/java/io/servicecomb/bizkeeper/TestConsumerBizkeeperHandler.java
 delete mode 100644 handlers/handler-bizkeeper/src/test/java/io/servicecomb/bizkeeper/TestFallbackPolicyManager.java
 delete mode 100644 handlers/handler-bizkeeper/src/test/java/io/servicecomb/bizkeeper/TestHystrixPropertiesStrategyExt.java
 delete mode 100644 handlers/handler-bizkeeper/src/test/java/io/servicecomb/bizkeeper/TestProviderBizkeeperHandler.java
 create mode 100644 handlers/handler-bizkeeper/src/test/java/org/apache/servicecomb/bizkeeper/TestBizkeeperCommand.java
 create mode 100644 handlers/handler-bizkeeper/src/test/java/org/apache/servicecomb/bizkeeper/TestBizkeeperExceptionUtils.java
 create mode 100644 handlers/handler-bizkeeper/src/test/java/org/apache/servicecomb/bizkeeper/TestBizkeeperHandler.java
 create mode 100644 handlers/handler-bizkeeper/src/test/java/org/apache/servicecomb/bizkeeper/TestBizkeeperRequestContext.java
 create mode 100644 handlers/handler-bizkeeper/src/test/java/org/apache/servicecomb/bizkeeper/TestCommandKey.java
 create mode 100644 handlers/handler-bizkeeper/src/test/java/org/apache/servicecomb/bizkeeper/TestConfiguration.java
 create mode 100644 handlers/handler-bizkeeper/src/test/java/org/apache/servicecomb/bizkeeper/TestConsumerBizkeeperHandler.java
 create mode 100644 handlers/handler-bizkeeper/src/test/java/org/apache/servicecomb/bizkeeper/TestFallbackPolicyManager.java
 create mode 100644 handlers/handler-bizkeeper/src/test/java/org/apache/servicecomb/bizkeeper/TestHystrixPropertiesStrategyExt.java
 create mode 100644 handlers/handler-bizkeeper/src/test/java/org/apache/servicecomb/bizkeeper/TestProviderBizkeeperHandler.java
 delete mode 100644 handlers/handler-flowcontrol-qps/src/main/java/io/servicecomb/qps/Config.java
 delete mode 100644 handlers/handler-flowcontrol-qps/src/main/java/io/servicecomb/qps/ConsumerQpsControllerManager.java
 delete mode 100644 handlers/handler-flowcontrol-qps/src/main/java/io/servicecomb/qps/ConsumerQpsFlowControlHandler.java
 delete mode 100644 handlers/handler-flowcontrol-qps/src/main/java/io/servicecomb/qps/ProviderQpsControllerManager.java
 delete mode 100644 handlers/handler-flowcontrol-qps/src/main/java/io/servicecomb/qps/ProviderQpsFlowControlHandler.java
 delete mode 100644 handlers/handler-flowcontrol-qps/src/main/java/io/servicecomb/qps/QpsConst.java
 delete mode 100644 handlers/handler-flowcontrol-qps/src/main/java/io/servicecomb/qps/QpsController.java
 create mode 100644 handlers/handler-flowcontrol-qps/src/main/java/org/apache/servicecomb/qps/Config.java
 create mode 100644 handlers/handler-flowcontrol-qps/src/main/java/org/apache/servicecomb/qps/ConsumerQpsControllerManager.java
 create mode 100644 handlers/handler-flowcontrol-qps/src/main/java/org/apache/servicecomb/qps/ConsumerQpsFlowControlHandler.java
 create mode 100644 handlers/handler-flowcontrol-qps/src/main/java/org/apache/servicecomb/qps/ProviderQpsControllerManager.java
 create mode 100644 handlers/handler-flowcontrol-qps/src/main/java/org/apache/servicecomb/qps/ProviderQpsFlowControlHandler.java
 create mode 100644 handlers/handler-flowcontrol-qps/src/main/java/org/apache/servicecomb/qps/QpsConst.java
 create mode 100644 handlers/handler-flowcontrol-qps/src/main/java/org/apache/servicecomb/qps/QpsController.java
 delete mode 100644 handlers/handler-flowcontrol-qps/src/test/java/io/servicecomb/qps/TestConfig.java
 delete mode 100644 handlers/handler-flowcontrol-qps/src/test/java/io/servicecomb/qps/TestConsumerQpsControllermanager.java
 delete mode 100644 handlers/handler-flowcontrol-qps/src/test/java/io/servicecomb/qps/TestConsumerQpsFlowControlHandler.java
 delete mode 100644 handlers/handler-flowcontrol-qps/src/test/java/io/servicecomb/qps/TestProviderQpsControllermanager.java
 delete mode 100644 handlers/handler-flowcontrol-qps/src/test/java/io/servicecomb/qps/TestProviderQpsFlowControlHandler.java
 delete mode 100644 handlers/handler-flowcontrol-qps/src/test/java/io/servicecomb/qps/Utils.java
 create mode 100644 handlers/handler-flowcontrol-qps/src/test/java/org/apache/servicecomb/qps/TestConfig.java
 create mode 100644 handlers/handler-flowcontrol-qps/src/test/java/org/apache/servicecomb/qps/TestConsumerQpsControllermanager.java
 create mode 100644 handlers/handler-flowcontrol-qps/src/test/java/org/apache/servicecomb/qps/TestConsumerQpsFlowControlHandler.java
 create mode 100644 handlers/handler-flowcontrol-qps/src/test/java/org/apache/servicecomb/qps/TestProviderQpsControllermanager.java
 create mode 100644 handlers/handler-flowcontrol-qps/src/test/java/org/apache/servicecomb/qps/TestProviderQpsFlowControlHandler.java
 create mode 100644 handlers/handler-flowcontrol-qps/src/test/java/org/apache/servicecomb/qps/Utils.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/BeansHolder.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/Configuration.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/CseServer.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/DefaultRetryExtensionsFactory.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/ExtensionsFactory.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/ExtensionsManager.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/LoadBalancer.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/LoadbalanceClientConfig.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/LoadbalanceHandler.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/RuleClassNameExtentionsFactory.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/RuleNameExtentionsFactory.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/ServerListFilterExt.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/SessionStickinessRule.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/exception/LoadbalanceExceptionUtils.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/filter/CseServerDiscoveryFilter.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/filter/IsolationServerListFilter.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/filter/SimpleTransactionControlFilter.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/filter/TransactionControlFilter.java
 delete mode 100644 handlers/handler-loadbalance/src/main/java/io/servicecomb/loadbalance/filter/ZoneAwareServerListFilterExt.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/BeansHolder.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/Configuration.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/CseServer.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/DefaultRetryExtensionsFactory.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/ExtensionsFactory.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/ExtensionsManager.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/LoadBalancer.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/LoadbalanceClientConfig.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/LoadbalanceHandler.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/RuleClassNameExtentionsFactory.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/RuleNameExtentionsFactory.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/ServerListFilterExt.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/SessionStickinessRule.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/exception/LoadbalanceExceptionUtils.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filter/CseServerDiscoveryFilter.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filter/IsolationServerListFilter.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filter/SimpleTransactionControlFilter.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filter/TransactionControlFilter.java
 create mode 100644 handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/filter/ZoneAwareServerListFilterExt.java
 delete mode 100644 handlers/handler-loadbalance/src/test/java/io/servicecomb/loadbalance/MyServerListFilterExt.java
 delete mode 100644 handlers/handler-loadbalance/src/test/java/io/servicecomb/loadbalance/TestConfiguration.java
 delete mode 100644 handlers/handler-loadbalance/src/test/java/io/servicecomb/loadbalance/TestCseServer.java
 delete mode 100644 handlers/handler-loadbalance/src/test/java/io/servicecomb/loadbalance/TestExtensionsManager.java
 delete mode 100644 handlers/handler-loadbalance/src/test/java/io/servicecomb/loadbalance/TestLoadBalancer.java
 delete mode 100644 handlers/handler-loadbalance/src/test/java/io/servicecomb/loadbalance/TestLoadbalanceClientConfig.java
 delete mode 100644 handlers/handler-loadbalance/src/test/java/io/servicecomb/loadbalance/TestLoadbalanceHandler.java
 delete mode 100644 handlers/handler-loadbalance/src/test/java/io/servicecomb/loadbalance/TestSessionSticknessRule.java
 delete mode 100644 handlers/handler-loadbalance/src/test/java/io/servicecomb/loadbalance/exception/TestLoadbalanceExceptionUtils.java
 delete mode 100644 handlers/handler-loadbalance/src/test/java/io/servicecomb/loadbalance/filter/TestCseServerDiscoveryFilter.java
 delete mode 100644 handlers/handler-loadbalance/src/test/java/io/servicecomb/loadbalance/filter/TestIsolationServerListFilter.java
 delete mode 100644 handlers/handler-loadbalance/src/test/java/io/servicecomb/loadbalance/filter/TestSimpleTransactionControlFilter.java
 delete mode 100644 handlers/handler-loadbalance/src/test/java/io/servicecomb/loadbalance/filter/TestZoneAwareServerListFilterExt.java
 create mode 100644 handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/MyServerListFilterExt.java
 create mode 100644 handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestConfiguration.java
 create mode 100644 handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestCseServer.java
 create mode 100644 handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestExtensionsManager.java
 create mode 100644 handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadBalancer.java
 create mode 100644 handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceClientConfig.java
 create mode 100644 handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceHandler.java
 create mode 100644 handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestSessionSticknessRule.java
 create mode 100644 handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/exception/TestLoadbalanceExceptionUtils.java
 create mode 100644 handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/filter/TestCseServerDiscoveryFilter.java
 create mode 100644 handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/filter/TestIsolationServerListFilter.java
 create mode 100644 handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/filter/TestSimpleTransactionControlFilter.java
 create mode 100644 handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/filter/TestZoneAwareServerListFilterExt.java
 delete mode 100644 handlers/handler-publickey-auth/src/main/java/io/servicecomb/AuthHandlerBoot.java
 delete mode 100644 handlers/handler-publickey-auth/src/main/java/io/servicecomb/authentication/RSAAuthenticationToken.java
 delete mode 100644 handlers/handler-publickey-auth/src/main/java/io/servicecomb/authentication/consumer/ConsumerAuthHandler.java
 delete mode 100644 handlers/handler-publickey-auth/src/main/java/io/servicecomb/authentication/consumer/RSAConsumerTokenManager.java
 delete mode 100644 handlers/handler-publickey-auth/src/main/java/io/servicecomb/authentication/provider/ProviderAuthHanlder.java
 delete mode 100644 handlers/handler-publickey-auth/src/main/java/io/servicecomb/authentication/provider/RSAProviderTokenManager.java
 create mode 100644 handlers/handler-publickey-auth/src/main/java/org/apache/servicecomb/AuthHandlerBoot.java
 create mode 100644 handlers/handler-publickey-auth/src/main/java/org/apache/servicecomb/authentication/RSAAuthenticationToken.java
 create mode 100644 handlers/handler-publickey-auth/src/main/java/org/apache/servicecomb/authentication/consumer/ConsumerAuthHandler.java
 create mode 100644 handlers/handler-publickey-auth/src/main/java/org/apache/servicecomb/authentication/consumer/RSAConsumerTokenManager.java
 create mode 100644 handlers/handler-publickey-auth/src/main/java/org/apache/servicecomb/authentication/provider/ProviderAuthHanlder.java
 create mode 100644 handlers/handler-publickey-auth/src/main/java/org/apache/servicecomb/authentication/provider/RSAProviderTokenManager.java
 delete mode 100644 handlers/handler-publickey-auth/src/test/java/io/servicecomb/authentication/TestAuthHandlerBoot.java
 delete mode 100644 handlers/handler-publickey-auth/src/test/java/io/servicecomb/authentication/TestConsumerAuthHandler.java
 delete mode 100644 handlers/handler-publickey-auth/src/test/java/io/servicecomb/authentication/TestProviderAuthHanlder.java
 delete mode 100644 handlers/handler-publickey-auth/src/test/java/io/servicecomb/authentication/TestRSAAuthenticationToken.java
 delete mode 100644 handlers/handler-publickey-auth/src/test/java/io/servicecomb/authentication/TestRSAProviderTokenManager.java
 create mode 100644 handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/TestAuthHandlerBoot.java
 create mode 100644 handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/TestConsumerAuthHandler.java
 create mode 100644 handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/TestProviderAuthHanlder.java
 create mode 100644 handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/TestRSAAuthenticationToken.java
 create mode 100644 handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/TestRSAProviderTokenManager.java
 delete mode 100644 handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ConsumerInvocationAdapter.java
 delete mode 100644 handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ProviderInvocationAdapter.java
 delete mode 100644 handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/TracingConfiguration.java
 delete mode 100644 handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ZipkinConsumerDelegate.java
 delete mode 100644 handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ZipkinConsumerTracingHandler.java
 delete mode 100644 handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ZipkinProviderDelegate.java
 delete mode 100644 handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ZipkinProviderTracingHandler.java
 delete mode 100644 handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ZipkinTracingDelegate.java
 delete mode 100644 handlers/handler-tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ZipkinTracingHandler.java
 create mode 100644 handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ConsumerInvocationAdapter.java
 create mode 100644 handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ProviderInvocationAdapter.java
 create mode 100644 handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/TracingConfiguration.java
 create mode 100644 handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinConsumerDelegate.java
 create mode 100644 handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinConsumerTracingHandler.java
 create mode 100644 handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderDelegate.java
 create mode 100644 handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderTracingHandler.java
 create mode 100644 handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinTracingDelegate.java
 create mode 100644 handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinTracingHandler.java
 delete mode 100644 handlers/handler-tracing-zipkin/src/test/java/io/servicecomb/tracing/zipkin/ZipkinTracingHandlerTest.java
 create mode 100644 handlers/handler-tracing-zipkin/src/test/java/org/apache/servicecomb/tracing/zipkin/ZipkinTracingHandlerTest.java
 delete mode 100644 integration-tests/jaxrs-tests/src/test/java/io/servicecomb/demo/jaxrs/tests/JaxrsIntegrationTestBase.java
 delete mode 100644 integration-tests/jaxrs-tests/src/test/java/io/servicecomb/demo/jaxrs/tests/JaxrsTestMain.java
 delete mode 100644 integration-tests/jaxrs-tests/src/test/java/io/servicecomb/demo/jaxrs/tests/RawJaxrsIntegrationTest.java
 delete mode 100644 integration-tests/jaxrs-tests/src/test/java/io/servicecomb/demo/jaxrs/tests/endpoints/CodeFirstJaxrs.java
 delete mode 100644 integration-tests/jaxrs-tests/src/test/java/io/servicecomb/demo/jaxrs/tests/endpoints/EnglishGreetingRestEndpoint.java
 delete mode 100644 integration-tests/jaxrs-tests/src/test/java/io/servicecomb/demo/jaxrs/tests/endpoints/SchemaFirstJaxrs.java
 delete mode 100644 integration-tests/jaxrs-tests/src/test/java/io/servicecomb/demo/jaxrs/tests/endpoints/SchemaFirstJaxrsImpl.java
 delete mode 100644 integration-tests/jaxrs-tests/src/test/java/io/servicecomb/demo/jaxrs/tests/endpoints/SomeAbstractJaxrsRestEndpoint.java
 create mode 100644 integration-tests/jaxrs-tests/src/test/java/org/apache/servicecomb/demo/jaxrs/tests/JaxrsIntegrationTestBase.java
 create mode 100644 integration-tests/jaxrs-tests/src/test/java/org/apache/servicecomb/demo/jaxrs/tests/JaxrsTestMain.java
 create mode 100644 integration-tests/jaxrs-tests/src/test/java/org/apache/servicecomb/demo/jaxrs/tests/RawJaxrsIntegrationTest.java
 create mode 100644 integration-tests/jaxrs-tests/src/test/java/org/apache/servicecomb/demo/jaxrs/tests/endpoints/CodeFirstJaxrs.java
 create mode 100644 integration-tests/jaxrs-tests/src/test/java/org/apache/servicecomb/demo/jaxrs/tests/endpoints/EnglishGreetingRestEndpoint.java
 create mode 100644 integration-tests/jaxrs-tests/src/test/java/org/apache/servicecomb/demo/jaxrs/tests/endpoints/SchemaFirstJaxrs.java
 create mode 100644 integration-tests/jaxrs-tests/src/test/java/org/apache/servicecomb/demo/jaxrs/tests/endpoints/SchemaFirstJaxrsImpl.java
 create mode 100644 integration-tests/jaxrs-tests/src/test/java/org/apache/servicecomb/demo/jaxrs/tests/endpoints/SomeAbstractJaxrsRestEndpoint.java
 delete mode 100644 integration-tests/pojo-test/src/test/java/io/servicecomb/demo/pojo/test/PojoIntegrationTestBase.java
 delete mode 100644 integration-tests/pojo-test/src/test/java/io/servicecomb/demo/pojo/test/PojoService.java
 delete mode 100644 integration-tests/pojo-test/src/test/java/io/servicecomb/demo/pojo/test/PojoTestMain.java
 delete mode 100644 integration-tests/pojo-test/src/test/java/io/servicecomb/demo/pojo/test/RawPojoIntegrationTest.java
 delete mode 100644 integration-tests/pojo-test/src/test/java/io/servicecomb/demo/pojo/test/SomePojoConfig.java
 delete mode 100644 integration-tests/pojo-test/src/test/java/io/servicecomb/demo/pojo/test/endpoints/CodeFirstPojo.java
 delete mode 100644 integration-tests/pojo-test/src/test/java/io/servicecomb/demo/pojo/test/endpoints/HelloImpl.java
 delete mode 100644 integration-tests/pojo-test/src/test/java/io/servicecomb/demo/pojo/test/endpoints/SmartCareImpl.java
 delete mode 100644 integration-tests/pojo-test/src/test/java/io/servicecomb/demo/pojo/test/endpoints/TestImpl.java
 create mode 100644 integration-tests/pojo-test/src/test/java/org/apache/servicecomb/demo/pojo/test/PojoIntegrationTestBase.java
 create mode 100644 integration-tests/pojo-test/src/test/java/org/apache/servicecomb/demo/pojo/test/PojoService.java
 create mode 100644 integration-tests/pojo-test/src/test/java/org/apache/servicecomb/demo/pojo/test/PojoTestMain.java
 create mode 100644 integration-tests/pojo-test/src/test/java/org/apache/servicecomb/demo/pojo/test/RawPojoIntegrationTest.java
 create mode 100644 integration-tests/pojo-test/src/test/java/org/apache/servicecomb/demo/pojo/test/SomePojoConfig.java
 create mode 100644 integration-tests/pojo-test/src/test/java/org/apache/servicecomb/demo/pojo/test/endpoints/CodeFirstPojo.java
 create mode 100644 integration-tests/pojo-test/src/test/java/org/apache/servicecomb/demo/pojo/test/endpoints/HelloImpl.java
 create mode 100644 integration-tests/pojo-test/src/test/java/org/apache/servicecomb/demo/pojo/test/endpoints/SmartCareImpl.java
 create mode 100644 integration-tests/pojo-test/src/test/java/org/apache/servicecomb/demo/pojo/test/endpoints/TestImpl.java
 delete mode 100644 integration-tests/spring-jaxrs-tests/src/test/java/io/servicecomb/demo/jaxrs/tests/JaxrsSpringIntegrationTest.java
 delete mode 100644 integration-tests/spring-jaxrs-tests/src/test/java/io/servicecomb/demo/jaxrs/tests/JaxrsSpringMain.java
 create mode 100644 integration-tests/spring-jaxrs-tests/src/test/java/org/apache/servicecomb/demo/jaxrs/tests/JaxrsSpringIntegrationTest.java
 create mode 100644 integration-tests/spring-jaxrs-tests/src/test/java/org/apache/servicecomb/demo/jaxrs/tests/JaxrsSpringMain.java
 delete mode 100644 integration-tests/spring-pojo-tests/src/test/java/io/servicecomb/demo/pojo/test/PojoSpringIntegrationTest.java
 delete mode 100644 integration-tests/spring-pojo-tests/src/test/java/io/servicecomb/demo/pojo/test/PojoSpringMain.java
 create mode 100644 integration-tests/spring-pojo-tests/src/test/java/org/apache/servicecomb/demo/pojo/test/PojoSpringIntegrationTest.java
 create mode 100644 integration-tests/spring-pojo-tests/src/test/java/org/apache/servicecomb/demo/pojo/test/PojoSpringMain.java
 delete mode 100644 integration-tests/spring-springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/SpringMvcSpringIntegrationTest.java
 delete mode 100644 integration-tests/spring-springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/SpringMvcSpringMain.java
 delete mode 100644 integration-tests/spring-springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/SpringMvcSpringSimplifiedMappingAnnotationIntegrationTest.java
 create mode 100644 integration-tests/spring-springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringIntegrationTest.java
 create mode 100644 integration-tests/spring-springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringMain.java
 create mode 100644 integration-tests/spring-springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringSimplifiedMappingAnnotationIntegrationTest.java
 delete mode 100644 integration-tests/spring-zuul-tracing-tests/src/test/java/io/servicecomb/spring/cloud/zuul/tracing/LoggingFilterConfig.java
 delete mode 100644 integration-tests/spring-zuul-tracing-tests/src/test/java/io/servicecomb/spring/cloud/zuul/tracing/SpringCloudZuulTracingTest.java
 delete mode 100644 integration-tests/spring-zuul-tracing-tests/src/test/java/io/servicecomb/spring/cloud/zuul/tracing/TracedController.java
 delete mode 100644 integration-tests/spring-zuul-tracing-tests/src/test/java/io/servicecomb/spring/cloud/zuul/tracing/TracedZuulMain.java
 create mode 100644 integration-tests/spring-zuul-tracing-tests/src/test/java/org/apache/servicecomb/spring/cloud/zuul/tracing/LoggingFilterConfig.java
 create mode 100644 integration-tests/spring-zuul-tracing-tests/src/test/java/org/apache/servicecomb/spring/cloud/zuul/tracing/SpringCloudZuulTracingTest.java
 create mode 100644 integration-tests/spring-zuul-tracing-tests/src/test/java/org/apache/servicecomb/spring/cloud/zuul/tracing/TracedController.java
 create mode 100644 integration-tests/spring-zuul-tracing-tests/src/test/java/org/apache/servicecomb/spring/cloud/zuul/tracing/TracedZuulMain.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/RawSpringMvcIntegrationTest.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/RawSpringMvcSimplifiedMappingAnnotationIntegrationTest.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/SpringMvcIntegrationTestBase.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvc.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvcBase.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvcSimplifiedMappingAnnotation.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/endpoints/ControllerBase.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/endpoints/ControllerImpl.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/endpoints/ControllerSimplifiedMappingAnnotationImpl.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingRestEndpoint.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingRestEndpointBase.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingSimplifiedMappingAnnotationRestEndpoint.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingRestEndpoint.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingRestEndpointBase.java
 delete mode 100644 integration-tests/springmvc-tests/src/test/java/io/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingSimplifiedMappingAnnotationRestEndpoint.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcIntegrationTest.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcSimplifiedMappingAnnotationIntegrationTest.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcIntegrationTestBase.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvc.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvcBase.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvcSimplifiedMappingAnnotation.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerBase.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerImpl.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerSimplifiedMappingAnnotationImpl.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingRestEndpoint.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingRestEndpointBase.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingSimplifiedMappingAnnotationRestEndpoint.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingRestEndpoint.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingRestEndpointBase.java
 create mode 100644 integration-tests/springmvc-tests/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingSimplifiedMappingAnnotationRestEndpoint.java
 delete mode 100644 integration-tests/test-common/src/test/java/io/servicecomb/tests/EmbeddedAppender.java
 delete mode 100644 integration-tests/test-common/src/test/java/io/servicecomb/tests/Log4jConfig.java
 delete mode 100644 integration-tests/test-common/src/test/java/io/servicecomb/tests/tracing/TraceContextConfig.java
 delete mode 100644 integration-tests/test-common/src/test/java/io/servicecomb/tests/tracing/TracingTestBase.java
 create mode 100644 integration-tests/test-common/src/test/java/org/apache/servicecomb/tests/EmbeddedAppender.java
 create mode 100644 integration-tests/test-common/src/test/java/org/apache/servicecomb/tests/Log4jConfig.java
 create mode 100644 integration-tests/test-common/src/test/java/org/apache/servicecomb/tests/tracing/TraceContextConfig.java
 create mode 100644 integration-tests/test-common/src/test/java/org/apache/servicecomb/tests/tracing/TracingTestBase.java
 delete mode 100644 integration-tests/tracing-tests/src/test/java/io/servicecomb/tests/tracing/SlowRepo.java
 delete mode 100644 integration-tests/tracing-tests/src/test/java/io/servicecomb/tests/tracing/SlowRepoImpl.java
 delete mode 100644 integration-tests/tracing-tests/src/test/java/io/servicecomb/tests/tracing/SomeTracedController.java
 delete mode 100644 integration-tests/tracing-tests/src/test/java/io/servicecomb/tests/tracing/TracedJaxrsController.java
 delete mode 100644 integration-tests/tracing-tests/src/test/java/io/servicecomb/tests/tracing/TracedPojo.java
 delete mode 100644 integration-tests/tracing-tests/src/test/java/io/servicecomb/tests/tracing/TracedPojoConfig.java
 delete mode 100644 integration-tests/tracing-tests/src/test/java/io/servicecomb/tests/tracing/TracedPojoImpl.java
 delete mode 100644 integration-tests/tracing-tests/src/test/java/io/servicecomb/tests/tracing/TracingTestMain.java
 delete mode 100644 integration-tests/tracing-tests/src/test/java/io/servicecomb/tests/tracing/ZipkinTracingIntegrationTest.java
 create mode 100644 integration-tests/tracing-tests/src/test/java/org/apache/servicecomb/tests/tracing/SlowRepo.java
 create mode 100644 integration-tests/tracing-tests/src/test/java/org/apache/servicecomb/tests/tracing/SlowRepoImpl.java
 create mode 100644 integration-tests/tracing-tests/src/test/java/org/apache/servicecomb/tests/tracing/SomeTracedController.java
 create mode 100644 integration-tests/tracing-tests/src/test/java/org/apache/servicecomb/tests/tracing/TracedJaxrsController.java
 create mode 100644 integration-tests/tracing-tests/src/test/java/org/apache/servicecomb/tests/tracing/TracedPojo.java
 create mode 100644 integration-tests/tracing-tests/src/test/java/org/apache/servicecomb/tests/tracing/TracedPojoConfig.java
 create mode 100644 integration-tests/tracing-tests/src/test/java/org/apache/servicecomb/tests/tracing/TracedPojoImpl.java
 create mode 100644 integration-tests/tracing-tests/src/test/java/org/apache/servicecomb/tests/tracing/TracingTestMain.java
 create mode 100644 integration-tests/tracing-tests/src/test/java/org/apache/servicecomb/tests/tracing/ZipkinTracingIntegrationTest.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/CallMetric.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/ConsumerInvocationMetric.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/DefaultHealthCheckExtraData.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/HealthCheckResult.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/HealthChecker.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/HealthCheckerPublisher.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/InstanceMetric.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/InvocationMetric.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/MetricsConst.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/MetricsPublisher.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/ProducerInvocationMetric.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/RegistryMetric.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/SystemMetric.java
 delete mode 100644 metrics/metrics-common/src/main/java/io/servicecomb/metrics/common/TimerMetric.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/CallMetric.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/ConsumerInvocationMetric.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/DefaultHealthCheckExtraData.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/HealthCheckResult.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/HealthChecker.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/HealthCheckerPublisher.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/InstanceMetric.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/InvocationMetric.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/MetricsConst.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/MetricsPublisher.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/ProducerInvocationMetric.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/RegistryMetric.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/SystemMetric.java
 create mode 100644 metrics/metrics-common/src/main/java/org/apache/servicecomb/metrics/common/TimerMetric.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/MetricsConfig.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/event/DefaultEventListenerManager.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/event/EventListenerManager.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/event/InvocationFinishedEventListener.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/event/InvocationStartProcessingEventListener.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/event/InvocationStartedEventListener.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/health/DefaultMicroserviceHealthChecker.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/monitor/CallMonitor.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/monitor/ConsumerInvocationMonitor.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/monitor/DefaultSystemMonitor.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/monitor/InvocationMonitor.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/monitor/ProducerInvocationMonitor.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/monitor/RegistryMonitor.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/monitor/SystemMonitor.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/monitor/TimerMonitor.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/publish/DataSource.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/publish/DefaultDataSource.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/publish/DefaultHealthCheckerManager.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/publish/DefaultHealthCheckerPublisher.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/publish/DefaultMetricsPublisher.java
 delete mode 100644 metrics/metrics-core/src/main/java/io/servicecomb/metrics/core/publish/HealthCheckerManager.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/MetricsConfig.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/event/DefaultEventListenerManager.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/event/EventListenerManager.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/event/InvocationFinishedEventListener.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/event/InvocationStartProcessingEventListener.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/event/InvocationStartedEventListener.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/health/DefaultMicroserviceHealthChecker.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/monitor/CallMonitor.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/monitor/ConsumerInvocationMonitor.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/monitor/DefaultSystemMonitor.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/monitor/InvocationMonitor.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/monitor/ProducerInvocationMonitor.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/monitor/RegistryMonitor.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/monitor/SystemMonitor.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/monitor/TimerMonitor.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DataSource.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultDataSource.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultHealthCheckerManager.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultHealthCheckerPublisher.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultMetricsPublisher.java
 create mode 100644 metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/HealthCheckerManager.java
 delete mode 100644 metrics/metrics-core/src/test/java/io/servicecomb/metrics/core/TestEventAndRunner.java
 delete mode 100644 metrics/metrics-core/src/test/java/io/servicecomb/metrics/core/TestHealthCheckerManager.java
 delete mode 100644 metrics/metrics-core/src/test/java/io/servicecomb/metrics/core/TestHealthCheckerPublisher.java
 delete mode 100644 metrics/metrics-core/src/test/java/io/servicecomb/metrics/core/TestPublisher.java
 create mode 100644 metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestEventAndRunner.java
 create mode 100644 metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestHealthCheckerManager.java
 create mode 100644 metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestHealthCheckerPublisher.java
 create mode 100644 metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestPublisher.java
 delete mode 100644 metrics/metrics-integration/metrics-prometheus/src/main/java/io/servicecomb/metrics/prometheus/MetricsCollector.java
 delete mode 100644 metrics/metrics-integration/metrics-prometheus/src/main/java/io/servicecomb/metrics/prometheus/MetricsPublisher.java
 create mode 100644 metrics/metrics-integration/metrics-prometheus/src/main/java/org/apache/servicecomb/metrics/prometheus/MetricsCollector.java
 create mode 100644 metrics/metrics-integration/metrics-prometheus/src/main/java/org/apache/servicecomb/metrics/prometheus/MetricsPublisher.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/InstanceFactory.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/Invoker.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/PojoConfig.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/PojoConst.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/PojoConsumerProvider.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/PojoProducerProvider.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/RpcReference.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/RpcSchema.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/instance/PojoInstanceFactory.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/instance/SpringInstanceFactory.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/reference/PojoReferenceMeta.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/reference/ReferenceDefParser.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/reference/RpcReferenceProcessor.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/schema/PojoProducerMeta.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/schema/PojoProducers.java
 delete mode 100644 providers/provider-pojo/src/main/java/io/servicecomb/provider/pojo/schema/SchemaDefParser.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/InstanceFactory.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/Invoker.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConfig.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConst.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoProducerProvider.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/RpcReference.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/RpcSchema.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/instance/PojoInstanceFactory.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/instance/SpringInstanceFactory.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/reference/PojoReferenceMeta.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/reference/ReferenceDefParser.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/reference/RpcReferenceProcessor.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducerMeta.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducers.java
 create mode 100644 providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/SchemaDefParser.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/common/MockUtil.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/IPerson.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/Person.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/PersonReference.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/TestInvoker.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/TestPojoConsumerProvider.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/TestPojoProducerProvider.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/instance/TestPojoInstanceFactory.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/instance/TestSpringInstanceFactory.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/reference/PojoReferenceMetaTest.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/reference/TestReferenceDefParser.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/reference/TestRpcReferenceProcessor.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/schema/TestPojoProducers.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/schema/TestPojoSchemaMeta.java
 delete mode 100644 providers/provider-pojo/src/test/java/io/servicecomb/provider/pojo/schema/TestSchemaDefParser.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/common/MockUtil.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/IPerson.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/Person.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/PersonReference.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/TestInvoker.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/TestPojoConsumerProvider.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/TestPojoProducerProvider.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/instance/TestPojoInstanceFactory.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/instance/TestSpringInstanceFactory.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/reference/PojoReferenceMetaTest.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/reference/TestReferenceDefParser.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/reference/TestRpcReferenceProcessor.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/schema/TestPojoProducers.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/schema/TestPojoSchemaMeta.java
 create mode 100644 providers/provider-pojo/src/test/java/org/apache/servicecomb/provider/pojo/schema/TestSchemaDefParser.java
 delete mode 100644 providers/provider-rest-common/src/main/java/io/servicecomb/provider/rest/common/InvocationToHttpServletRequest.java
 delete mode 100644 providers/provider-rest-common/src/main/java/io/servicecomb/provider/rest/common/ProducerHttpRequestArgMapper.java
 delete mode 100644 providers/provider-rest-common/src/main/java/io/servicecomb/provider/rest/common/ProducerHttpRequestArgMapperFactory.java
 delete mode 100644 providers/provider-rest-common/src/main/java/io/servicecomb/provider/rest/common/RestConsumerProvider.java
 delete mode 100644 providers/provider-rest-common/src/main/java/io/servicecomb/provider/rest/common/RestProducerProvider.java
 delete mode 100644 providers/provider-rest-common/src/main/java/io/servicecomb/provider/rest/common/RestProducers.java
 delete mode 100644 providers/provider-rest-common/src/main/java/io/servicecomb/provider/rest/common/RestSchema.java
 create mode 100644 providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/InvocationToHttpServletRequest.java
 create mode 100644 providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/ProducerHttpRequestArgMapper.java
 create mode 100644 providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/ProducerHttpRequestArgMapperFactory.java
 create mode 100644 providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
 create mode 100644 providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducerProvider.java
 create mode 100644 providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducers.java
 create mode 100644 providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestSchema.java
 delete mode 100644 providers/provider-rest-common/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 providers/provider-rest-common/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 providers/provider-rest-common/src/test/java/io/servicecomb/provider/common/MockUtil.java
 delete mode 100644 providers/provider-rest-common/src/test/java/io/servicecomb/provider/rest/common/TestInvocationToHttpServletRequest.java
 delete mode 100644 providers/provider-rest-common/src/test/java/io/servicecomb/provider/rest/common/TestProducerHttpRequestArgMapper.java
 delete mode 100644 providers/provider-rest-common/src/test/java/io/servicecomb/provider/rest/common/TestRestConsumerProvider.java
 delete mode 100644 providers/provider-rest-common/src/test/java/io/servicecomb/provider/rest/common/TestRestProducers.java
 delete mode 100644 providers/provider-rest-common/src/test/java/io/servicecomb/provider/rest/common/TestRestServiceProvider.java
 create mode 100644 providers/provider-rest-common/src/test/java/org/apache/servicecomb/provider/common/MockUtil.java
 create mode 100644 providers/provider-rest-common/src/test/java/org/apache/servicecomb/provider/rest/common/TestInvocationToHttpServletRequest.java
 create mode 100644 providers/provider-rest-common/src/test/java/org/apache/servicecomb/provider/rest/common/TestProducerHttpRequestArgMapper.java
 create mode 100644 providers/provider-rest-common/src/test/java/org/apache/servicecomb/provider/rest/common/TestRestConsumerProvider.java
 create mode 100644 providers/provider-rest-common/src/test/java/org/apache/servicecomb/provider/rest/common/TestRestProducers.java
 create mode 100644 providers/provider-rest-common/src/test/java/org/apache/servicecomb/provider/rest/common/TestRestServiceProvider.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/AcceptableRestTemplate.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/CommonToHttpServletRequest.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/CseClientHttpRequest.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/CseClientHttpRequestFactory.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/CseClientHttpResponse.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/CseHttpEntity.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/CseRequestCallback.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/CseRestTemplate.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/CseUriTemplateHandler.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/RequestMeta.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/RestTemplateBuilder.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/RestTemplateCopyHeaderFilter.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/RestTemplateWrapper.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/ServiceCombRestTemplateConfig.java
 delete mode 100644 providers/provider-springmvc/src/main/java/io/servicecomb/provider/springmvc/reference/UrlWithServiceNameClientHttpRequestFactory.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/AcceptableRestTemplate.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CommonToHttpServletRequest.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseClientHttpRequest.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseClientHttpRequestFactory.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseClientHttpResponse.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseHttpEntity.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseRequestCallback.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseRestTemplate.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseUriTemplateHandler.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/RequestMeta.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/RestTemplateBuilder.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/RestTemplateCopyHeaderFilter.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/RestTemplateWrapper.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/ServiceCombRestTemplateConfig.java
 create mode 100644 providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/UrlWithServiceNameClientHttpRequestFactory.java
 delete mode 100644 providers/provider-springmvc/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 providers/provider-springmvc/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 providers/provider-springmvc/src/main/resources/META-INF/services/io.servicecomb.common.rest.filter.HttpClientFilter
 create mode 100644 providers/provider-springmvc/src/main/resources/META-INF/services/org.apache.servicecomb.common.rest.filter.HttpClientFilter
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/common/MockUtil.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/ServiceCombRestTemplateConfigTest.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/TestCommonToHttpServletRequest.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/TestCseClientHttpRequest.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/TestCseClientHttpRequestFactory.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/TestCseClientHttpResponse.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/TestCseHttpEntity.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/TestCseRequestCallback.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/TestCseRestTemplate.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/TestCseUriTemplateHandler.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/TestRequestMeta.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/TestRestTemplateBuilder.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/TestRestTemplateCopyHeaderFilter.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/TestRestTemplateWrapper.java
 delete mode 100644 providers/provider-springmvc/src/test/java/io/servicecomb/provider/springmvc/reference/TestUrlWithServiceNameClientHttpRequestFactory.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/common/MockUtil.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/ServiceCombRestTemplateConfigTest.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestCommonToHttpServletRequest.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestCseClientHttpRequest.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestCseClientHttpRequestFactory.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestCseClientHttpResponse.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestCseHttpEntity.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestCseRequestCallback.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestCseRestTemplate.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestCseUriTemplateHandler.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestRequestMeta.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestRestTemplateBuilder.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestRestTemplateCopyHeaderFilter.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestRestTemplateWrapper.java
 create mode 100644 providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestUrlWithServiceNameClientHttpRequestFactory.java
 delete mode 100644 samples/auth-sample/auth-consumer/src/main/java/io/servicecomb/samples/springmvc/consumer/AuthConsumerMain.java
 create mode 100644 samples/auth-sample/auth-consumer/src/main/java/org/apache/servicecomb/samples/springmvc/consumer/AuthConsumerMain.java
 delete mode 100644 samples/auth-sample/auth-provider/src/main/java/io/servicecomb/samples/springmvc/provider/AuthProviderMain.java
 delete mode 100644 samples/auth-sample/auth-provider/src/main/java/io/servicecomb/samples/springmvc/provider/SpringmvcHelloImpl.java
 create mode 100644 samples/auth-sample/auth-provider/src/main/java/org/apache/servicecomb/samples/springmvc/provider/AuthProviderMain.java
 create mode 100644 samples/auth-sample/auth-provider/src/main/java/org/apache/servicecomb/samples/springmvc/provider/SpringmvcHelloImpl.java
 delete mode 100644 samples/auth-sample/auth-provider/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 samples/auth-sample/auth-provider/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 samples/bmi/calculator/src/main/java/io/servicecomb/samples/bmi/BMIViewObject.java
 delete mode 100644 samples/bmi/calculator/src/main/java/io/servicecomb/samples/bmi/CalculatorApplication.java
 delete mode 100644 samples/bmi/calculator/src/main/java/io/servicecomb/samples/bmi/CalculatorEndpoint.java
 delete mode 100644 samples/bmi/calculator/src/main/java/io/servicecomb/samples/bmi/CalculatorRestEndpoint.java
 delete mode 100644 samples/bmi/calculator/src/main/java/io/servicecomb/samples/bmi/CalculatorService.java
 delete mode 100644 samples/bmi/calculator/src/main/java/io/servicecomb/samples/bmi/CalculatorServiceImpl.java
 delete mode 100644 samples/bmi/calculator/src/main/java/io/servicecomb/samples/bmi/InstanceInfoService.java
 delete mode 100644 samples/bmi/calculator/src/main/java/io/servicecomb/samples/bmi/InstanceInfoServiceImpl.java
 create mode 100644 samples/bmi/calculator/src/main/java/org/apache/servicecomb/samples/bmi/BMIViewObject.java
 create mode 100644 samples/bmi/calculator/src/main/java/org/apache/servicecomb/samples/bmi/CalculatorApplication.java
 create mode 100644 samples/bmi/calculator/src/main/java/org/apache/servicecomb/samples/bmi/CalculatorEndpoint.java
 create mode 100644 samples/bmi/calculator/src/main/java/org/apache/servicecomb/samples/bmi/CalculatorRestEndpoint.java
 create mode 100644 samples/bmi/calculator/src/main/java/org/apache/servicecomb/samples/bmi/CalculatorService.java
 create mode 100644 samples/bmi/calculator/src/main/java/org/apache/servicecomb/samples/bmi/CalculatorServiceImpl.java
 create mode 100644 samples/bmi/calculator/src/main/java/org/apache/servicecomb/samples/bmi/InstanceInfoService.java
 create mode 100644 samples/bmi/calculator/src/main/java/org/apache/servicecomb/samples/bmi/InstanceInfoServiceImpl.java
 delete mode 100644 samples/bmi/webapp/src/main/java/io/servicecomb/samples/bmi/GatewayApplication.java
 create mode 100644 samples/bmi/webapp/src/main/java/org/apache/servicecomb/samples/bmi/GatewayApplication.java
 delete mode 100644 samples/bmi/webapp/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 samples/bmi/webapp/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 samples/codefirst-sample/codefirst-consumer/src/main/java/io/servicecomb/samples/codefirst/consumer/CodeFirstConsumerMain.java
 create mode 100644 samples/codefirst-sample/codefirst-consumer/src/main/java/org/apache/servicecomb/samples/codefirst/consumer/CodeFirstConsumerMain.java
 delete mode 100644 samples/codefirst-sample/codefirst-provider/src/main/java/io/servicecomb/samples/codefirst/provider/CodeFirstJaxrsHelloImpl.java
 delete mode 100644 samples/codefirst-sample/codefirst-provider/src/main/java/io/servicecomb/samples/codefirst/provider/CodeFirstPojoHelloImpl.java
 delete mode 100644 samples/codefirst-sample/codefirst-provider/src/main/java/io/servicecomb/samples/codefirst/provider/CodeFirstProviderMain.java
 delete mode 100644 samples/codefirst-sample/codefirst-provider/src/main/java/io/servicecomb/samples/codefirst/provider/CodeFirstSpringmvcHelloImpl.java
 create mode 100644 samples/codefirst-sample/codefirst-provider/src/main/java/org/apache/servicecomb/samples/codefirst/provider/CodeFirstJaxrsHelloImpl.java
 create mode 100644 samples/codefirst-sample/codefirst-provider/src/main/java/org/apache/servicecomb/samples/codefirst/provider/CodeFirstPojoHelloImpl.java
 create mode 100644 samples/codefirst-sample/codefirst-provider/src/main/java/org/apache/servicecomb/samples/codefirst/provider/CodeFirstProviderMain.java
 create mode 100644 samples/codefirst-sample/codefirst-provider/src/main/java/org/apache/servicecomb/samples/codefirst/provider/CodeFirstSpringmvcHelloImpl.java
 delete mode 100644 samples/common-schema/src/main/java/io/servicecomb/samples/common/schema/Hello.java
 delete mode 100644 samples/common-schema/src/main/java/io/servicecomb/samples/common/schema/models/Person.java
 create mode 100644 samples/common-schema/src/main/java/org/apache/servicecomb/samples/common/schema/Hello.java
 create mode 100644 samples/common-schema/src/main/java/org/apache/servicecomb/samples/common/schema/models/Person.java
 delete mode 100644 samples/custom-handler-sample/custom-handler-consumer/src/main/java/io/servicecomb/samples/customerhandler/consumer/CustomHandlerCustomerMain.java
 delete mode 100644 samples/custom-handler-sample/custom-handler-consumer/src/main/java/io/servicecomb/samples/customerhandler/handlers/MyHandler.java
 create mode 100644 samples/custom-handler-sample/custom-handler-consumer/src/main/java/org/apache/servicecomb/samples/customerhandler/consumer/CustomHandlerCustomerMain.java
 create mode 100644 samples/custom-handler-sample/custom-handler-consumer/src/main/java/org/apache/servicecomb/samples/customerhandler/handlers/MyHandler.java
 delete mode 100644 samples/custom-handler-sample/custom-handler-provider/src/main/java/io/servicecomb/samples/customerhandler/provider/CustomHandlerProviderMain.java
 delete mode 100644 samples/custom-handler-sample/custom-handler-provider/src/main/java/io/servicecomb/samples/customerhandler/provider/HelloImpl.java
 create mode 100644 samples/custom-handler-sample/custom-handler-provider/src/main/java/org/apache/servicecomb/samples/customerhandler/provider/CustomHandlerProviderMain.java
 create mode 100644 samples/custom-handler-sample/custom-handler-provider/src/main/java/org/apache/servicecomb/samples/customerhandler/provider/HelloImpl.java
 delete mode 100644 samples/custom-handler-sample/custom-handler-provider/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 samples/custom-handler-sample/custom-handler-provider/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 samples/jaxrs-sample/jaxrs-consumer/src/main/java/io/servicecomb/samples/jaxrs/consumer/JaxrsConsumerMain.java
 create mode 100644 samples/jaxrs-sample/jaxrs-consumer/src/main/java/org/apache/servicecomb/samples/jaxrs/consumer/JaxrsConsumerMain.java
 delete mode 100644 samples/jaxrs-sample/jaxrs-provider/src/main/java/io/servicecomb/samples/jaxrs/provider/JaxrsHelloImpl.java
 delete mode 100644 samples/jaxrs-sample/jaxrs-provider/src/main/java/io/servicecomb/samples/jaxrs/provider/JaxrsProviderMain.java
 create mode 100644 samples/jaxrs-sample/jaxrs-provider/src/main/java/org/apache/servicecomb/samples/jaxrs/provider/JaxrsHelloImpl.java
 create mode 100644 samples/jaxrs-sample/jaxrs-provider/src/main/java/org/apache/servicecomb/samples/jaxrs/provider/JaxrsProviderMain.java
 delete mode 100644 samples/metrics-extend-healthcheck/src/main/java/io/servicecomb/samples/metrics/extendhealthcheck/CustomHealthCheckerAnnotation.java
 delete mode 100644 samples/metrics-extend-healthcheck/src/main/java/io/servicecomb/samples/metrics/extendhealthcheck/ExtendHealthCheckApplication.java
 delete mode 100644 samples/metrics-extend-healthcheck/src/main/java/io/servicecomb/samples/metrics/extendhealthcheck/MySqlHealthChecker.java
 delete mode 100644 samples/metrics-extend-healthcheck/src/main/java/io/servicecomb/samples/metrics/extendhealthcheck/SomeServiceWithHealthCheckerManager.java
 create mode 100644 samples/metrics-extend-healthcheck/src/main/java/org/apache/servicecomb/samples/metrics/extendhealthcheck/CustomHealthCheckerAnnotation.java
 create mode 100644 samples/metrics-extend-healthcheck/src/main/java/org/apache/servicecomb/samples/metrics/extendhealthcheck/ExtendHealthCheckApplication.java
 create mode 100644 samples/metrics-extend-healthcheck/src/main/java/org/apache/servicecomb/samples/metrics/extendhealthcheck/MySqlHealthChecker.java
 create mode 100644 samples/metrics-extend-healthcheck/src/main/java/org/apache/servicecomb/samples/metrics/extendhealthcheck/SomeServiceWithHealthCheckerManager.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/src/main/java/io/servicecomb/samples/mwf/Log4JMetricsFileWriter.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/src/main/java/io/servicecomb/samples/mwf/ServiceApplication.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/src/main/java/io/servicecomb/samples/mwf/SimpleService.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/src/main/java/org/apache/servicecomb/samples/mwf/Log4JMetricsFileWriter.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/src/main/java/org/apache/servicecomb/samples/mwf/ServiceApplication.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/src/main/java/org/apache/servicecomb/samples/mwf/SimpleService.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/src/main/java/io/servicecomb/samples/mwf/Log4J2MetricsFileWriter.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/src/main/java/io/servicecomb/samples/mwf/ServiceApplication.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/src/main/java/io/servicecomb/samples/mwf/SimpleService.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/src/main/java/org/apache/servicecomb/samples/mwf/Log4J2MetricsFileWriter.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/src/main/java/org/apache/servicecomb/samples/mwf/ServiceApplication.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/src/main/java/org/apache/servicecomb/samples/mwf/SimpleService.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/io/servicecomb/samples/mwf/FileContentConvertor.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/io/servicecomb/samples/mwf/FileContentFormatter.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/io/servicecomb/samples/mwf/MetricsBootListener.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/io/servicecomb/samples/mwf/MetricsFileWriter.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/io/servicecomb/samples/mwf/SimpleFileContentConvertor.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/io/servicecomb/samples/mwf/SimpleFileContentFormatter.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/io/servicecomb/samples/mwf/WriteFileInitializer.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/org/apache/servicecomb/samples/mwf/FileContentConvertor.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/org/apache/servicecomb/samples/mwf/FileContentFormatter.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/org/apache/servicecomb/samples/mwf/MetricsBootListener.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/org/apache/servicecomb/samples/mwf/MetricsFileWriter.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/org/apache/servicecomb/samples/mwf/SimpleFileContentConvertor.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/org/apache/servicecomb/samples/mwf/SimpleFileContentFormatter.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/main/java/org/apache/servicecomb/samples/mwf/WriteFileInitializer.java
 delete mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/test/java/io/servicecomb/samples/mwf/TestWriteFile.java
 create mode 100644 samples/metrics-write-file-sample/metrics-write-file/src/test/java/org/apache/servicecomb/samples/mwf/TestWriteFile.java
 delete mode 100644 samples/pojo-sample/pojo-consumer/src/main/java/io/servicecomb/samples/pojo/Compute.java
 delete mode 100644 samples/pojo-sample/pojo-consumer/src/main/java/io/servicecomb/samples/pojo/consumer/PojoConsumerMain.java
 create mode 100644 samples/pojo-sample/pojo-consumer/src/main/java/org/apache/servicecomb/samples/pojo/Compute.java
 create mode 100644 samples/pojo-sample/pojo-consumer/src/main/java/org/apache/servicecomb/samples/pojo/consumer/PojoConsumerMain.java
 delete mode 100644 samples/pojo-sample/pojo-consumer/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 samples/pojo-sample/pojo-consumer/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 samples/pojo-sample/pojo-provider/src/main/java/io/servicecomb/samples/pojo/Compute.java
 delete mode 100644 samples/pojo-sample/pojo-provider/src/main/java/io/servicecomb/samples/pojo/provider/CodeFirstComputeImpl.java
 delete mode 100644 samples/pojo-sample/pojo-provider/src/main/java/io/servicecomb/samples/pojo/provider/HelloImpl.java
 delete mode 100644 samples/pojo-sample/pojo-provider/src/main/java/io/servicecomb/samples/pojo/provider/PojoProviderMain.java
 create mode 100644 samples/pojo-sample/pojo-provider/src/main/java/org/apache/servicecomb/samples/pojo/Compute.java
 create mode 100644 samples/pojo-sample/pojo-provider/src/main/java/org/apache/servicecomb/samples/pojo/provider/CodeFirstComputeImpl.java
 create mode 100644 samples/pojo-sample/pojo-provider/src/main/java/org/apache/servicecomb/samples/pojo/provider/HelloImpl.java
 create mode 100644 samples/pojo-sample/pojo-provider/src/main/java/org/apache/servicecomb/samples/pojo/provider/PojoProviderMain.java
 delete mode 100644 samples/pojo-sample/pojo-provider/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 samples/pojo-sample/pojo-provider/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 samples/springmvc-sample/springmvc-consumer/src/main/java/io/servicecomb/samples/springmvc/consumer/SpringmvcConsumerMain.java
 create mode 100644 samples/springmvc-sample/springmvc-consumer/src/main/java/org/apache/servicecomb/samples/springmvc/consumer/SpringmvcConsumerMain.java
 delete mode 100644 samples/springmvc-sample/springmvc-consumer/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 samples/springmvc-sample/springmvc-consumer/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 samples/springmvc-sample/springmvc-provider/src/main/java/io/servicecomb/samples/springmvc/provider/SpringmvcHelloImpl.java
 delete mode 100644 samples/springmvc-sample/springmvc-provider/src/main/java/io/servicecomb/samples/springmvc/provider/SpringmvcProviderMain.java
 create mode 100644 samples/springmvc-sample/springmvc-provider/src/main/java/org/apache/servicecomb/samples/springmvc/provider/SpringmvcHelloImpl.java
 create mode 100644 samples/springmvc-sample/springmvc-provider/src/main/java/org/apache/servicecomb/samples/springmvc/provider/SpringmvcProviderMain.java
 delete mode 100644 samples/springmvc-sample/springmvc-provider/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 samples/springmvc-sample/springmvc-provider/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/Features.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/RegistryUtils.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/ServiceRegistry.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/Const.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/MicroserviceKey.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/PropertyExtended.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/registry/BasePath.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/registry/DataCenterInfo.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/registry/Framework.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/registry/HealthCheck.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/registry/HealthCheckMode.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/registry/Microservice.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/registry/MicroserviceFactory.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/registry/MicroserviceInstance.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/registry/MicroserviceInstanceStatus.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/registry/MicroserviceStatus.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/registry/WatchAction.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/request/CreateSchemaRequest.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/request/CreateServiceRequest.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/request/RegisterInstanceRequest.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/request/UpdatePropertiesRequest.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/response/CreateServiceResponse.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/response/FindInstancesResponse.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/response/GetAllServicesResponse.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/response/GetExistenceResponse.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/response/GetInstancesResponse.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/response/GetSchemaResponse.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/response/GetServiceResponse.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/response/HeartbeatResponse.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/response/MicroserviceInstanceChangedEvent.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/response/MicroserviceInstanceResponse.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/api/response/RegisterInstanceResponse.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/cache/CacheEndpoint.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/cache/InstanceCache.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/cache/InstanceCacheManager.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/cache/InstanceCacheManagerNew.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/cache/MicroserviceInstanceCache.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/ClientException.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/Endpoints.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/IpPortManager.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/LocalServiceRegistryClientImpl.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/ServiceRegistryClient.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/AbstractClientPool.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/ClientPool.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/EmptyAuthHeaderProvider.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/HttpClientPool.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/MicroserviceInstances.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/RequestContext.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/RequestParam.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/RestResponse.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/RestUtils.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/ServiceRegistryClientImpl.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/WebsocketClientPool.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/client/http/WebsocketUtils.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/config/AbstractPropertiesLoader.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/config/ConfigurePropertyUtils.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/config/InstancePropertiesLoader.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/config/MicroservicePropertiesLoader.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/consumer/AppManager.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/consumer/DefaultMicroserviceVersionFactory.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/consumer/MicroserviceManager.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/consumer/MicroserviceVersion.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/consumer/MicroserviceVersionFactory.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/consumer/MicroserviceVersionRule.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/consumer/MicroserviceVersions.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/definition/DefinitionConst.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/definition/MicroserviceDefinition.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/discovery/AbstractDiscoveryFilter.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/discovery/AbstractEndpointDiscoveryFilter.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/discovery/DiscoveryContext.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/discovery/DiscoveryFilter.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/discovery/DiscoveryTree.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/discovery/DiscoveryTreeNode.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/registry/AbstractServiceRegistry.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/registry/LocalServiceRegistry.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/registry/RemoteServiceRegistry.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/registry/ServiceRegistryFactory.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/AbstractRegisterTask.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/AbstractTask.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/CompositeTask.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/HeartbeatResult.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/MicroserviceInstanceHeartbeatTask.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/MicroserviceInstanceRegisterTask.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/MicroserviceRegisterTask.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/MicroserviceServiceCenterTask.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/MicroserviceWatchTask.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/ServiceCenterTask.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/ServiceCenterTaskMonitor.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/TaskStatus.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/event/ExceptionEvent.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/event/HeartbeatFailEvent.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/event/HeartbeatSuccEvent.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/event/PeriodicPullEvent.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/event/PullMicroserviceVersionsInstancesEvent.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/event/RecoveryEvent.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/task/event/ShutdownEvent.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/version/Version.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/version/VersionRule.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/version/VersionRuleFixedParser.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/version/VersionRuleLatestParser.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/version/VersionRuleParser.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/version/VersionRuleRangeParser.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/version/VersionRuleStartFromParser.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/version/VersionRuleUtils.java
 delete mode 100644 service-registry/src/main/java/io/servicecomb/serviceregistry/version/VersionUtils.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/Features.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/RegistryUtils.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/ServiceRegistry.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/Const.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/MicroserviceKey.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/PropertyExtended.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/BasePath.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/DataCenterInfo.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/Framework.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/HealthCheck.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/HealthCheckMode.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/Microservice.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/MicroserviceFactory.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/MicroserviceInstance.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/MicroserviceInstanceStatus.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/MicroserviceStatus.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/registry/WatchAction.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/request/CreateSchemaRequest.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/request/CreateServiceRequest.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/request/RegisterInstanceRequest.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/request/UpdatePropertiesRequest.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/response/CreateServiceResponse.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/response/FindInstancesResponse.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/response/GetAllServicesResponse.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/response/GetExistenceResponse.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/response/GetInstancesResponse.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/response/GetSchemaResponse.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/response/GetServiceResponse.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/response/HeartbeatResponse.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/response/MicroserviceInstanceChangedEvent.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/response/MicroserviceInstanceResponse.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/api/response/RegisterInstanceResponse.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/cache/CacheEndpoint.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/cache/InstanceCache.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/cache/InstanceCacheManager.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/cache/InstanceCacheManagerNew.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/cache/MicroserviceInstanceCache.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/ClientException.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/Endpoints.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/IpPortManager.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/LocalServiceRegistryClientImpl.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/ServiceRegistryClient.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/AbstractClientPool.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/ClientPool.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/EmptyAuthHeaderProvider.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/HttpClientPool.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/MicroserviceInstances.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/RequestContext.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/RequestParam.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/RestResponse.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/RestUtils.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/ServiceRegistryClientImpl.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/WebsocketClientPool.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/WebsocketUtils.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/AbstractPropertiesLoader.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ConfigurePropertyUtils.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/InstancePropertiesLoader.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/MicroservicePropertiesLoader.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/consumer/AppManager.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/consumer/DefaultMicroserviceVersionFactory.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/consumer/MicroserviceManager.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/consumer/MicroserviceVersion.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/consumer/MicroserviceVersionFactory.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/consumer/MicroserviceVersionRule.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/consumer/MicroserviceVersions.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/definition/DefinitionConst.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/definition/MicroserviceDefinition.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/discovery/AbstractDiscoveryFilter.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/discovery/AbstractEndpointDiscoveryFilter.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/discovery/DiscoveryContext.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/discovery/DiscoveryFilter.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/discovery/DiscoveryTree.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/discovery/DiscoveryTreeNode.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/registry/AbstractServiceRegistry.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/registry/LocalServiceRegistry.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/registry/RemoteServiceRegistry.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/registry/ServiceRegistryFactory.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/AbstractRegisterTask.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/AbstractTask.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/CompositeTask.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/HeartbeatResult.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceInstanceHeartbeatTask.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceInstanceRegisterTask.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceRegisterTask.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceServiceCenterTask.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceWatchTask.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/ServiceCenterTask.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/ServiceCenterTaskMonitor.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/TaskStatus.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/event/ExceptionEvent.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/event/HeartbeatFailEvent.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/event/HeartbeatSuccEvent.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/event/PeriodicPullEvent.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/event/PullMicroserviceVersionsInstancesEvent.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/event/RecoveryEvent.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/event/ShutdownEvent.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/version/Version.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/version/VersionRule.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/version/VersionRuleFixedParser.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/version/VersionRuleLatestParser.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/version/VersionRuleParser.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/version/VersionRuleRangeParser.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/version/VersionRuleStartFromParser.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/version/VersionRuleUtils.java
 create mode 100644 service-registry/src/main/java/org/apache/servicecomb/serviceregistry/version/VersionUtils.java
 delete mode 100644 service-registry/src/main/resources/META-INF/services/io.servicecomb.foundation.auth.AuthHeaderProvider
 create mode 100644 service-registry/src/main/resources/META-INF/services/org.apache.servicecomb.foundation.auth.AuthHeaderProvider
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/MicroServicePropertyExtendedStub.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/TestRegistry.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/TestConst.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/TestMicroserviceKey.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/registry/TestBasePath.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/registry/TestFramework.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/registry/TestHealthCheck.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/registry/TestMicroService.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/registry/TestMicroServiceInstance.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/registry/TestMicroserviceFactory.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/request/TestCreateSchemaRequest.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/request/TestCreateServiceRequest.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/request/TestRegisterInstanceRequest.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/request/TestUpdatePropertiesRequest.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/response/TestCreateServiceResponse.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/response/TestFindInstancesResponse.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/response/TestGetAllServicesResponse.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/response/TestGetExistenceResponse.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/response/TestGetInstancesResponse.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/response/TestGetServiceResponse.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/response/TestHeartbeatResponse.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/response/TestMicroserviceInstanceChangedEvent.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/response/TestMicroserviceInstanceResponse.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/api/response/TestRegisterInstanceResponse.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/cache/TestInstanceCache.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/cache/TestInstanceCacheManagerNew.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/client/LocalServiceRegistryClientImplTest.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/client/ServiceRegistryDemo.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/client/TestEndpoints.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/client/TestIpPortManager.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/client/http/MockAuthHeaderProvider.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/client/http/RestUtilsTest.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/client/http/TestClientHttp.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/client/http/TestClientPool.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/client/http/TestMicroserviceInstances.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/client/http/TestServiceRegistryClientImpl.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/config/TestConfigurePropertyUtils.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/config/TestPropertiesLoader.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/config/TestServiceRegistryConfig.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/consumer/MicroserviceVersionTestUtils.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/consumer/TestAppManager.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/consumer/TestDefaultMicroserviceVersionFactory.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/consumer/TestMicroserviceManager.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/consumer/TestMicroserviceVersion.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/consumer/TestMicroserviceVersionRule.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/consumer/TestMicroserviceVersions.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/discovery/TestAbstractDiscoveryFilter.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/discovery/TestAbstractTransportDiscoveryFilter.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/discovery/TestDiscoveryContext.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/discovery/TestDiscoveryTree.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/discovery/TestDiscoveryTreeNode.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/registry/TestAbstractServiceRegistry.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/registry/TestLocalServiceRegistry.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/registry/TestRemoteServiceRegistry.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/registry/TestServiceRegistryFactory.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/task/TestAbstractRegisterTask.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/task/TestCompositeTask.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/task/TestMicroserviceInstanceHeartbeatTask.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/task/TestMicroserviceInstanceRegisterTask.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/task/TestMicroserviceRegisterTask.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/task/TestMicroserviceWatchTask.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/task/TestServiceCenterTask.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/version/TestVersion.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/version/TestVersionRule.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/version/TestVersionRuleFixedParser.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/version/TestVersionRuleLatestParser.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/version/TestVersionRuleRangeParser.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/version/TestVersionRuleStartFromParser.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/version/TestVersionRuleUtils.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/version/TestVersionUtils.java
 delete mode 100644 service-registry/src/test/java/io/servicecomb/serviceregistry/version/VersionConst.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/MicroServicePropertyExtendedStub.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/TestRegistry.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/TestConst.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/TestMicroserviceKey.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestBasePath.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestFramework.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestHealthCheck.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestMicroService.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestMicroServiceInstance.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/registry/TestMicroserviceFactory.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/request/TestCreateSchemaRequest.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/request/TestCreateServiceRequest.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/request/TestRegisterInstanceRequest.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/request/TestUpdatePropertiesRequest.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/response/TestCreateServiceResponse.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/response/TestFindInstancesResponse.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/response/TestGetAllServicesResponse.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/response/TestGetExistenceResponse.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/response/TestGetInstancesResponse.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/response/TestGetServiceResponse.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/response/TestHeartbeatResponse.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/response/TestMicroserviceInstanceChangedEvent.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/response/TestMicroserviceInstanceResponse.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/api/response/TestRegisterInstanceResponse.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/cache/TestInstanceCache.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/cache/TestInstanceCacheManagerNew.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/LocalServiceRegistryClientImplTest.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/ServiceRegistryDemo.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/TestEndpoints.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/TestIpPortManager.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/MockAuthHeaderProvider.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/RestUtilsTest.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestClientHttp.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestClientPool.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestMicroserviceInstances.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestServiceRegistryClientImpl.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/config/TestConfigurePropertyUtils.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/config/TestPropertiesLoader.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/config/TestServiceRegistryConfig.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/consumer/MicroserviceVersionTestUtils.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/consumer/TestAppManager.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/consumer/TestDefaultMicroserviceVersionFactory.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/consumer/TestMicroserviceManager.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/consumer/TestMicroserviceVersion.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/consumer/TestMicroserviceVersionRule.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/consumer/TestMicroserviceVersions.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/discovery/TestAbstractDiscoveryFilter.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/discovery/TestAbstractTransportDiscoveryFilter.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/discovery/TestDiscoveryContext.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/discovery/TestDiscoveryTree.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/discovery/TestDiscoveryTreeNode.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/registry/TestAbstractServiceRegistry.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/registry/TestLocalServiceRegistry.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/registry/TestRemoteServiceRegistry.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/registry/TestServiceRegistryFactory.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/task/TestAbstractRegisterTask.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/task/TestCompositeTask.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/task/TestMicroserviceInstanceHeartbeatTask.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/task/TestMicroserviceInstanceRegisterTask.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/task/TestMicroserviceRegisterTask.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/task/TestMicroserviceWatchTask.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/task/TestServiceCenterTask.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/version/TestVersion.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/version/TestVersionRule.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/version/TestVersionRuleFixedParser.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/version/TestVersionRuleLatestParser.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/version/TestVersionRuleRangeParser.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/version/TestVersionRuleStartFromParser.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/version/TestVersionRuleUtils.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/version/TestVersionUtils.java
 create mode 100644 service-registry/src/test/java/org/apache/servicecomb/serviceregistry/version/VersionConst.java
 delete mode 100644 service-registry/src/test/resources/META-INF/services/io.servicecomb.foundation.auth.AuthHeaderProvider
 create mode 100644 service-registry/src/test/resources/META-INF/services/org.apache.servicecomb.foundation.auth.AuthHeaderProvider
 delete mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/main/java/io/servicecomb/springboot/starter/discovery/CseDiscoveryClient.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/main/java/io/servicecomb/springboot/starter/discovery/CseDiscoveryClientConfiguration.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/main/java/io/servicecomb/springboot/starter/discovery/CseRibbonClientConfiguration.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/main/java/io/servicecomb/springboot/starter/discovery/CseRibbonConfiguration.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/main/java/io/servicecomb/springboot/starter/discovery/ServiceCombServerList.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/main/java/io/servicecomb/springboot/starter/discovery/package-info.java
 create mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot/starter/discovery/CseDiscoveryClient.java
 create mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot/starter/discovery/CseDiscoveryClientConfiguration.java
 create mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot/starter/discovery/CseRibbonClientConfiguration.java
 create mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot/starter/discovery/CseRibbonConfiguration.java
 create mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot/starter/discovery/ServiceCombServerList.java
 create mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot/starter/discovery/package-info.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/test/java/io/servicecomb/springboot/starter/discovery/TestCseDiscoveryClient.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/test/java/io/servicecomb/springboot/starter/discovery/TestCseDiscoveryClientConfiguration.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/test/java/io/servicecomb/springboot/starter/discovery/TestCseRibbonClientConfiguration.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/test/java/io/servicecomb/springboot/starter/discovery/TestServiceCombServerList.java
 create mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/test/java/org/apache/servicecomb/springboot/starter/discovery/TestCseDiscoveryClient.java
 create mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/test/java/org/apache/servicecomb/springboot/starter/discovery/TestCseDiscoveryClientConfiguration.java
 create mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/test/java/org/apache/servicecomb/springboot/starter/discovery/TestCseRibbonClientConfiguration.java
 create mode 100644 spring-boot-starter/spring-boot-starter-discovery/src/test/java/org/apache/servicecomb/springboot/starter/discovery/TestServiceCombServerList.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-registry/src/main/java/io/servicecomb/springboot/starter/registry/CseAutoConfiguration.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-registry/src/main/java/io/servicecomb/springboot/starter/registry/RegistryIntializer.java
 create mode 100644 spring-boot-starter/spring-boot-starter-registry/src/main/java/org/apache/servicecomb/springboot/starter/registry/CseAutoConfiguration.java
 create mode 100644 spring-boot-starter/spring-boot-starter-registry/src/main/java/org/apache/servicecomb/springboot/starter/registry/RegistryIntializer.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-registry/src/test/java/io/servicecomb/springboot/starter/registry/TestCseAutoConfiguration.java
 create mode 100644 spring-boot-starter/spring-boot-starter-registry/src/test/java/org/apache/servicecomb/springboot/starter/registry/TestCseAutoConfiguration.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-servicecomb/src/main/java/io/servicecomb/springboot/starter/provider/EnableServiceComb.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-servicecomb/src/main/java/io/servicecomb/springboot/starter/provider/ServiceCombSpringConfiguration.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-servicecomb/src/main/java/io/servicecomb/springboot/starter/provider/package-info.java
 create mode 100644 spring-boot-starter/spring-boot-starter-servicecomb/src/main/java/org/apache/servicecomb/springboot/starter/provider/EnableServiceComb.java
 create mode 100644 spring-boot-starter/spring-boot-starter-servicecomb/src/main/java/org/apache/servicecomb/springboot/starter/provider/ServiceCombSpringConfiguration.java
 create mode 100644 spring-boot-starter/spring-boot-starter-servicecomb/src/main/java/org/apache/servicecomb/springboot/starter/provider/package-info.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-transport/src/main/java/io/servicecomb/springboot/starter/transport/RestServletInitializer.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-transport/src/main/java/io/servicecomb/springboot/starter/transport/package-info.java
 create mode 100644 spring-boot-starter/spring-boot-starter-transport/src/main/java/org/apache/servicecomb/springboot/starter/transport/RestServletInitializer.java
 create mode 100644 spring-boot-starter/spring-boot-starter-transport/src/main/java/org/apache/servicecomb/springboot/starter/transport/package-info.java
 delete mode 100644 spring-boot-starter/spring-boot-starter-transport/src/test/java/io/servicecomb/springboot/starter/transport/TestRestServletInitializer.java
 create mode 100644 spring-boot-starter/spring-boot-starter-transport/src/test/java/org/apache/servicecomb/springboot/starter/transport/TestRestServletInitializer.java
 delete mode 100644 spring-boot-starter/spring-cloud-zuul-zipkin/src/main/java/io/servicecomb/spring/cloud/zuul/tracing/SpringTracingConfiguration.java
 delete mode 100644 spring-boot-starter/spring-cloud-zuul-zipkin/src/main/java/io/servicecomb/spring/cloud/zuul/tracing/TracePostZuulFilter.java
 delete mode 100644 spring-boot-starter/spring-cloud-zuul-zipkin/src/main/java/io/servicecomb/spring/cloud/zuul/tracing/TracePreZuulFilter.java
 create mode 100644 spring-boot-starter/spring-cloud-zuul-zipkin/src/main/java/org/apache/servicecomb/spring/cloud/zuul/tracing/SpringTracingConfiguration.java
 create mode 100644 spring-boot-starter/spring-cloud-zuul-zipkin/src/main/java/org/apache/servicecomb/spring/cloud/zuul/tracing/TracePostZuulFilter.java
 create mode 100644 spring-boot-starter/spring-cloud-zuul-zipkin/src/main/java/org/apache/servicecomb/spring/cloud/zuul/tracing/TracePreZuulFilter.java
 delete mode 100644 spring-boot-starter/spring-cloud-zuul-zipkin/src/test/java/io/servicecomb/spring/cloud/zuul/tracing/SpringTracingConfigurationTest.java
 create mode 100644 spring-boot-starter/spring-cloud-zuul-zipkin/src/test/java/org/apache/servicecomb/spring/cloud/zuul/tracing/SpringTracingConfigurationTest.java
 delete mode 100644 spring-boot-starter/spring-cloud-zuul/src/main/java/io/servicecomb/spring/cloud/zuul/ContextHeaderZuulFilter.java
 create mode 100644 spring-boot-starter/spring-cloud-zuul/src/main/java/org/apache/servicecomb/spring/cloud/zuul/ContextHeaderZuulFilter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/SwaggerUtils.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/AbstractConverter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/Converter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/ConverterMgr.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/model/AbstractModelConverter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/model/ArrayModelConverter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/model/ModelImplConverter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/model/RefModelConverter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/parameter/AbstractSerializableParameterConverter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/parameter/BodyParameterConverter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/property/AbstractPropertyConverter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/property/ArrayPropertyConverter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/property/MapPropertyConverter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/property/RefPropertyConverter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/converter/property/StringPropertyConverter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/ExtendConst.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/ModelResolverExt.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/annotations/RawJsonRequestBody.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/annotations/ResponseHeaders.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/parameter/ContextParameter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/parameter/HttpRequestParameter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/property/AbstractBaseIntegerProperty.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/property/ByteProperty.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/property/ShortProperty.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/property/creator/ByteArrayPropertyCreator.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/property/creator/BytePropertyCreator.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/property/creator/InputStreamPropertyCreator.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/property/creator/PartPropertyCreator.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/property/creator/PropertyCreator.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/extend/property/creator/ShortPropertyCreator.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/AbstractSwaggerGeneratorContext.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/AnnotationProcessorManager.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/ClassAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/CommonParameterTypeProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/CompositeSwaggerGeneratorContext.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/DefaultParameterProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/MethodAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/OperationGenerator.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/ParameterAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/ParameterTypeProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/ResponseTypeProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/SwaggerConst.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/SwaggerGenerator.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/SwaggerGeneratorContext.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/package-info.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/AnnotationUtils.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/ApiImplicitParamClassProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/ApiImplicitParamMethodProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/ApiImplicitParamsClassProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/ApiImplicitParamsMethodProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/ApiOperationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/ApiProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/ApiResponseClassProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/ApiResponseMethodProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/ApiResponsesClassProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/ApiResponsesMethodProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/ResponseHeaderProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/ResponseHeadersProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/SwaggerDefinitionProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/models/ResponseConfig.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/models/ResponseConfigBase.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/models/ResponseHeaderConfig.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/annotation/package-info.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/parameter/AbstractParameterProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/parametertype/HttpServletRequestProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/parametertype/RawJsonRequestBodyProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/response/AbstractOneGenericResponseProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/response/CompletableFutureProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/processor/response/DefaultResponseTypeProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/unittest/SwaggerGeneratorForTest.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/unittest/UnitTestSwaggerUtils.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/unittest/package-info.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/utils/ClassUtils.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/utils/ParamUtils.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/pojo/PojoSwaggerGeneratorContext.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/pojo/converter/parameter/PendingBodyParameterConverter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/pojo/extend/parameter/PendingBodyParameter.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/pojo/package-info.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/pojo/processor/parameter/PojoDefaultParameterProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/pojo/utils/PojoParamUtils.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/rest/RestSwaggerGeneratorContext.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/SwaggerUtils.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/AbstractConverter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/Converter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/ConverterMgr.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/model/AbstractModelConverter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/model/ArrayModelConverter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/model/ModelImplConverter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/model/RefModelConverter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/parameter/AbstractSerializableParameterConverter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/parameter/BodyParameterConverter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/property/AbstractPropertyConverter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/property/ArrayPropertyConverter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/property/MapPropertyConverter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/property/RefPropertyConverter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/converter/property/StringPropertyConverter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/ExtendConst.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/ModelResolverExt.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/annotations/RawJsonRequestBody.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/annotations/ResponseHeaders.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/parameter/ContextParameter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/parameter/HttpRequestParameter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/property/AbstractBaseIntegerProperty.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/property/ByteProperty.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/property/ShortProperty.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/property/creator/ByteArrayPropertyCreator.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/property/creator/BytePropertyCreator.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/property/creator/InputStreamPropertyCreator.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/property/creator/PartPropertyCreator.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/property/creator/PropertyCreator.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/extend/property/creator/ShortPropertyCreator.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/AbstractSwaggerGeneratorContext.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/AnnotationProcessorManager.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/ClassAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/CommonParameterTypeProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/CompositeSwaggerGeneratorContext.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/DefaultParameterProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/MethodAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/OperationGenerator.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/ParameterAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/ParameterTypeProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/ResponseTypeProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/SwaggerConst.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/SwaggerGenerator.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/SwaggerGeneratorContext.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/package-info.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/AnnotationUtils.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ApiImplicitParamClassProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ApiImplicitParamMethodProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ApiImplicitParamsClassProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ApiImplicitParamsMethodProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ApiOperationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ApiProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ApiResponseClassProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ApiResponseMethodProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ApiResponsesClassProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ApiResponsesMethodProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ResponseHeaderProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ResponseHeadersProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/SwaggerDefinitionProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/models/ResponseConfig.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/models/ResponseConfigBase.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/models/ResponseHeaderConfig.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/package-info.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/parameter/AbstractParameterProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/parametertype/HttpServletRequestProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/parametertype/RawJsonRequestBodyProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/response/AbstractOneGenericResponseProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/response/CompletableFutureProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/processor/response/DefaultResponseTypeProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/unittest/SwaggerGeneratorForTest.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/unittest/UnitTestSwaggerUtils.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/unittest/package-info.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ClassUtils.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/utils/ParamUtils.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/pojo/PojoSwaggerGeneratorContext.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/pojo/converter/parameter/PendingBodyParameterConverter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/pojo/extend/parameter/PendingBodyParameter.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/pojo/package-info.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/pojo/processor/parameter/PojoDefaultParameterProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/pojo/utils/PojoParamUtils.java
 create mode 100644 swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/rest/RestSwaggerGeneratorContext.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/resources/META-INF/services/io.servicecomb.swagger.generator.core.CommonParameterTypeProcessor
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/resources/META-INF/services/io.servicecomb.swagger.generator.core.ResponseTypeProcessor
 delete mode 100644 swagger/swagger-generator/generator-core/src/main/resources/META-INF/services/io.servicecomb.swagger.generator.core.SwaggerGeneratorContext
 create mode 100644 swagger/swagger-generator/generator-core/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.generator.core.CommonParameterTypeProcessor
 create mode 100644 swagger/swagger-generator/generator-core/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.generator.core.ResponseTypeProcessor
 create mode 100644 swagger/swagger-generator/generator-core/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.generator.core.SwaggerGeneratorContext
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/TestSwaggerUtils.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/extend/property/creator/TestPartPropertyCreator.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/TestApiImplicitParams.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/TestApiOperation.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/TestApiResponse.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/TestArrayType.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/TestClassUtils.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/TestInvalidType.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/TestOperationGenerator.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/TestParamUtils.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/TestProperty.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/TestSwaggerDefinition.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/TestSwaggerGenerator.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/TestSwaggerUtils.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/processor/annotation/ApiOperationProcessorTest.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/processor/annotation/ApiProcessorTest.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/processor/annotation/SwaggerDefinitionProcessorTest.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/processor/response/TestAbstractOneGenericResponseProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/processor/response/TestCompletableFutureProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/schema/AllType.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/schema/ArrayType.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/schema/Color.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/schema/InvalidResponseHeader.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/schema/InvalidType.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/schema/RepeatOperation.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/schema/Schema.java
 delete mode 100644 swagger/swagger-generator/generator-core/src/test/java/io/servicecomb/swagger/generator/core/schema/User.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/TestSwaggerUtils.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/extend/property/creator/TestPartPropertyCreator.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestApiImplicitParams.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestApiOperation.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestApiResponse.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestArrayType.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestClassUtils.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestInvalidType.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestOperationGenerator.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestParamUtils.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestProperty.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestSwaggerDefinition.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestSwaggerGenerator.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/TestSwaggerUtils.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ApiOperationProcessorTest.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/ApiProcessorTest.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/processor/annotation/SwaggerDefinitionProcessorTest.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/processor/response/TestAbstractOneGenericResponseProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/processor/response/TestCompletableFutureProcessor.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/schema/AllType.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/schema/ArrayType.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/schema/Color.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/schema/InvalidResponseHeader.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/schema/InvalidType.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/schema/RepeatOperation.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/schema/Schema.java
 create mode 100644 swagger/swagger-generator/generator-core/src/test/java/org/apache/servicecomb/swagger/generator/core/schema/User.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/io/servicecomb/swagger/generator/jaxrs/JaxrsSwaggerGeneratorContext.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/io/servicecomb/swagger/generator/jaxrs/processor/annotation/ConsumesAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/io/servicecomb/swagger/generator/jaxrs/processor/annotation/CookieParamAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/io/servicecomb/swagger/generator/jaxrs/processor/annotation/FormParamAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/io/servicecomb/swagger/generator/jaxrs/processor/annotation/HeaderParamAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/io/servicecomb/swagger/generator/jaxrs/processor/annotation/HttpMethodAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/io/servicecomb/swagger/generator/jaxrs/processor/annotation/PathClassAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/io/servicecomb/swagger/generator/jaxrs/processor/annotation/PathMethodAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/io/servicecomb/swagger/generator/jaxrs/processor/annotation/PathParamAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/io/servicecomb/swagger/generator/jaxrs/processor/annotation/ProducesAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/io/servicecomb/swagger/generator/jaxrs/processor/annotation/QueryParamAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/io/servicecomb/swagger/generator/jaxrs/processor/parameter/JaxrsDefaultParameterProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/io/servicecomb/swagger/generator/jaxrs/processor/response/JaxrsResponseProcessor.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/org/apache/servicecomb/swagger/generator/jaxrs/JaxrsSwaggerGeneratorContext.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/org/apache/servicecomb/swagger/generator/jaxrs/processor/annotation/ConsumesAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/org/apache/servicecomb/swagger/generator/jaxrs/processor/annotation/CookieParamAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/org/apache/servicecomb/swagger/generator/jaxrs/processor/annotation/FormParamAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/org/apache/servicecomb/swagger/generator/jaxrs/processor/annotation/HeaderParamAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/org/apache/servicecomb/swagger/generator/jaxrs/processor/annotation/HttpMethodAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/org/apache/servicecomb/swagger/generator/jaxrs/processor/annotation/PathClassAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/org/apache/servicecomb/swagger/generator/jaxrs/processor/annotation/PathMethodAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/org/apache/servicecomb/swagger/generator/jaxrs/processor/annotation/PathParamAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/org/apache/servicecomb/swagger/generator/jaxrs/processor/annotation/ProducesAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/org/apache/servicecomb/swagger/generator/jaxrs/processor/annotation/QueryParamAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/org/apache/servicecomb/swagger/generator/jaxrs/processor/parameter/JaxrsDefaultParameterProcessor.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/java/org/apache/servicecomb/swagger/generator/jaxrs/processor/response/JaxrsResponseProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/resources/META-INF/services/io.servicecomb.swagger.generator.core.ResponseTypeProcessor
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/resources/META-INF/services/io.servicecomb.swagger.generator.core.SwaggerGeneratorContext
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.generator.core.ResponseTypeProcessor
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.generator.core.SwaggerGeneratorContext
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/test/java/io/servicecomb/swagger/generator/jaxrs/ClassMethodNoPath.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/test/java/io/servicecomb/swagger/generator/jaxrs/Echo.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/test/java/io/servicecomb/swagger/generator/jaxrs/MultiDefaultPath.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/test/java/io/servicecomb/swagger/generator/jaxrs/TestJaxrs.java
 delete mode 100644 swagger/swagger-generator/generator-jaxrs/src/test/java/io/servicecomb/swagger/generator/jaxrs/User.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/test/java/org/apache/servicecomb/swagger/generator/jaxrs/ClassMethodNoPath.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/test/java/org/apache/servicecomb/swagger/generator/jaxrs/Echo.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/test/java/org/apache/servicecomb/swagger/generator/jaxrs/MultiDefaultPath.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/test/java/org/apache/servicecomb/swagger/generator/jaxrs/TestJaxrs.java
 create mode 100644 swagger/swagger-generator/generator-jaxrs/src/test/java/org/apache/servicecomb/swagger/generator/jaxrs/User.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/extend/property/creator/springmvc/MultipartFilePropertyCreator.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/SpringmvcSwaggerGeneratorContext.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/AbstractHttpMethodMappingAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/CookieValueAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/DeleteMappingMethodAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/GetMappingMethodAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/PatchMappingMethodAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/PathVariableAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/PostMappingMethodAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/PutMappingMethodAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/RequestAttributeAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/RequestBodyAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/RequestHeaderAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/RequestMappingClassAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/RequestMappingMethodAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/RequestParamAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/annotation/RequestPartAnnotationProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/parameter/MultipartFileTypeProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/parameter/SpringmvcDefaultParameterProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/io/servicecomb/swagger/generator/springmvc/processor/response/ResponseEntityProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/extend/property/creator/springmvc/MultipartFilePropertyCreator.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/SpringmvcSwaggerGeneratorContext.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/AbstractHttpMethodMappingAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/CookieValueAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/DeleteMappingMethodAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/GetMappingMethodAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/PatchMappingMethodAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/PathVariableAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/PostMappingMethodAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/PutMappingMethodAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestAttributeAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestBodyAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestHeaderAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestMappingClassAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestMappingMethodAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestParamAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/annotation/RequestPartAnnotationProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/parameter/MultipartFileTypeProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/parameter/SpringmvcDefaultParameterProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/java/org/apache/servicecomb/swagger/generator/springmvc/processor/response/ResponseEntityProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/resources/META-INF/services/io.servicecomb.swagger.extend.property.creator.PropertyCreator
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/resources/META-INF/services/io.servicecomb.swagger.generator.core.CommonParameterTypeProcessor
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/resources/META-INF/services/io.servicecomb.swagger.generator.core.ResponseTypeProcessor
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/main/resources/META-INF/services/io.servicecomb.swagger.generator.core.SwaggerGeneratorContext
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.extend.property.creator.PropertyCreator
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.generator.core.CommonParameterTypeProcessor
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.generator.core.ResponseTypeProcessor
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.generator.core.SwaggerGeneratorContext
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/ClassMethodNoHttpMethod.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/ClassMethodNoPath.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/ClassMultiHttpMethod.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/ClassMultiPath.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/Echo.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/MethodDefaultParameter.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/MethodEmptyPath.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/MethodMixupAnnotations.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/MethodMultiPath.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/MethodResponseEntity.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/MultiDefaultPath.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/TestResponseEntityProcessor.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/TestSpringmvc.java
 delete mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/io/servicecomb/swagger/generator/springmvc/User.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/ClassMethodNoHttpMethod.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/ClassMethodNoPath.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/ClassMultiHttpMethod.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/ClassMultiPath.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/Echo.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/MethodDefaultParameter.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/MethodEmptyPath.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/MethodMixupAnnotations.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/MethodMultiPath.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/MethodResponseEntity.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/MultiDefaultPath.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/TestResponseEntityProcessor.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/TestSpringmvc.java
 create mode 100644 swagger/swagger-generator/generator-springmvc/src/test/java/org/apache/servicecomb/swagger/generator/springmvc/User.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/SwaggerBootstrap.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/SwaggerConsumer.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/SwaggerConsumerOperation.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/SwaggerEnvironment.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/SwaggerProducer.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/SwaggerProducerOperation.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/bootstrap/BootstrapNormal.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/engine/unittest/LocalProducerInvoker.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/extend/parameter/InvocationContextParameter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/AsyncResponse.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/InvocationType.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/Response.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/SwaggerInvocation.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/ArgumentMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/ArgumentsMapperConfig.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/ArgumentsMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/ContextArgumentMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/FieldInfo.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/ProviderParameter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/consumer/ConsumerArgumentSame.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/consumer/ConsumerArgumentToBodyField.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/consumer/ConsumerArgumentsMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/consumer/ConsumerArgumentsMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/consumer/ConsumerInvocationContextMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/consumer/ConsumerInvocationContextMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/producer/AbstractProducerContextArgMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/producer/ProducerArgumentSame.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/producer/ProducerArgumentsMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/producer/ProducerArgumentsMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/producer/ProducerInvocationContextMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/producer/ProducerInvocationContextMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/arguments/producer/SwaggerArgumentToProducerBodyField.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/context/ContextUtils.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/context/HttpStatus.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/context/HttpStatusManager.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/context/InvocationContext.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/converter/Converter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/converter/ConverterMgr.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/converter/CustomizedConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/converter/impl/ConverterCommon.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/converter/impl/ConverterSame.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/converter/impl/SameElementArrayToList.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/converter/impl/SameElementArrayToSet.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/converter/impl/SameElementCollectionToArray.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/converter/impl/part/FileToPartConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/converter/impl/part/InputStreamToPartConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/converter/impl/part/ResourceToPartConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/exception/CommonExceptionData.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/exception/DefaultExceptionToResponseConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/exception/ExceptionFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/exception/ExceptionToResponseConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/exception/ExceptionToResponseConverters.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/exception/InvocationException.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/exception/InvocationExceptionToResponseConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/generator/InvocationContextProcessor.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/Headers.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/ResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/ResponseMapperFactorys.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/ResponseMeta.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/ResponsesMeta.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/consumer/CompletableFutureConsumerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/consumer/ConsumerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/consumer/ConsumerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/consumer/CseResponseConsumerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/consumer/DefaultConsumerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/consumer/DefaultConsumerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/producer/CompletableFutureProducerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/producer/CseResponseProducerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/producer/DefaultProducerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/producer/DefaultProducerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/producer/ProducerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/io/servicecomb/swagger/invocation/response/producer/ProducerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerBootstrap.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerConsumer.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerConsumerOperation.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerEnvironment.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerProducer.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/SwaggerProducerOperation.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/bootstrap/BootstrapNormal.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/engine/unittest/LocalProducerInvoker.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/extend/parameter/InvocationContextParameter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/AsyncResponse.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/InvocationType.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/Response.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/SwaggerInvocation.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/ArgumentMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/ArgumentsMapperConfig.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/ArgumentsMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/ContextArgumentMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/FieldInfo.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/ProviderParameter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/consumer/ConsumerArgumentSame.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/consumer/ConsumerArgumentToBodyField.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/consumer/ConsumerArgumentsMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/consumer/ConsumerArgumentsMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/consumer/ConsumerInvocationContextMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/consumer/ConsumerInvocationContextMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/AbstractProducerContextArgMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/ProducerArgumentSame.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/ProducerArgumentsMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/ProducerArgumentsMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/ProducerInvocationContextMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/ProducerInvocationContextMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/SwaggerArgumentToProducerBodyField.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/context/ContextUtils.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/context/HttpStatus.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/context/HttpStatusManager.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/context/InvocationContext.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/converter/Converter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/converter/ConverterMgr.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/converter/CustomizedConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/converter/impl/ConverterCommon.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/converter/impl/ConverterSame.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/converter/impl/SameElementArrayToList.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/converter/impl/SameElementArrayToSet.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/converter/impl/SameElementCollectionToArray.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/converter/impl/part/FileToPartConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/converter/impl/part/InputStreamToPartConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/converter/impl/part/ResourceToPartConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/exception/CommonExceptionData.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/exception/DefaultExceptionToResponseConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/exception/ExceptionFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/exception/ExceptionToResponseConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/exception/ExceptionToResponseConverters.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/exception/InvocationException.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/exception/InvocationExceptionToResponseConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/generator/InvocationContextProcessor.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/Headers.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/ResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/ResponseMapperFactorys.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/ResponseMeta.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/ResponsesMeta.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/consumer/CompletableFutureConsumerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/consumer/ConsumerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/consumer/ConsumerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/consumer/CseResponseConsumerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/consumer/DefaultConsumerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/consumer/DefaultConsumerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/producer/CompletableFutureProducerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/producer/CseResponseProducerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/producer/DefaultProducerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/producer/DefaultProducerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/producer/ProducerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/response/producer/ProducerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/resources/META-INF/services/io.servicecomb.swagger.generator.core.CommonParameterTypeProcessor
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/resources/META-INF/services/io.servicecomb.swagger.invocation.exception.ExceptionToResponseConverter
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/resources/META-INF/services/io.servicecomb.swagger.invocation.response.consumer.ConsumerResponseMapperFactory
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/main/resources/META-INF/services/io.servicecomb.swagger.invocation.response.producer.ProducerResponseMapperFactory
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.generator.core.CommonParameterTypeProcessor
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.invocation.exception.ExceptionToResponseConverter
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.invocation.response.consumer.ConsumerResponseMapperFactory
 create mode 100644 swagger/swagger-invocation/invocation-core/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.invocation.response.producer.ProducerResponseMapperFactory
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/core/TestException.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/core/TestResponse.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/engine/TestSwaggerEnvironment.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/engine/TestSwaggerProducerOperation.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/arguments/TestPojoConsumerEqualProducer.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/arguments/TestPojoConsumerEqualSwagger.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/arguments/utils/Utils.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/converter/impl/part/TestFileToPartConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/converter/impl/part/TestInputStreamToPartConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/converter/impl/part/TestResourceToPartConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/exception/ErrorToResponseConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/exception/TestDefaultExceptionToResponseConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/exception/TestExceptionFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/exception/TestExceptionToResponseConverters.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/exception/TestInvocationExceptionToResponseConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/models/JaxrsImpl.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/models/Person.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/models/PojoConsumerIntf.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/models/PojoImpl.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/models/ProducerImpl.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/models/SpringmvcImpl.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/response/TestHeaders.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/response/TestResponseMapperFactorys.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/response/TestResponsesMeta.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/response/consumer/TestCompletableFutureConsumerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/response/consumer/TestCseResponseConsumerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/response/consumer/TestDefaultConsumerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/response/consumer/TestDefaultConsumerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/response/producer/TestCompletableFutureProducerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/response/producer/TestCseResponseProducerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/response/producer/TestDefaultProducerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/io/servicecomb/swagger/invocation/response/producer/TestDefaultProducerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/core/TestException.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/core/TestResponse.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/engine/TestSwaggerEnvironment.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/engine/TestSwaggerProducerOperation.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/arguments/TestPojoConsumerEqualProducer.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/arguments/TestPojoConsumerEqualSwagger.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/arguments/utils/Utils.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/converter/impl/part/TestFileToPartConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/converter/impl/part/TestInputStreamToPartConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/converter/impl/part/TestResourceToPartConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/exception/ErrorToResponseConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/exception/TestDefaultExceptionToResponseConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/exception/TestExceptionFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/exception/TestExceptionToResponseConverters.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/exception/TestInvocationExceptionToResponseConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/models/JaxrsImpl.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/models/Person.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/models/PojoConsumerIntf.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/models/PojoImpl.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/models/ProducerImpl.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/models/SpringmvcImpl.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/response/TestHeaders.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/response/TestResponseMapperFactorys.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/response/TestResponsesMeta.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/response/consumer/TestCompletableFutureConsumerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/response/consumer/TestCseResponseConsumerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/response/consumer/TestDefaultConsumerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/response/consumer/TestDefaultConsumerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/response/producer/TestCompletableFutureProducerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/response/producer/TestCseResponseProducerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/response/producer/TestDefaultProducerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/java/org/apache/servicecomb/swagger/invocation/response/producer/TestDefaultProducerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-core/src/test/resources/META-INF/services/io.servicecomb.swagger.invocation.exception.ExceptionToResponseConverter
 create mode 100644 swagger/swagger-invocation/invocation-core/src/test/resources/META-INF/services/org.apache.servicecomb.swagger.invocation.exception.ExceptionToResponseConverter
 delete mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/main/java/io/servicecomb/swagger/invocation/jaxrs/response/JaxrsConsumerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/main/java/io/servicecomb/swagger/invocation/jaxrs/response/JaxrsConsumerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/main/java/io/servicecomb/swagger/invocation/jaxrs/response/JaxrsProducerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/main/java/io/servicecomb/swagger/invocation/jaxrs/response/JaxrsProducerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/main/java/org/apache/servicecomb/swagger/invocation/jaxrs/response/JaxrsConsumerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/main/java/org/apache/servicecomb/swagger/invocation/jaxrs/response/JaxrsConsumerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/main/java/org/apache/servicecomb/swagger/invocation/jaxrs/response/JaxrsProducerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/main/java/org/apache/servicecomb/swagger/invocation/jaxrs/response/JaxrsProducerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/main/resources/META-INF/services/io.servicecomb.swagger.invocation.response.consumer.ConsumerResponseMapperFactory
 delete mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/main/resources/META-INF/services/io.servicecomb.swagger.invocation.response.producer.ProducerResponseMapperFactory
 create mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.invocation.response.consumer.ConsumerResponseMapperFactory
 create mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.invocation.response.producer.ProducerResponseMapperFactory
 delete mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/test/java/io/servicecomb/swagger/invocation/jaxrs/response/TestJaxrsConsumerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/test/java/io/servicecomb/swagger/invocation/jaxrs/response/TestJaxrsConsumerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/test/java/io/servicecomb/swagger/invocation/jaxrs/response/TestJaxrsProducerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/test/java/io/servicecomb/swagger/invocation/jaxrs/response/TestJaxrsProducerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/test/java/org/apache/servicecomb/swagger/invocation/jaxrs/response/TestJaxrsConsumerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/test/java/org/apache/servicecomb/swagger/invocation/jaxrs/response/TestJaxrsConsumerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/test/java/org/apache/servicecomb/swagger/invocation/jaxrs/response/TestJaxrsProducerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-jaxrs/src/test/java/org/apache/servicecomb/swagger/invocation/jaxrs/response/TestJaxrsProducerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/java/io/servicecomb/swagger/invocation/converter/PartToMultipartFile.java
 delete mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/java/io/servicecomb/swagger/invocation/converter/SpringMultipartConverter.java
 delete mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/java/io/servicecomb/swagger/invocation/springmvc/response/SpringmvcConsumerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/java/io/servicecomb/swagger/invocation/springmvc/response/SpringmvcConsumerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/java/io/servicecomb/swagger/invocation/springmvc/response/SpringmvcProducerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/java/io/servicecomb/swagger/invocation/springmvc/response/SpringmvcProducerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/java/org/apache/servicecomb/swagger/invocation/converter/PartToMultipartFile.java
 create mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/java/org/apache/servicecomb/swagger/invocation/converter/SpringMultipartConverter.java
 create mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/java/org/apache/servicecomb/swagger/invocation/springmvc/response/SpringmvcConsumerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/java/org/apache/servicecomb/swagger/invocation/springmvc/response/SpringmvcConsumerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/java/org/apache/servicecomb/swagger/invocation/springmvc/response/SpringmvcProducerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/java/org/apache/servicecomb/swagger/invocation/springmvc/response/SpringmvcProducerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/resources/META-INF/services/io.servicecomb.swagger.invocation.response.consumer.ConsumerResponseMapperFactory
 delete mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/resources/META-INF/services/io.servicecomb.swagger.invocation.response.producer.ProducerResponseMapperFactory
 create mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.invocation.response.consumer.ConsumerResponseMapperFactory
 create mode 100644 swagger/swagger-invocation/invocation-springmvc/src/main/resources/META-INF/services/org.apache.servicecomb.swagger.invocation.response.producer.ProducerResponseMapperFactory
 delete mode 100644 swagger/swagger-invocation/invocation-springmvc/src/test/java/io/servicecomb/swagger/invocation/converter/TestPartToMultipartFile.java
 delete mode 100644 swagger/swagger-invocation/invocation-springmvc/src/test/java/io/servicecomb/swagger/invocation/springmvc/response/TestSpringmvcConsumerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-springmvc/src/test/java/io/servicecomb/swagger/invocation/springmvc/response/TestSpringmvcConsumerResponseMapperFactory.java
 delete mode 100644 swagger/swagger-invocation/invocation-springmvc/src/test/java/io/servicecomb/swagger/invocation/springmvc/response/TestSpringmvcProducerResponseMapper.java
 delete mode 100644 swagger/swagger-invocation/invocation-springmvc/src/test/java/io/servicecomb/swagger/invocation/springmvc/response/TestSpringmvcProducerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-springmvc/src/test/java/org/apache/servicecomb/swagger/invocation/converter/TestPartToMultipartFile.java
 create mode 100644 swagger/swagger-invocation/invocation-springmvc/src/test/java/org/apache/servicecomb/swagger/invocation/springmvc/response/TestSpringmvcConsumerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-springmvc/src/test/java/org/apache/servicecomb/swagger/invocation/springmvc/response/TestSpringmvcConsumerResponseMapperFactory.java
 create mode 100644 swagger/swagger-invocation/invocation-springmvc/src/test/java/org/apache/servicecomb/swagger/invocation/springmvc/response/TestSpringmvcProducerResponseMapper.java
 create mode 100644 swagger/swagger-invocation/invocation-springmvc/src/test/java/org/apache/servicecomb/swagger/invocation/springmvc/response/TestSpringmvcProducerResponseMapperFactory.java
 delete mode 100644 tracing/tracing-common/src/main/java/io/servicecomb/tracing/Span.java
 create mode 100644 tracing/tracing-common/src/main/java/org/apache/servicecomb/tracing/Span.java
 delete mode 100644 tracing/tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/EnableZipkinTracing.java
 delete mode 100644 tracing/tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ZipkinSpanAspect.java
 delete mode 100644 tracing/tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ZipkinSpanAspectConfig.java
 delete mode 100644 tracing/tracing-zipkin/src/main/java/io/servicecomb/tracing/zipkin/ZipkinTracingAdviser.java
 create mode 100644 tracing/tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/EnableZipkinTracing.java
 create mode 100644 tracing/tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinSpanAspect.java
 create mode 100644 tracing/tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinSpanAspectConfig.java
 create mode 100644 tracing/tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinTracingAdviser.java
 delete mode 100644 tracing/tracing-zipkin/src/test/java/io/servicecomb/tracing/zipkin/ZipkinSpanAspectTest.java
 delete mode 100644 tracing/tracing-zipkin/src/test/java/io/servicecomb/tracing/zipkin/ZipkinTracingAdviserTest.java
 delete mode 100644 tracing/tracing-zipkin/src/test/java/io/servicecomb/tracing/zipkin/app/ZipkinSpanTestApplication.java
 create mode 100644 tracing/tracing-zipkin/src/test/java/org/apache/servicecomb/tracing/zipkin/ZipkinSpanAspectTest.java
 create mode 100644 tracing/tracing-zipkin/src/test/java/org/apache/servicecomb/tracing/zipkin/ZipkinTracingAdviserTest.java
 create mode 100644 tracing/tracing-zipkin/src/test/java/org/apache/servicecomb/tracing/zipkin/app/ZipkinSpanTestApplication.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/HighwayClient.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/HighwayClientConnection.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/HighwayClientConnectionPool.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/HighwayClientPackage.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/HighwayClientPoolFactory.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/HighwayCodec.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/HighwayConfig.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/HighwayOutputStream.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/HighwayServer.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/HighwayServerConnection.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/HighwayServerInvoke.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/HighwayServerVerticle.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/HighwayTransport.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/MsgType.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/message/LoginRequest.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/message/LoginResponse.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/message/RequestHeader.java
 delete mode 100644 transports/transport-highway/src/main/java/io/servicecomb/transport/highway/message/ResponseHeader.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClient.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClientConnection.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClientConnectionPool.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClientPackage.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClientPoolFactory.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayCodec.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayConfig.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayOutputStream.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayServer.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayServerConnection.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayServerInvoke.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayServerVerticle.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayTransport.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/MsgType.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/message/LoginRequest.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/message/LoginResponse.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/message/RequestHeader.java
 create mode 100644 transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/message/ResponseHeader.java
 delete mode 100644 transports/transport-highway/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 transports/transport-highway/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 transports/transport-highway/src/test/java/io/servicecomb/transport/common/MockUtil.java
 delete mode 100644 transports/transport-highway/src/test/java/io/servicecomb/transport/highway/TestHighwayClient.java
 delete mode 100644 transports/transport-highway/src/test/java/io/servicecomb/transport/highway/TestHighwayCodec.java
 delete mode 100644 transports/transport-highway/src/test/java/io/servicecomb/transport/highway/TestHighwayConfig.java
 delete mode 100644 transports/transport-highway/src/test/java/io/servicecomb/transport/highway/TestHighwayServerConnection.java
 delete mode 100644 transports/transport-highway/src/test/java/io/servicecomb/transport/highway/TestHighwayServerInvoke.java
 delete mode 100644 transports/transport-highway/src/test/java/io/servicecomb/transport/highway/TestHighwayTransport.java
 delete mode 100644 transports/transport-highway/src/test/java/io/servicecomb/transport/highway/TestHighwayVerticle.java
 delete mode 100644 transports/transport-highway/src/test/java/io/servicecomb/transport/highway/message/TestLoginRequest.java
 delete mode 100644 transports/transport-highway/src/test/java/io/servicecomb/transport/highway/message/TestLoginResponse.java
 delete mode 100644 transports/transport-highway/src/test/java/io/servicecomb/transport/highway/message/TestRequestHeader.java
 delete mode 100644 transports/transport-highway/src/test/java/io/servicecomb/transport/highway/message/TestResponseHeader.java
 create mode 100644 transports/transport-highway/src/test/java/org/apache/servicecomb/transport/common/MockUtil.java
 create mode 100644 transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayClient.java
 create mode 100644 transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayCodec.java
 create mode 100644 transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayConfig.java
 create mode 100644 transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayServerConnection.java
 create mode 100644 transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayServerInvoke.java
 create mode 100644 transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayTransport.java
 create mode 100644 transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayVerticle.java
 create mode 100644 transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/message/TestLoginRequest.java
 create mode 100644 transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/message/TestLoginResponse.java
 create mode 100644 transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/message/TestRequestHeader.java
 create mode 100644 transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/message/TestResponseHeader.java
 delete mode 100644 transports/transport-rest/transport-rest-client/src/main/java/io/servicecomb/transport/rest/client/RestTransportClient.java
 delete mode 100644 transports/transport-rest/transport-rest-client/src/main/java/io/servicecomb/transport/rest/client/RestTransportClientManager.java
 delete mode 100644 transports/transport-rest/transport-rest-client/src/main/java/io/servicecomb/transport/rest/client/TransportClientConfig.java
 delete mode 100644 transports/transport-rest/transport-rest-client/src/main/java/io/servicecomb/transport/rest/client/http/DefaultHttpClientFilter.java
 delete mode 100644 transports/transport-rest/transport-rest-client/src/main/java/io/servicecomb/transport/rest/client/http/VertxHttpMethod.java
 create mode 100644 transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestTransportClient.java
 create mode 100644 transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestTransportClientManager.java
 create mode 100644 transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/TransportClientConfig.java
 create mode 100644 transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/http/DefaultHttpClientFilter.java
 create mode 100644 transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/http/VertxHttpMethod.java
 delete mode 100644 transports/transport-rest/transport-rest-client/src/main/resources/META-INF/services/io.servicecomb.common.rest.filter.HttpClientFilter
 create mode 100644 transports/transport-rest/transport-rest-client/src/main/resources/META-INF/services/org.apache.servicecomb.common.rest.filter.HttpClientFilter
 delete mode 100644 transports/transport-rest/transport-rest-client/src/test/java/io/servicecomb/transport/rest/client/TestRestTransportClient.java
 delete mode 100644 transports/transport-rest/transport-rest-client/src/test/java/io/servicecomb/transport/rest/client/TestTransportClientConfig.java
 delete mode 100644 transports/transport-rest/transport-rest-client/src/test/java/io/servicecomb/transport/rest/client/http/TestDefaultHttpClientFilter.java
 delete mode 100644 transports/transport-rest/transport-rest-client/src/test/java/io/servicecomb/transport/rest/client/http/TestVertxHttpMethod.java
 create mode 100644 transports/transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/TestRestTransportClient.java
 create mode 100644 transports/transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/TestTransportClientConfig.java
 create mode 100644 transports/transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/http/TestDefaultHttpClientFilter.java
 create mode 100644 transports/transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/http/TestVertxHttpMethod.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/io/servicecomb/transport/rest/servlet/CseXmlWebApplicationContext.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/io/servicecomb/transport/rest/servlet/RestAsyncListener.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/io/servicecomb/transport/rest/servlet/RestServlet.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/io/servicecomb/transport/rest/servlet/RestServletContextListener.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/io/servicecomb/transport/rest/servlet/RestServletInjector.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/io/servicecomb/transport/rest/servlet/RestServletProducerInvocation.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/io/servicecomb/transport/rest/servlet/ServletConfig.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/io/servicecomb/transport/rest/servlet/ServletRestDispatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/io/servicecomb/transport/rest/servlet/ServletRestTransport.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/io/servicecomb/transport/rest/servlet/ServletUtils.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/CseXmlWebApplicationContext.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/RestAsyncListener.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/RestServlet.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/RestServletContextListener.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/RestServletInjector.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/RestServletProducerInvocation.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletConfig.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletRestDispatcher.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletRestTransport.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletUtils.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/io/servicecomb/transport/rest/servlet/TestCseXmlWebApplicationContext.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/io/servicecomb/transport/rest/servlet/TestRestAsyncListener.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/io/servicecomb/transport/rest/servlet/TestRestServlet.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/io/servicecomb/transport/rest/servlet/TestRestServletContextListener.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/io/servicecomb/transport/rest/servlet/TestRestServletInjector.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/io/servicecomb/transport/rest/servlet/TestRestServletProducerInvocation.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/io/servicecomb/transport/rest/servlet/TestServletConfig.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/io/servicecomb/transport/rest/servlet/TestServletRestDispatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/io/servicecomb/transport/rest/servlet/TestServletRestTransport.java
 delete mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/io/servicecomb/transport/rest/servlet/TestServletUtils.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/org/apache/servicecomb/transport/rest/servlet/TestCseXmlWebApplicationContext.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/org/apache/servicecomb/transport/rest/servlet/TestRestAsyncListener.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/org/apache/servicecomb/transport/rest/servlet/TestRestServlet.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/org/apache/servicecomb/transport/rest/servlet/TestRestServletContextListener.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/org/apache/servicecomb/transport/rest/servlet/TestRestServletInjector.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/org/apache/servicecomb/transport/rest/servlet/TestRestServletProducerInvocation.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/org/apache/servicecomb/transport/rest/servlet/TestServletConfig.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/org/apache/servicecomb/transport/rest/servlet/TestServletRestDispatcher.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/org/apache/servicecomb/transport/rest/servlet/TestServletRestTransport.java
 create mode 100644 transports/transport-rest/transport-rest-servlet/src/test/java/org/apache/servicecomb/transport/rest/servlet/TestServletUtils.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/AbstractVertxHttpDispatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/RestBodyHandler.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/RestServerVerticle.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/TransportConfig.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/VertxHttpDispatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/VertxRestDispatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/VertxRestTransport.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/AccessLogConfiguration.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/AccessLogParam.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/AccessLogElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV1Element.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV2Element.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/CookieElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/DatetimeConfigurableElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/DurationMillisecondElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/DurationSecondElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/FirstLineOfRequestElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/LocalHostElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/LocalPortElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/MethodElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/PlainTextElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/QueryOnlyElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/RemoteHostElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/RequestHeaderElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/ResponseHeaderElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/StatusElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/UriPathIncludeQueryElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/UriPathOnlyElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/VersionOrProtocolElement.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/impl/AccessLogHandler.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/AccessLogElementExtraction.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/AccessLogPatternParser.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/impl/DefaultAccessLogPatternParser.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/AccessLogElementMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV1Matcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV2Matcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/ConfigurableAccessLogElementMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/CookieElementMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DatetimeConfigurableMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DatetimeMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DurationMillisecondMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DurationSecondMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/FirstLineOfRequestMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/ImmutableAccessLogElementMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/LocalHostMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/LocalPortMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/MethodMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/MultiPatternImmutableElementMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/QueryOnlyMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/RemoteHostMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/RequestHeaderElementMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/ResponseHeaderElementMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/SinglePatternImmutableElementMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/StatusMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/UriPathIncludeQueryMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/UriPathOnlyMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/VersionOrProtocolMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/AbstractVertxHttpDispatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestBodyHandler.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/TransportConfig.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxHttpDispatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxRestDispatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/VertxRestTransport.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/AccessLogConfiguration.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/AccessLogParam.java
 rename transports/transport-rest/transport-rest-vertx/src/main/java/{io => org/apache}/servicecomb/transport/rest/vertx/accesslog/README.md (100%)
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/AccessLogElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV1Element.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV2Element.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/CookieElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/DatetimeConfigurableElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/DurationMillisecondElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/DurationSecondElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/FirstLineOfRequestElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/LocalHostElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/LocalPortElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/MethodElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/PlainTextElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/QueryOnlyElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/RemoteHostElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/RequestHeaderElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/ResponseHeaderElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/StatusElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/UriPathIncludeQueryElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/UriPathOnlyElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/VersionOrProtocolElement.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/impl/AccessLogHandler.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/AccessLogElementExtraction.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/AccessLogPatternParser.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/impl/DefaultAccessLogPatternParser.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/AccessLogElementMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV1Matcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV2Matcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/ConfigurableAccessLogElementMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/CookieElementMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DatetimeConfigurableMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DatetimeMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DurationMillisecondMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DurationSecondMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/FirstLineOfRequestMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/ImmutableAccessLogElementMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/LocalHostMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/LocalPortMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/MethodMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/MultiPatternImmutableElementMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/QueryOnlyMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/RemoteHostMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/RequestHeaderElementMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/ResponseHeaderElementMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/SinglePatternImmutableElementMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/StatusMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/UriPathIncludeQueryMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/UriPathOnlyMatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/VersionOrProtocolMatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/main/resources/META-INF/services/io.servicecomb.transport.rest.vertx.VertxHttpDispatcher
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/main/resources/META-INF/services/org.apache.servicecomb.transport.rest.vertx.VertxHttpDispatcher
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/MockForRestServerVerticle.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/TestAbstractVertxHttpDispatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/TestRestServerVerticle.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/TestTransportConfig.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/TestVertxRestDispatcher.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/TestVertxRestTransport.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/AccessLogConfigurationTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV1ElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV2ElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/CookieElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/DatetimeConfigurableElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/DurationMillisecondElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/DurationSecondElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/FirstLineOfRequestElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/LocalHostElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/LocalPortElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/MethodElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/PlainTextElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/QueryOnlyElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/RemoteHostElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/RequestHeaderElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/ResponseHeaderElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/StatusElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/UriPathIncludeQueryElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/UriPathOnlyElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/element/impl/VersionOrProtocolElementTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/impl/AccessLogHandlerTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/impl/DefaultAccessLogPatternParserTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV1MatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV2MatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/CookieElementMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DatetimeConfigurableMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DatetimeMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DurationMillisecondMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DurationSecondMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/FirstLineOfRequestMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/ImmutableAccessLogElementMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/LocalHostMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/LocalPortMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/MethodMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/QueryOnlyMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/RemoteHostMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/RequestHeaderElementMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/ResponseHeaderElementMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/StatusMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/UriPathIncludeQueryMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/UriPathOnlyMatcherTest.java
 delete mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/io/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/VersionOrProtocolMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/MockForRestServerVerticle.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestAbstractVertxHttpDispatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestRestServerVerticle.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestTransportConfig.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestVertxRestDispatcher.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestVertxRestTransport.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/AccessLogConfigurationTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV1ElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV2ElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/CookieElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/DatetimeConfigurableElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/DurationMillisecondElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/DurationSecondElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/FirstLineOfRequestElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/LocalHostElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/LocalPortElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/MethodElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/PlainTextElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/QueryOnlyElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/RemoteHostElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/RequestHeaderElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/ResponseHeaderElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/StatusElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/UriPathIncludeQueryElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/UriPathOnlyElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/VersionOrProtocolElementTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/impl/AccessLogHandlerTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/impl/DefaultAccessLogPatternParserTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV1MatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV2MatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/CookieElementMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DatetimeConfigurableMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DatetimeMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DurationMillisecondMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/DurationSecondMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/FirstLineOfRequestMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/ImmutableAccessLogElementMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/LocalHostMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/LocalPortMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/MethodMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/QueryOnlyMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/RemoteHostMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/RequestHeaderElementMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/ResponseHeaderElementMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/StatusMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/UriPathIncludeQueryMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/UriPathOnlyMatcherTest.java
 create mode 100644 transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/VersionOrProtocolMatcherTest.java

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

[incubator-servicecomb-java-chassis] 02/06: SCB-230 change package name from io.servicecomb to org.apache.servicecomb

Posted by ni...@apache.org.
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 4265e0cc9480ede4020c4ecfe2321ec9d9d4bbf8
Author: wujimin <wu...@huawei.com>
AuthorDate: Sat Jan 13 10:50:05 2018 +0800

    SCB-230 change package name from io.servicecomb to org.apache.servicecomb
---
 common/common-javassist/pom.xml                    |  60 +-
 .../servicecomb/common/javassist/ClassConfig.java  | 104 ---
 .../servicecomb/common/javassist/FieldConfig.java  |  80 ---
 .../common/javassist/JavassistUtils.java           | 352 ----------
 .../servicecomb/common/javassist/MethodConfig.java | 121 ----
 .../servicecomb/common/javassist/MultiWrapper.java |  24 -
 .../common/javassist/ParameterConfig.java          |  41 --
 .../common/javassist/SingleWrapper.java            |  24 -
 .../servicecomb/common/javassist/ClassConfig.java  | 104 +++
 .../servicecomb/common/javassist/FieldConfig.java  |  80 +++
 .../common/javassist/JavassistUtils.java           | 352 ++++++++++
 .../servicecomb/common/javassist/MethodConfig.java | 121 ++++
 .../servicecomb/common/javassist/MultiWrapper.java |  24 +
 .../common/javassist/ParameterConfig.java          |  41 ++
 .../common/javassist/SingleWrapper.java            |  24 +
 .../common/javassist/TestJavassistUtils.java       | 206 ------
 .../common/javassist/TestJavassistUtils.java       | 206 ++++++
 common/common-protobuf/pom.xml                     |  96 +--
 .../runtime/ProtobufCompatibleUtils.java           |   3 +-
 .../codec/protobuf/codec/AbstractCodec.java        |  40 --
 .../codec/protobuf/codec/AbstractFieldCodec.java   |  82 ---
 .../codec/protobuf/codec/ParamFieldCodec.java      |  39 --
 .../codec/protobuf/codec/ResultFieldCodec.java     |  39 --
 .../codec/protobuf/codec/StandardParamCodec.java   |  43 --
 .../codec/protobuf/codec/StandardResultCodec.java  |  41 --
 .../protobuf/definition/OperationProtobuf.java     |  66 --
 .../codec/protobuf/definition/ProtobufManager.java |  78 ---
 .../protobuf/jackson/AbstractDeserializer.java     |  67 --
 .../codec/protobuf/jackson/CseObjectReader.java    |  35 -
 .../codec/protobuf/jackson/CseObjectWriter.java    |  57 --
 .../codec/protobuf/jackson/ParamDeserializer.java  |  40 --
 .../codec/protobuf/jackson/ParamSerializer.java    |  45 --
 .../codec/protobuf/jackson/ResultDeserializer.java |  39 --
 .../codec/protobuf/jackson/ResultSerializer.java   |  41 --
 .../protobuf/jackson/StandardObjectReader.java     |  39 --
 .../protobuf/jackson/StandardObjectWriter.java     |  40 --
 .../codec/protobuf/utils/ProtobufSchemaUtils.java  | 160 -----
 .../codec/protobuf/utils/WrapClassConfig.java      |  32 -
 .../codec/protobuf/utils/WrapSchema.java           |  63 --
 .../servicecomb/codec/protobuf/utils/WrapType.java |  25 -
 .../protobuf/utils/schema/AbstractWrapSchema.java  |  25 -
 .../protobuf/utils/schema/ArgsNotWrapSchema.java   |  53 --
 .../protobuf/utils/schema/ArgsWrapSchema.java      |  53 --
 .../protobuf/utils/schema/NormalWrapSchema.java    |  57 --
 .../codec/protobuf/utils/schema/NotWrapSchema.java |  52 --
 .../protobuf/utils/schema/WrapSchemaFactory.java   |  42 --
 .../codec/protobuf/codec/AbstractCodec.java        |  40 ++
 .../codec/protobuf/codec/AbstractFieldCodec.java   |  82 +++
 .../codec/protobuf/codec/ParamFieldCodec.java      |  39 ++
 .../codec/protobuf/codec/ResultFieldCodec.java     |  39 ++
 .../codec/protobuf/codec/StandardParamCodec.java   |  43 ++
 .../codec/protobuf/codec/StandardResultCodec.java  |  41 ++
 .../protobuf/definition/OperationProtobuf.java     |  66 ++
 .../codec/protobuf/definition/ProtobufManager.java |  78 +++
 .../protobuf/jackson/AbstractDeserializer.java     |  67 ++
 .../codec/protobuf/jackson/CseObjectReader.java    |  35 +
 .../codec/protobuf/jackson/CseObjectWriter.java    |  57 ++
 .../codec/protobuf/jackson/ParamDeserializer.java  |  40 ++
 .../codec/protobuf/jackson/ParamSerializer.java    |  45 ++
 .../codec/protobuf/jackson/ResultDeserializer.java |  39 ++
 .../codec/protobuf/jackson/ResultSerializer.java   |  41 ++
 .../protobuf/jackson/StandardObjectReader.java     |  39 ++
 .../protobuf/jackson/StandardObjectWriter.java     |  40 ++
 .../codec/protobuf/utils/ProtobufSchemaUtils.java  | 160 +++++
 .../codec/protobuf/utils/WrapClassConfig.java      |  32 +
 .../codec/protobuf/utils/WrapSchema.java           |  63 ++
 .../servicecomb/codec/protobuf/utils/WrapType.java |  25 +
 .../protobuf/utils/schema/AbstractWrapSchema.java  |  26 +
 .../protobuf/utils/schema/ArgsNotWrapSchema.java   |  53 ++
 .../protobuf/utils/schema/ArgsWrapSchema.java      |  54 ++
 .../protobuf/utils/schema/NormalWrapSchema.java    |  58 ++
 .../codec/protobuf/utils/schema/NotWrapSchema.java |  52 ++
 .../protobuf/utils/schema/WrapSchemaFactory.java   |  43 ++
 .../codec/protobuf/codec/TestAbstractCodec.java    |  57 --
 .../protobuf/codec/TestAbstractFieldCodec.java     | 111 ---
 .../codec/protobuf/codec/TestParamFieldCodec.java  |  74 --
 .../codec/protobuf/codec/TestResultFieldCodec.java |  73 --
 .../protobuf/codec/TestStandardParamCodec.java     |  75 --
 .../protobuf/codec/TestStandardResultCodec.java    |  77 ---
 .../protobuf/definition/TestOperationProtobuf.java |  57 --
 .../protobuf/jackson/TestAbstractDeserializer.java | 105 ---
 .../protobuf/jackson/TestParamDeserializer.java    |  62 --
 .../protobuf/jackson/TestParamSerializer.java      | 130 ----
 .../protobuf/jackson/TestResultSerializer.java     | 130 ----
 .../protobuf/jackson/TestStandardObjectWriter.java |  77 ---
 .../protobuf/utils/TestProtobufSchemaUtils.java    | 120 ----
 .../utils/schema/TestArgsNotWrapSchema.java        |  95 ---
 .../protobuf/utils/schema/TestArgsWrapSchema.java  |  97 ---
 .../codec/protobuf/codec/TestAbstractCodec.java    |  57 ++
 .../protobuf/codec/TestAbstractFieldCodec.java     | 110 +++
 .../codec/protobuf/codec/TestParamFieldCodec.java  |  74 ++
 .../codec/protobuf/codec/TestResultFieldCodec.java |  73 ++
 .../protobuf/codec/TestStandardParamCodec.java     |  75 ++
 .../protobuf/codec/TestStandardResultCodec.java    |  77 +++
 .../protobuf/definition/TestOperationProtobuf.java |  57 ++
 .../protobuf/jackson/TestAbstractDeserializer.java | 104 +++
 .../protobuf/jackson/TestParamDeserializer.java    |  61 ++
 .../protobuf/jackson/TestParamSerializer.java      | 130 ++++
 .../protobuf/jackson/TestResultSerializer.java     | 130 ++++
 .../protobuf/jackson/TestStandardObjectWriter.java |  77 +++
 .../protobuf/utils/TestProtobufSchemaUtils.java    | 120 ++++
 .../utils/schema/TestArgsNotWrapSchema.java        |  95 +++
 .../protobuf/utils/schema/TestArgsWrapSchema.java  |  97 +++
 common/common-rest/pom.xml                         |  70 +-
 .../common/rest/AbstractRestInvocation.java        | 296 --------
 .../java/io/servicecomb/common/rest/RestConst.java |  48 --
 .../common/rest/RestEngineSchemaListener.java      |  92 ---
 .../common/rest/RestProducerInvocation.java        |  78 ---
 .../common/rest/codec/RestClientRequest.java       |  42 --
 .../servicecomb/common/rest/codec/RestCodec.java   |  74 --
 .../common/rest/codec/RestObjectMapper.java        |  44 --
 .../rest/codec/param/AbstractParamProcessor.java   |  35 -
 .../rest/codec/param/BodyProcessorCreator.java     | 138 ----
 .../rest/codec/param/CookieProcessorCreator.java   |  77 ---
 .../rest/codec/param/FormProcessorCreator.java     | 107 ---
 .../rest/codec/param/HeaderProcessorCreator.java   |  88 ---
 .../rest/codec/param/ParamValueProcessor.java      |  39 --
 .../codec/param/ParamValueProcessorCreator.java    |  26 -
 .../param/ParamValueProcessorCreatorManager.java   |  39 --
 .../rest/codec/param/PathProcessorCreator.java     |  76 --
 .../rest/codec/param/QueryProcessorCreator.java    |  70 --
 .../rest/codec/param/RestClientRequestImpl.java    | 285 --------
 .../codec/produce/AbstractProduceProcessor.java    |  24 -
 .../rest/codec/produce/ProduceJsonProcessor.java   |  45 --
 .../rest/codec/produce/ProduceProcessor.java       |  72 --
 .../codec/produce/ProduceProcessorManager.java     |  40 --
 .../codec/produce/ProduceTextPlainProcessor.java   |  62 --
 .../rest/definition/RestOperationComparator.java   |  59 --
 .../common/rest/definition/RestOperationMeta.java  | 238 -------
 .../common/rest/definition/RestParam.java          |  85 ---
 .../definition/path/AbstractUrlParamWriter.java    |  32 -
 .../common/rest/definition/path/PathRegExp.java    | 231 -------
 .../rest/definition/path/PathVarParamWriter.java   |  34 -
 .../rest/definition/path/QueryVarParamWriter.java  | 105 ---
 .../rest/definition/path/StaticUrlParamWriter.java |  32 -
 .../rest/definition/path/URLPathBuilder.java       | 120 ----
 .../rest/definition/path/UrlParamWriter.java       |  22 -
 .../common/rest/filter/HttpClientFilter.java       |  33 -
 .../common/rest/filter/HttpServerFilter.java       |  39 --
 .../common/rest/filter/tracing/TracingFilter.java  |  76 --
 .../common/rest/locator/MicroservicePaths.java     | 111 ---
 .../common/rest/locator/OperationGroup.java        |  32 -
 .../common/rest/locator/OperationLocator.java      | 119 ----
 .../common/rest/locator/ServicePathManager.java    | 157 -----
 .../common/rest/AbstractRestInvocation.java        | 296 ++++++++
 .../apache/servicecomb/common/rest/RestConst.java  |  48 ++
 .../common/rest/RestEngineSchemaListener.java      |  91 +++
 .../common/rest/RestProducerInvocation.java        |  78 +++
 .../common/rest/codec/RestClientRequest.java       |  42 ++
 .../servicecomb/common/rest/codec/RestCodec.java   |  73 ++
 .../common/rest/codec/RestObjectMapper.java        |  44 ++
 .../rest/codec/param/AbstractParamProcessor.java   |  35 +
 .../rest/codec/param/BodyProcessorCreator.java     | 138 ++++
 .../rest/codec/param/CookieProcessorCreator.java   |  78 +++
 .../rest/codec/param/FormProcessorCreator.java     | 108 +++
 .../rest/codec/param/HeaderProcessorCreator.java   |  88 +++
 .../rest/codec/param/ParamValueProcessor.java      |  39 ++
 .../codec/param/ParamValueProcessorCreator.java    |  26 +
 .../param/ParamValueProcessorCreatorManager.java   |  39 ++
 .../rest/codec/param/PathProcessorCreator.java     |  77 +++
 .../rest/codec/param/QueryProcessorCreator.java    |  71 ++
 .../rest/codec/param/RestClientRequestImpl.java    | 285 ++++++++
 .../codec/produce/AbstractProduceProcessor.java    |  24 +
 .../rest/codec/produce/ProduceJsonProcessor.java   |  45 ++
 .../rest/codec/produce/ProduceProcessor.java       |  73 ++
 .../codec/produce/ProduceProcessorManager.java     |  40 ++
 .../codec/produce/ProduceTextPlainProcessor.java   |  62 ++
 .../rest/definition/RestOperationComparator.java   |  59 ++
 .../common/rest/definition/RestOperationMeta.java  | 238 +++++++
 .../common/rest/definition/RestParam.java          |  86 +++
 .../definition/path/AbstractUrlParamWriter.java    |  32 +
 .../common/rest/definition/path/PathRegExp.java    | 231 +++++++
 .../rest/definition/path/PathVarParamWriter.java   |  34 +
 .../rest/definition/path/QueryVarParamWriter.java  | 105 +++
 .../rest/definition/path/StaticUrlParamWriter.java |  32 +
 .../rest/definition/path/URLPathBuilder.java       | 120 ++++
 .../rest/definition/path/UrlParamWriter.java       |  22 +
 .../common/rest/filter/HttpClientFilter.java       |  33 +
 .../common/rest/filter/HttpServerFilter.java       |  39 ++
 .../common/rest/filter/tracing/TracingFilter.java  |  75 ++
 .../common/rest/locator/MicroservicePaths.java     | 110 +++
 .../common/rest/locator/OperationGroup.java        |  32 +
 .../common/rest/locator/OperationLocator.java      | 118 ++++
 .../common/rest/locator/ServicePathManager.java    | 156 +++++
 ...servicecomb.common.rest.filter.HttpServerFilter |  18 -
 ...servicecomb.common.rest.filter.HttpServerFilter |  18 +
 .../common/rest/TestAbstractRestInvocation.java    | 761 ---------------------
 .../io/servicecomb/common/rest/TestDefPath.java    |  39 --
 .../common/rest/TestRestEngineSchemaListener.java  |  72 --
 .../common/rest/TestRestProducerInvocation.java    | 212 ------
 .../common/rest/codec/TestRestCodec.java           | 170 -----
 .../common/rest/codec/TestRestObjectMapper.java    |  36 -
 .../common/rest/codec/param/TestBodyProcessor.java | 235 -------
 .../rest/codec/param/TestBodyProcessorCreator.java |  64 --
 .../rest/codec/param/TestCookieProcessor.java      | 148 ----
 .../codec/param/TestCookieProcessorCreator.java    |  38 -
 .../common/rest/codec/param/TestFormProcessor.java | 196 ------
 .../rest/codec/param/TestFormProcessorCreator.java |  38 -
 .../rest/codec/param/TestHeaderProcessor.java      | 190 -----
 .../codec/param/TestHeaderProcessorCreator.java    |  38 -
 .../common/rest/codec/param/TestPathProcessor.java |  94 ---
 .../rest/codec/param/TestPathProcessorCreator.java |  39 --
 .../rest/codec/param/TestQueryProcessor.java       |  73 --
 .../codec/param/TestQueryProcessorCreator.java     |  39 --
 .../codec/param/TestRestClientRequestImpl.java     | 116 ----
 .../codec/produce/TestProduceJsonProcessor.java    |  83 ---
 .../codec/produce/TestProduceProcessorManager.java |  28 -
 .../produce/TestProduceTextPlainProcessor.java     |  83 ---
 .../common/rest/definition/TestPath.java           | 150 ----
 .../definition/TestRestOperationComparator.java    |  76 --
 .../rest/definition/TestRestOperationMeta.java     | 262 -------
 .../common/rest/definition/UnitTestRestUtils.java  |  38 -
 .../rest/filter/tracing/TracingFilterTest.java     |  80 ---
 .../common/rest/locator/TestMicroservicePaths.java | 140 ----
 .../common/rest/locator/TestOperationLocator.java  | 100 ---
 .../rest/locator/TestServicePathManager.java       | 113 ---
 .../common/rest/TestAbstractRestInvocation.java    | 761 +++++++++++++++++++++
 .../servicecomb/common/rest/TestDefPath.java       |  38 +
 .../common/rest/TestRestEngineSchemaListener.java  |  72 ++
 .../common/rest/TestRestProducerInvocation.java    | 212 ++++++
 .../common/rest/codec/TestRestCodec.java           | 170 +++++
 .../common/rest/codec/TestRestObjectMapper.java    |  37 +
 .../common/rest/codec/param/TestBodyProcessor.java | 235 +++++++
 .../rest/codec/param/TestBodyProcessorCreator.java |  64 ++
 .../rest/codec/param/TestCookieProcessor.java      | 148 ++++
 .../codec/param/TestCookieProcessorCreator.java    |  38 +
 .../common/rest/codec/param/TestFormProcessor.java | 196 ++++++
 .../rest/codec/param/TestFormProcessorCreator.java |  38 +
 .../rest/codec/param/TestHeaderProcessor.java      | 190 +++++
 .../codec/param/TestHeaderProcessorCreator.java    |  38 +
 .../common/rest/codec/param/TestPathProcessor.java |  94 +++
 .../rest/codec/param/TestPathProcessorCreator.java |  39 ++
 .../rest/codec/param/TestQueryProcessor.java       |  73 ++
 .../codec/param/TestQueryProcessorCreator.java     |  39 ++
 .../codec/param/TestRestClientRequestImpl.java     | 116 ++++
 .../codec/produce/TestProduceJsonProcessor.java    |  83 +++
 .../codec/produce/TestProduceProcessorManager.java |  28 +
 .../produce/TestProduceTextPlainProcessor.java     |  83 +++
 .../common/rest/definition/TestPath.java           | 150 ++++
 .../definition/TestRestOperationComparator.java    |  75 ++
 .../rest/definition/TestRestOperationMeta.java     | 262 +++++++
 .../common/rest/definition/UnitTestRestUtils.java  |  39 ++
 .../rest/filter/tracing/TracingFilterTest.java     |  79 +++
 .../common/rest/locator/TestMicroservicePaths.java | 139 ++++
 .../common/rest/locator/TestOperationLocator.java  |  99 +++
 .../rest/locator/TestServicePathManager.java       | 113 +++
 common/pom.xml                                     |   9 +-
 .../java/io/servicecomb/core/BootListener.java     |  47 --
 core/src/main/java/io/servicecomb/core/Const.java  |  47 --
 .../java/io/servicecomb/core/ConsumerProvider.java |  28 -
 .../servicecomb/core/CseApplicationListener.java   | 181 -----
 .../main/java/io/servicecomb/core/CseContext.java  | 125 ----
 .../main/java/io/servicecomb/core/Endpoint.java    |  68 --
 .../src/main/java/io/servicecomb/core/Handler.java |  29 -
 .../main/java/io/servicecomb/core/Invocation.java  | 220 ------
 .../java/io/servicecomb/core/ProducerProvider.java |  24 -
 .../main/java/io/servicecomb/core/Transport.java   |  52 --
 .../config/ConfigurationSpringInitializer.java     |  29 -
 .../servicecomb/core/definition/CommonService.java |  56 --
 .../core/definition/MicroserviceMeta.java          | 159 -----
 .../core/definition/MicroserviceMetaManager.java   |  77 ---
 .../core/definition/MicroserviceVersionMeta.java   |  47 --
 .../definition/MicroserviceVersionMetaFactory.java |  40 --
 .../servicecomb/core/definition/OperationMeta.java | 146 ----
 .../PrivateMicroserviceVersionMetaFactory.java     |  26 -
 .../io/servicecomb/core/definition/SchemaMeta.java | 156 -----
 .../servicecomb/core/definition/SchemaUtils.java   |  49 --
 .../DefaultMicroserviceClassLoaderFactory.java     |  27 -
 .../classloader/MicroserviceClassLoader.java       |  66 --
 .../MicroserviceClassLoaderFactory.java            |  22 -
 .../PrivateMicroserviceClassLoaderFactory.java     |  30 -
 .../definition/loader/DynamicSchemaLoader.java     |  81 ---
 .../core/definition/loader/SchemaListener.java     |  25 -
 .../definition/loader/SchemaListenerManager.java   |  86 ---
 .../core/definition/loader/SchemaLoader.java       | 134 ----
 .../definition/schema/AbstractSchemaFactory.java   | 114 ---
 .../definition/schema/ConsumerSchemaContext.java   |  32 -
 .../definition/schema/ConsumerSchemaFactory.java   | 160 -----
 .../definition/schema/ProducerSchemaContext.java   |  30 -
 .../definition/schema/ProducerSchemaFactory.java   | 124 ----
 .../core/definition/schema/SchemaContext.java      |  68 --
 .../core/endpoint/AbstractEndpointsCache.java      | 120 ----
 .../servicecomb/core/endpoint/EndpointsCache.java  |  35 -
 .../servicecomb/core/exception/CseException.java   |  44 --
 .../servicecomb/core/exception/ExceptionUtils.java |  94 ---
 .../servicecomb/core/executor/ExecutorManager.java |  78 ---
 .../core/executor/FixedThreadExecutor.java         |  74 --
 .../core/executor/ReactiveExecutor.java            |  31 -
 .../core/filter/EndpointDiscoveryFilter.java       |  50 --
 .../core/handler/AbstractHandlerManager.java       | 117 ----
 .../core/handler/ConsumerHandlerManager.java       |  40 --
 .../core/handler/HandlerConfigUtils.java           |  50 --
 .../core/handler/ProducerHandlerManager.java       |  40 --
 .../core/handler/ShutdownHookHandler.java          |  98 ---
 .../io/servicecomb/core/handler/config/Config.java |  50 --
 .../core/handler/config/HandlerConfig.java         |  51 --
 .../core/handler/impl/AbstractHandler.java         |  30 -
 .../handler/impl/ProducerOperationHandler.java     |  42 --
 .../handler/impl/SimpleLoadBalanceHandler.java     |  88 ---
 .../core/handler/impl/TransportClientHandler.java  |  45 --
 .../core/invocation/InvocationFactory.java         |  75 --
 .../core/metrics/InvocationFinishedEvent.java      |  56 --
 .../metrics/InvocationStartProcessingEvent.java    |  48 --
 .../core/metrics/InvocationStartedEvent.java       |  47 --
 .../consumer/AbstractConsumerProvider.java         |  32 -
 .../provider/consumer/ConsumerProviderManager.java |  99 ---
 .../core/provider/consumer/InvokerUtils.java       | 115 ----
 .../consumer/ReactiveResponseExecutor.java         |  30 -
 .../core/provider/consumer/ReferenceConfig.java    |  66 --
 .../provider/consumer/ReferenceConfigUtils.java    |  54 --
 .../provider/consumer/SyncResponseExecutor.java    |  72 --
 .../producer/AbstractProducerProvider.java         |  23 -
 .../core/provider/producer/ProducerMeta.java       |  60 --
 .../provider/producer/ProducerProviderManager.java |  56 --
 .../core/tracing/BraveTraceIdGenerator.java        |  32 -
 .../servicecomb/core/tracing/TraceIdGenerator.java |  22 -
 .../core/transport/AbstractTransport.java          | 162 -----
 .../core/transport/TransportManager.java           | 118 ----
 .../io/servicecomb/core/unittest/UnitTestMeta.java | 137 ----
 .../org/apache/servicecomb/core/BootListener.java  |  47 ++
 .../java/org/apache/servicecomb/core/Const.java    |  47 ++
 .../apache/servicecomb/core/ConsumerProvider.java  |  28 +
 .../servicecomb/core/CseApplicationListener.java   | 180 +++++
 .../org/apache/servicecomb/core/CseContext.java    | 125 ++++
 .../java/org/apache/servicecomb/core/Endpoint.java |  68 ++
 .../java/org/apache/servicecomb/core/Handler.java  |  30 +
 .../org/apache/servicecomb/core/Invocation.java    | 220 ++++++
 .../apache/servicecomb/core/ProducerProvider.java  |  24 +
 .../org/apache/servicecomb/core/Transport.java     |  52 ++
 .../config/ConfigurationSpringInitializer.java     |  29 +
 .../servicecomb/core/definition/CommonService.java |  56 ++
 .../core/definition/MicroserviceMeta.java          | 159 +++++
 .../core/definition/MicroserviceMetaManager.java   |  76 ++
 .../core/definition/MicroserviceVersionMeta.java   |  47 ++
 .../definition/MicroserviceVersionMetaFactory.java |  40 ++
 .../servicecomb/core/definition/OperationMeta.java | 147 ++++
 .../PrivateMicroserviceVersionMetaFactory.java     |  26 +
 .../servicecomb/core/definition/SchemaMeta.java    | 156 +++++
 .../servicecomb/core/definition/SchemaUtils.java   |  50 ++
 .../DefaultMicroserviceClassLoaderFactory.java     |  27 +
 .../classloader/MicroserviceClassLoader.java       |  66 ++
 .../MicroserviceClassLoaderFactory.java            |  22 +
 .../PrivateMicroserviceClassLoaderFactory.java     |  31 +
 .../definition/loader/DynamicSchemaLoader.java     |  81 +++
 .../core/definition/loader/SchemaListener.java     |  25 +
 .../definition/loader/SchemaListenerManager.java   |  85 +++
 .../core/definition/loader/SchemaLoader.java       | 134 ++++
 .../definition/schema/AbstractSchemaFactory.java   | 115 ++++
 .../definition/schema/ConsumerSchemaContext.java   |  32 +
 .../definition/schema/ConsumerSchemaFactory.java   | 162 +++++
 .../definition/schema/ProducerSchemaContext.java   |  30 +
 .../definition/schema/ProducerSchemaFactory.java   | 124 ++++
 .../core/definition/schema/SchemaContext.java      |  68 ++
 .../core/endpoint/AbstractEndpointsCache.java      | 119 ++++
 .../servicecomb/core/endpoint/EndpointsCache.java  |  35 +
 .../servicecomb/core/exception/CseException.java   |  44 ++
 .../servicecomb/core/exception/ExceptionUtils.java |  93 +++
 .../servicecomb/core/executor/ExecutorManager.java |  78 +++
 .../core/executor/FixedThreadExecutor.java         |  73 ++
 .../core/executor/ReactiveExecutor.java            |  31 +
 .../core/filter/EndpointDiscoveryFilter.java       |  50 ++
 .../core/handler/AbstractHandlerManager.java       | 116 ++++
 .../core/handler/ConsumerHandlerManager.java       |  40 ++
 .../core/handler/HandlerConfigUtils.java           |  49 ++
 .../core/handler/ProducerHandlerManager.java       |  40 ++
 .../core/handler/ShutdownHookHandler.java          |  97 +++
 .../servicecomb/core/handler/config/Config.java    |  50 ++
 .../core/handler/config/HandlerConfig.java         |  51 ++
 .../core/handler/impl/AbstractHandler.java         |  30 +
 .../handler/impl/ProducerOperationHandler.java     |  42 ++
 .../handler/impl/SimpleLoadBalanceHandler.java     |  87 +++
 .../core/handler/impl/TransportClientHandler.java  |  44 ++
 .../core/invocation/InvocationFactory.java         |  75 ++
 .../core/metrics/InvocationFinishedEvent.java      |  56 ++
 .../metrics/InvocationStartProcessingEvent.java    |  48 ++
 .../core/metrics/InvocationStartedEvent.java       |  47 ++
 .../consumer/AbstractConsumerProvider.java         |  32 +
 .../provider/consumer/ConsumerProviderManager.java |  98 +++
 .../core/provider/consumer/InvokerUtils.java       | 114 +++
 .../consumer/ReactiveResponseExecutor.java         |  30 +
 .../core/provider/consumer/ReferenceConfig.java    |  66 ++
 .../provider/consumer/ReferenceConfigUtils.java    |  54 ++
 .../provider/consumer/SyncResponseExecutor.java    |  72 ++
 .../producer/AbstractProducerProvider.java         |  23 +
 .../core/provider/producer/ProducerMeta.java       |  60 ++
 .../provider/producer/ProducerProviderManager.java |  55 ++
 .../core/tracing/BraveTraceIdGenerator.java        |  32 +
 .../servicecomb/core/tracing/TraceIdGenerator.java |  22 +
 .../core/transport/AbstractTransport.java          | 163 +++++
 .../core/transport/TransportManager.java           | 121 ++++
 .../servicecomb/core/unittest/UnitTestMeta.java    | 137 ++++
 .../main/resources/META-INF/spring/cse.bean.xml    |  12 +-
 core/src/main/resources/config/cse.handler.xml     |   2 +-
 core/src/test/java/io/servicecomb/core/Config.java |  50 --
 .../test/java/io/servicecomb/core/TestConfig.java  | 145 ----
 .../java/io/servicecomb/core/TestConsumer.java     | 125 ----
 .../core/TestCseApplicationListener.java           | 214 ------
 .../java/io/servicecomb/core/TestDefinition.java   |  89 ---
 .../java/io/servicecomb/core/TestEndpoint.java     |  41 --
 .../java/io/servicecomb/core/TestException.java    |  59 --
 .../java/io/servicecomb/core/TestExecutors.java    |  61 --
 .../test/java/io/servicecomb/core/TestHandler.java |  33 -
 .../io/servicecomb/core/TestInvocationFactory.java |  71 --
 .../java/io/servicecomb/core/TestTransport.java    | 112 ---
 core/src/test/java/io/servicecomb/core/Utils.java  |  37 -
 .../consumer/TestReactiveResponseExecutor.java     |  39 --
 .../core/consumer/TestSyncResponseExecutor.java    |  43 --
 .../MicroServicePropertyExtendedStub.java          |  29 -
 .../core/definition/TestMicroserviceMeta.java      |  93 ---
 .../definition/TestMicroserviceMetaManager.java    |  33 -
 .../definition/TestMicroserviceVersionMeta.java    |  82 ---
 .../TestMicroserviceVersionMetaFactory.java        |  80 ---
 .../core/definition/TestOperationMeta.java         |  77 ---
 .../TestPrivateMicroserviceVersionMetaFactory.java |  33 -
 .../core/definition/TestSchemaMeta.java            |  48 --
 .../core/definition/TestSchemaUtils.java           |  29 -
 .../TestDefaultMicroserviceClassLoaderFactory.java |  30 -
 .../TestPrivateMicroserviceClassLoaderFactory.java |  40 --
 .../definition/loader/TestDynamicSchemaLoader.java | 122 ----
 .../loader/TestSchemaListenerManager.java          |  55 --
 .../schema/TestConsumerSchemaFactory.java          | 118 ----
 .../schema/TestProducerSchemaFactory.java          | 167 -----
 .../core/executor/TestExecutorManager.java         | 136 ----
 .../core/filter/TestEndpointDiscoveryFilter.java   | 107 ---
 .../core/handler/TestShutdownHookHandler.java      | 141 ----
 .../handler/impl/TestServiceProviderHandler.java   |  68 --
 .../handler/impl/TestSimpleLoadBalanceHandler.java | 127 ----
 .../handler/impl/TestTransportClientHandler.java   |  58 --
 .../java/io/servicecomb/core/provider/Person.java  |  30 -
 .../consumer/TestConsumerProviderManager.java      |  37 -
 .../core/provider/consumer/TestInvokerUtils.java   | 140 ----
 .../provider/consumer/TestReferenceConfig.java     |  64 --
 .../consumer/TestReferenceConfigUtils.java         |  56 --
 .../core/provider/producer/TestProducerMeta.java   |  44 --
 .../producer/TestProducerProviderManager.java      |  37 -
 .../core/tracing/BraveTraceIdGeneratorTest.java    |  39 --
 .../core/transport/TestAbstractTransport.java      | 137 ----
 .../core/transport/TestTransportManager.java       | 225 ------
 .../java/org/apache/servicecomb/core/Config.java   |  50 ++
 .../org/apache/servicecomb/core/TestConfig.java    | 144 ++++
 .../org/apache/servicecomb/core/TestConsumer.java  | 124 ++++
 .../core/TestCseApplicationListener.java           | 214 ++++++
 .../apache/servicecomb/core/TestDefinition.java    |  89 +++
 .../org/apache/servicecomb/core/TestEndpoint.java  |  41 ++
 .../org/apache/servicecomb/core/TestException.java |  58 ++
 .../org/apache/servicecomb/core/TestExecutors.java |  61 ++
 .../org/apache/servicecomb/core/TestHandler.java   |  32 +
 .../servicecomb/core/TestInvocationFactory.java    |  71 ++
 .../org/apache/servicecomb/core/TestTransport.java | 112 +++
 .../java/org/apache/servicecomb/core/Utils.java    |  37 +
 .../consumer/TestReactiveResponseExecutor.java     |  38 +
 .../core/consumer/TestSyncResponseExecutor.java    |  42 ++
 .../MicroServicePropertyExtendedStub.java          |  29 +
 .../core/definition/TestMicroserviceMeta.java      |  93 +++
 .../definition/TestMicroserviceMetaManager.java    |  33 +
 .../definition/TestMicroserviceVersionMeta.java    |  82 +++
 .../TestMicroserviceVersionMetaFactory.java        |  80 +++
 .../core/definition/TestOperationMeta.java         |  77 +++
 .../TestPrivateMicroserviceVersionMetaFactory.java |  33 +
 .../core/definition/TestSchemaMeta.java            |  48 ++
 .../core/definition/TestSchemaUtils.java           |  29 +
 .../TestDefaultMicroserviceClassLoaderFactory.java |  30 +
 .../TestPrivateMicroserviceClassLoaderFactory.java |  40 ++
 .../definition/loader/TestDynamicSchemaLoader.java | 121 ++++
 .../loader/TestSchemaListenerManager.java          |  54 ++
 .../schema/TestConsumerSchemaFactory.java          | 118 ++++
 .../schema/TestProducerSchemaFactory.java          | 167 +++++
 .../core/executor/TestExecutorManager.java         | 136 ++++
 .../core/filter/TestEndpointDiscoveryFilter.java   | 107 +++
 .../core/handler/TestShutdownHookHandler.java      | 141 ++++
 .../handler/impl/TestServiceProviderHandler.java   |  67 ++
 .../handler/impl/TestSimpleLoadBalanceHandler.java | 127 ++++
 .../handler/impl/TestTransportClientHandler.java   |  57 ++
 .../apache/servicecomb/core/provider/Person.java   |  30 +
 .../consumer/TestConsumerProviderManager.java      |  37 +
 .../core/provider/consumer/TestInvokerUtils.java   | 141 ++++
 .../provider/consumer/TestReferenceConfig.java     |  64 ++
 .../consumer/TestReferenceConfigUtils.java         |  57 ++
 .../core/provider/producer/TestProducerMeta.java   |  44 ++
 .../producer/TestProducerProviderManager.java      |  37 +
 .../core/tracing/BraveTraceIdGeneratorTest.java    |  39 ++
 .../core/transport/TestAbstractTransport.java      | 137 ++++
 .../core/transport/TestTransportManager.java       | 225 ++++++
 .../test/resources/META-INF/spring/cse.bean.xml    |   8 +-
 core/src/test/resources/config/cse.handler.xml     |   2 +-
 .../src/test/resources/test/test/microservice.yaml |   2 +-
 core/src/test/resources/test/test/schema.yaml      |   2 +-
 coverage-reports/pom.xml                           |   3 +-
 demo/demo-crossapp/crossapp-client/pom.xml         | 130 ++--
 .../demo/crossapp/CrossappBootListener.java        |  35 -
 .../servicecomb/demo/crossapp/CrossappClient.java  |  55 --
 .../io/servicecomb/demo/crossapp/HelloWorld.java   |  22 -
 .../demo/crossapp/CrossappBootListener.java        |  34 +
 .../servicecomb/demo/crossapp/CrossappClient.java  |  54 ++
 .../servicecomb/demo/crossapp/HelloWorld.java      |  22 +
 .../src/main/resources/microservice.yaml           |   2 +-
 .../src/main/resources/schemas/helloworld.yaml     |   2 +-
 .../io/servicecomb/demo/crossapp/CrossAppIT.java   |  41 --
 .../servicecomb/demo/crossapp/CrossAppIT.java      |  40 ++
 demo/demo-crossapp/crossapp-server/pom.xml         | 122 ++--
 .../demo/crossapp/CrossappBootListener.java        |  35 -
 .../servicecomb/demo/crossapp/CrossappServer.java  |  29 -
 .../io/servicecomb/demo/crossapp/HelloWorld.java   |  22 -
 .../servicecomb/demo/crossapp/HelloWorldImpl.java  |  29 -
 .../demo/crossapp/CrossappBootListener.java        |  34 +
 .../servicecomb/demo/crossapp/CrossappServer.java  |  29 +
 .../servicecomb/demo/crossapp/HelloWorld.java      |  22 +
 .../servicecomb/demo/crossapp/HelloWorldImpl.java  |  29 +
 .../src/main/resources/schemas/helloworld.yaml     |   2 +-
 demo/demo-crossapp/pom.xml                         |  28 +-
 demo/demo-edge/authentication/pom.xml              |   3 +-
 .../demo/edge/authentication/AuthImpl.java         |  33 -
 .../demo/edge/authentication/AuthMain.java         |  28 -
 .../demo/edge/authentication/AuthImpl.java         |  32 +
 .../demo/edge/authentication/AuthMain.java         |  28 +
 demo/demo-edge/edge-service/pom.xml                |   2 +-
 .../demo/edge/service/EdgeDispatcher.java          |  57 --
 .../io/servicecomb/demo/edge/service/EdgeMain.java |  28 -
 .../demo/edge/service/handler/Auth.java            |  22 -
 .../demo/edge/service/handler/AuthHandler.java     |  56 --
 .../demo/edge/service/EdgeDispatcher.java          |  58 ++
 .../servicecomb/demo/edge/service/EdgeMain.java    |  28 +
 .../demo/edge/service/handler/Auth.java            |  22 +
 .../demo/edge/service/handler/AuthHandler.java     |  55 ++
 ...cecomb.transport.rest.vertx.VertxHttpDispatcher |  18 -
 ...cecomb.transport.rest.vertx.VertxHttpDispatcher |  18 +
 .../src/main/resources/config/cse.handler.xml      |   2 +-
 demo/demo-edge/hiboard-business-1-1-0/pom.xml      |   2 +-
 .../demo/edge/business/BusinessMain_V1_1_0.java    |  28 -
 .../io/servicecomb/demo/edge/business/Impl.java    |  50 --
 .../demo/edge/business/BusinessMain_V1_1_0.java    |  28 +
 .../servicecomb/demo/edge/business/Impl.java       |  49 ++
 demo/demo-edge/hiboard-business-1.0.0/pom.xml      |   2 +-
 .../demo/edge/business/BusinessMain_V1_0_0.java    |  28 -
 .../io/servicecomb/demo/edge/business/Impl.java    |  45 --
 .../demo/edge/business/BusinessMain_V1_0_0.java    |  28 +
 .../servicecomb/demo/edge/business/Impl.java       |  44 ++
 demo/demo-edge/hiboard-business-2.0.0/pom.xml      |   2 +-
 .../demo/edge/business/BusinessMain_V2_0_0.java    |  28 -
 .../io/servicecomb/demo/edge/business/Impl.java    |  50 --
 .../demo/edge/business/BusinessMain_V2_0_0.java    |  28 +
 .../servicecomb/demo/edge/business/Impl.java       |  49 ++
 demo/demo-edge/hiboard-consumer/pom.xml            |   2 +-
 .../servicecomb/demo/edge/consumer/Consumer.java   | 155 -----
 .../demo/edge/consumer/ConsumerMain.java           |  30 -
 .../servicecomb/demo/edge/consumer/Consumer.java   | 154 +++++
 .../demo/edge/consumer/ConsumerMain.java           |  30 +
 .../demo/edge/model/AppClientDataRsp.java          |  35 -
 .../demo/edge/model/ChannelRequestBase.java        | 168 -----
 .../demo/edge/model/ResultWithInstance.java        |  78 ---
 .../demo/edge/model/AppClientDataRsp.java          |  35 +
 .../demo/edge/model/ChannelRequestBase.java        | 168 +++++
 .../demo/edge/model/ResultWithInstance.java        |  78 +++
 demo/demo-edge/pom.xml                             |   4 +-
 demo/demo-jaxrs/jaxrs-client/pom.xml               |   2 +-
 .../jaxrs/client/CodeFirstRestTemplateJaxrs.java   |  38 -
 .../client/CustomLoadbalanceExtensionsFactory.java |  58 --
 .../servicecomb/demo/jaxrs/client/JaxrsClient.java | 151 ----
 .../jaxrs/client/CodeFirstRestTemplateJaxrs.java   |  37 +
 .../client/CustomLoadbalanceExtensionsFactory.java |  58 ++
 .../servicecomb/demo/jaxrs/client/JaxrsClient.java | 150 ++++
 demo/demo-jaxrs/jaxrs-server/pom.xml               |   2 +-
 .../demo/jaxrs/server/CodeFirstJaxrs.java          | 212 ------
 .../servicecomb/demo/jaxrs/server/ComputeImpl.java | 126 ----
 .../servicecomb/demo/jaxrs/server/JaxrsServer.java |  28 -
 .../demo/jaxrs/server/CodeFirstJaxrs.java          | 213 ++++++
 .../servicecomb/demo/jaxrs/server/ComputeImpl.java | 125 ++++
 .../servicecomb/demo/jaxrs/server/JaxrsServer.java |  28 +
 demo/demo-local/pom.xml                            |   2 +-
 .../java/io/servicecomb/demo/local/DemoLocal.java  |  31 -
 .../apache/servicecomb/demo/local/DemoLocal.java   |  31 +
 demo/demo-multiple/a-client/pom.xml                |  24 +-
 .../demo/multiple/a/client/AClient.java            |  34 -
 .../demo/multiple/a/client/AClientMain.java        |  34 -
 .../servicecomb/demo/multiple/a/client/AIntf.java  |  22 -
 .../demo/multiple/a/client/AClient.java            |  33 +
 .../demo/multiple/a/client/AClientMain.java        |  34 +
 .../servicecomb/demo/multiple/a/client/AIntf.java  |  22 +
 demo/demo-multiple/a-server/pom.xml                |  24 +-
 .../servicecomb/demo/multiple/a/server/AImpl.java  |  27 -
 .../demo/multiple/a/server/AServerMain.java        |  28 -
 .../servicecomb/demo/multiple/a/server/AImpl.java  |  27 +
 .../demo/multiple/a/server/AServerMain.java        |  28 +
 demo/demo-multiple/b-client/pom.xml                |  24 +-
 .../demo/multiple/b/client/BClient.java            |  34 -
 .../demo/multiple/b/client/BClientMain.java        |  34 -
 .../servicecomb/demo/multiple/b/client/BIntf.java  |  22 -
 .../demo/multiple/b/client/BClient.java            |  33 +
 .../demo/multiple/b/client/BClientMain.java        |  34 +
 .../servicecomb/demo/multiple/b/client/BIntf.java  |  22 +
 demo/demo-multiple/b-server/pom.xml                |  24 +-
 .../servicecomb/demo/multiple/b/server/BImpl.java  |  27 -
 .../demo/multiple/b/server/BServerMain.java        |  28 -
 .../servicecomb/demo/multiple/b/server/BImpl.java  |  27 +
 .../demo/multiple/b/server/BServerMain.java        |  28 +
 demo/demo-multiple/multiple-client/pom.xml         |   2 +-
 .../demo/multiple/client/MultipleClient.java       |  38 -
 .../demo/multiple/client/MultipleClient.java       |  38 +
 demo/demo-multiple/multiple-server/pom.xml         |   2 +-
 .../demo/multiple/server/MultipleServer.java       |  27 -
 .../demo/multiple/server/MultipleServer.java       |  27 +
 demo/demo-pojo/pojo-client/pom.xml                 |   2 +-
 .../servicecomb/demo/pojo/client/BeanRpcTest.java  |  54 --
 .../demo/pojo/client/CodeFirstPojoClient.java      | 189 -----
 .../demo/pojo/client/CodeFirstPojoClientIntf.java  |  29 -
 .../servicecomb/demo/pojo/client/PojoClient.java   | 251 -------
 .../servicecomb/demo/pojo/client/BeanRpcTest.java  |  54 ++
 .../demo/pojo/client/CodeFirstPojoClient.java      | 189 +++++
 .../demo/pojo/client/CodeFirstPojoClientIntf.java  |  30 +
 .../servicecomb/demo/pojo/client/PojoClient.java   | 250 +++++++
 .../resources/META-INF/spring/pojo.client.bean.xml |  12 +-
 .../test/java/io/servicecomb/demo/pojo/PojoIT.java |  42 --
 .../org/apache/servicecomb/demo/pojo/PojoIT.java   |  41 ++
 demo/demo-pojo/pojo-server/pom.xml                 |   2 +-
 .../demo/pojo/server/CodeFirstPojo.java            | 108 ---
 .../io/servicecomb/demo/pojo/server/HelloImpl.java |  38 -
 .../servicecomb/demo/pojo/server/PojoServer.java   |  28 -
 .../demo/pojo/server/SmartCareImpl.java            |  57 --
 .../io/servicecomb/demo/pojo/server/TestImpl.java  | 108 ---
 .../demo/pojo/server/CodeFirstPojo.java            | 109 +++
 .../servicecomb/demo/pojo/server/HelloImpl.java    |  38 +
 .../servicecomb/demo/pojo/server/PojoServer.java   |  28 +
 .../demo/pojo/server/SmartCareImpl.java            |  56 ++
 .../servicecomb/demo/pojo/server/TestImpl.java     | 108 +++
 .../resources/META-INF/spring/pojo.server.bean.xml |   4 +-
 .../integration/PojoReferenceIntegrationTest.java  |  41 --
 .../demo/integration/SomePojoService.java          |  37 -
 .../demo/integration/SomePojoTestMain.java         |  41 --
 .../integration/PojoReferenceIntegrationTest.java  |  41 ++
 .../demo/integration/SomePojoService.java          |  36 +
 .../demo/integration/SomePojoTestMain.java         |  40 ++
 .../io/servicecomb/demo/CodeFirstPojoIntf.java     |  49 --
 .../io/servicecomb/demo/CodeFirstRestTemplate.java | 274 --------
 .../main/java/io/servicecomb/demo/DemoConst.java   |  24 -
 .../java/io/servicecomb/demo/DemoSSLCustom.java    |  39 --
 .../src/main/java/io/servicecomb/demo/TestMgr.java |  81 ---
 .../java/io/servicecomb/demo/compute/Compute.java  |  41 --
 .../java/io/servicecomb/demo/compute/Person.java   |  42 --
 .../io/servicecomb/demo/controller/Controller.java |  30 -
 .../io/servicecomb/demo/controller/Person.java     |  35 -
 .../servicecomb/demo/helloworld/greeter/Hello.java |  24 -
 .../servicecomb/demo/ignore/IgnoreInterface.java   |  22 -
 .../demo/ignore/InputModelForTestIgnore.java       |  87 ---
 .../demo/ignore/OutputModelForTestIgnore.java      | 132 ----
 .../main/java/io/servicecomb/demo/server/Test.java |  38 -
 .../io/servicecomb/demo/server/TestRequest.java    |  63 --
 .../io/servicecomb/demo/server/TestResponse.java   |  35 -
 .../main/java/io/servicecomb/demo/server/User.java |  65 --
 .../io/servicecomb/demo/smartcare/Application.java |  98 ---
 .../java/io/servicecomb/demo/smartcare/Group.java  |  50 --
 .../io/servicecomb/demo/smartcare/Response.java    |  45 --
 .../io/servicecomb/demo/smartcare/SmartCare.java   |  25 -
 .../io/servicecomb/demo/tccserver/TestTcc.java     |  27 -
 .../apache/servicecomb/demo/CodeFirstPojoIntf.java |  49 ++
 .../servicecomb/demo/CodeFirstRestTemplate.java    | 274 ++++++++
 .../org/apache/servicecomb/demo/DemoConst.java     |  24 +
 .../org/apache/servicecomb/demo/DemoSSLCustom.java |  39 ++
 .../java/org/apache/servicecomb/demo/TestMgr.java  |  81 +++
 .../apache/servicecomb/demo/compute/Compute.java   |  41 ++
 .../apache/servicecomb/demo/compute/Person.java    |  42 ++
 .../servicecomb/demo/controller/Controller.java    |  30 +
 .../apache/servicecomb/demo/controller/Person.java |  35 +
 .../servicecomb/demo/helloworld/greeter/Hello.java |  24 +
 .../servicecomb/demo/ignore/IgnoreInterface.java   |  22 +
 .../demo/ignore/InputModelForTestIgnore.java       |  87 +++
 .../demo/ignore/OutputModelForTestIgnore.java      | 132 ++++
 .../org/apache/servicecomb/demo/server/Test.java   |  38 +
 .../servicecomb/demo/server/TestRequest.java       |  63 ++
 .../servicecomb/demo/server/TestResponse.java      |  35 +
 .../org/apache/servicecomb/demo/server/User.java   |  65 ++
 .../servicecomb/demo/smartcare/Application.java    |  98 +++
 .../apache/servicecomb/demo/smartcare/Group.java   |  50 ++
 .../servicecomb/demo/smartcare/Response.java       |  45 ++
 .../servicecomb/demo/smartcare/SmartCare.java      |  25 +
 .../apache/servicecomb/demo/tccserver/TestTcc.java |  27 +
 .../resources/microservices/jaxrs/compute.yaml     |   2 +-
 .../microservices/pojo/helloworld.Greeter.yaml     |   2 +-
 .../main/resources/microservices/pojo/server.yaml  |   4 +-
 .../resources/microservices/pojo/smartcare.yaml    |   4 +-
 .../resources/microservices/pojo/tcc-server.yaml   |   4 +-
 .../microservices/springmvc/controller.yaml        |   2 +-
 .../src/main/webapp/WEB-INF/web.xml                |  22 +-
 .../demo/signature/ClientSignature.java            |  59 --
 .../demo/signature/ServerSignature.java            |  66 --
 .../servicecomb/demo/signature/SignatureUtils.java |  74 --
 .../demo/signature/ClientSignature.java            |  58 ++
 .../demo/signature/ServerSignature.java            |  65 ++
 .../servicecomb/demo/signature/SignatureUtils.java |  74 ++
 ...servicecomb.common.rest.filter.HttpClientFilter |  18 -
 ...servicecomb.common.rest.filter.HttpServerFilter |  18 -
 ...servicecomb.common.rest.filter.HttpClientFilter |  18 +
 ...servicecomb.common.rest.filter.HttpServerFilter |  18 +
 .../demo/discovery/client/DiscoveryClientIT.java   |  73 --
 .../demo/discovery/client/DiscoveryClientIT.java   |  72 ++
 .../demo-spring-boot-discovery-server/pom.xml      |   2 +-
 .../demo/discovery/server/DiscoveryServer.java     |  31 -
 .../demo/discovery/server/GreetingController.java  |  38 -
 .../demo/discovery/server/DiscoveryServer.java     |  30 +
 .../demo/discovery/server/GreetingController.java  |  37 +
 .../src/main/resources/log4j.properties            |   2 +-
 .../demo-spring-boot-zuul-proxy/pom.xml            |   2 +-
 .../demo/discovery/zuul/DiscoveryZuulProxyIT.java  |  63 --
 .../demo/discovery/zuul/DiscoveryZuulProxyIT.java  |  62 ++
 .../springboot/jaxrs/client/JaxrsClient.java       |  38 -
 .../springboot/jaxrs/client/JaxrsClient.java       |  37 +
 .../springboot/jaxrs/SpringBootJaxrsIT.java        |  42 --
 .../springboot/jaxrs/SpringBootJaxrsIT.java        |  41 ++
 .../demo-spring-boot-jaxrs-server/pom.xml          |   2 +-
 .../springboot/jaxrs/server/JaxrsServer.java       |  33 -
 .../springboot/jaxrs/server/JaxrsServer.java       |  32 +
 .../springmvc/client/SpringmvcClient.java          |  44 --
 .../springmvc/client/SpringmvcClient.java          |  43 ++
 .../springmvc/server/SpringmvcServer.java          |  34 -
 .../springmvc/server/SpringmvcServer.java          |  33 +
 .../demo-spring-boot-pojo-client/pom.xml           |   2 +-
 .../main/java/io/servicecomb/demo/DemoConst.java   |  24 -
 .../src/main/java/io/servicecomb/demo/TestMgr.java |  65 --
 .../demo/pojo/client/PojoClientTest.java           | 150 ----
 .../main/java/io/servicecomb/demo/server/Test.java |  34 -
 .../io/servicecomb/demo/server/TestRequest.java    |  63 --
 .../io/servicecomb/demo/server/TestResponse.java   |  35 -
 .../main/java/io/servicecomb/demo/server/User.java |  65 --
 .../springboot/pojo/client/PojoClient.java         |  41 --
 .../org/apache/servicecomb/demo/DemoConst.java     |  24 +
 .../java/org/apache/servicecomb/demo/TestMgr.java  |  65 ++
 .../demo/pojo/client/PojoClientTest.java           | 149 ++++
 .../org/apache/servicecomb/demo/server/Test.java   |  34 +
 .../servicecomb/demo/server/TestRequest.java       |  63 ++
 .../servicecomb/demo/server/TestResponse.java      |  35 +
 .../org/apache/servicecomb/demo/server/User.java   |  65 ++
 .../springboot/pojo/client/PojoClient.java         |  40 ++
 .../resources/META-INF/spring/pojo.client.bean.xml |   4 +-
 .../springboot/pojo/client/PojoClientIT.java       |  42 --
 .../springboot/pojo/client/PojoClientIT.java       |  41 ++
 .../demo-spring-boot-pojo-server/pom.xml           |   2 +-
 .../servicecomb/demo/helloworld/greeter/Hello.java |  24 -
 .../io/servicecomb/demo/pojo/server/HelloImpl.java |  40 --
 .../io/servicecomb/demo/pojo/server/TestImpl.java  |  96 ---
 .../main/java/io/servicecomb/demo/server/Test.java |  34 -
 .../io/servicecomb/demo/server/TestRequest.java    |  63 --
 .../io/servicecomb/demo/server/TestResponse.java   |  35 -
 .../main/java/io/servicecomb/demo/server/User.java |  65 --
 .../java/io/servicecomb/handler/MyHandler.java     |  48 --
 .../springboot/pojo/server/PojoServer.java         |  34 -
 .../servicecomb/demo/helloworld/greeter/Hello.java |  24 +
 .../servicecomb/demo/pojo/server/HelloImpl.java    |  40 ++
 .../servicecomb/demo/pojo/server/TestImpl.java     |  96 +++
 .../org/apache/servicecomb/demo/server/Test.java   |  34 +
 .../servicecomb/demo/server/TestRequest.java       |  63 ++
 .../servicecomb/demo/server/TestResponse.java      |  35 +
 .../org/apache/servicecomb/demo/server/User.java   |  65 ++
 .../org/apache/servicecomb/handler/MyHandler.java  |  47 ++
 .../springboot/pojo/server/PojoServer.java         |  33 +
 .../src/main/resources/config/cse.handler.xml      |   2 +-
 .../microservices/pojo/helloworld.Greeter.yaml     |   2 +-
 .../main/resources/microservices/pojo/server.yaml  |   4 +-
 .../resources/microservices/pojo/smartcare.yaml    |   4 +-
 .../resources/microservices/pojo/tcc-server.yaml   |   4 +-
 demo/demo-springmvc/springmvc-client/pom.xml       |   2 +-
 .../client/CodeFirstRestTemplateSpringmvc.java     | 226 ------
 .../springmvc/client/CodeFirstSprigmvcIntf.java    |  29 -
 .../demo/springmvc/client/MicroserviceArray.java   |  34 -
 .../springmvc/client/MockedFallbackExample.java    |  38 -
 .../springmvc/client/ServiceCenterExample.java     |  55 --
 .../demo/springmvc/client/SpringmvcClient.java     | 226 ------
 .../client/CodeFirstRestTemplateSpringmvc.java     | 225 ++++++
 .../springmvc/client/CodeFirstSprigmvcIntf.java    |  28 +
 .../demo/springmvc/client/MicroserviceArray.java   |  34 +
 .../springmvc/client/MockedFallbackExample.java    |  37 +
 .../springmvc/client/ServiceCenterExample.java     |  55 ++
 .../demo/springmvc/client/SpringmvcClient.java     | 225 ++++++
 .../META-INF/spring/springmvc.client.bean.xml      |   6 +-
 .../src/main/resources/microservice.yaml           |   4 +-
 .../io/servicecomb/demo/springmvc/SpringMvcIT.java |  42 --
 .../servicecomb/demo/springmvc/SpringMvcIT.java    |  41 ++
 demo/demo-springmvc/springmvc-server/pom.xml       |   2 +-
 .../demo/springmvc/server/CodeFirstSpringmvc.java  | 367 ----------
 .../demo/springmvc/server/ControllerImpl.java      |  72 --
 .../demo/springmvc/server/SpringmvcServer.java     |  28 -
 .../demo/springmvc/server/TemplateResponse.java    |  31 -
 .../demo/springmvc/server/CodeFirstSpringmvc.java  | 367 ++++++++++
 .../demo/springmvc/server/ControllerImpl.java      |  71 ++
 .../demo/springmvc/server/SpringmvcServer.java     |  28 +
 .../demo/springmvc/server/TemplateResponse.java    |  31 +
 .../src/main/resources/microservice.yaml           |   4 +-
 demo/perf/pom.xml                                  |   2 +-
 .../main/java/io/servicecomb/demo/perf/Impl.java   |  74 --
 .../main/java/io/servicecomb/demo/perf/Intf.java   |  26 -
 .../servicecomb/demo/perf/PerfConfiguration.java   | 134 ----
 .../io/servicecomb/demo/perf/PerfConsumer.java     | 102 ---
 .../java/io/servicecomb/demo/perf/PerfMain.java    |  49 --
 .../demo/perf/PerfMetricsFilePublisher.java        |  82 ---
 .../io/servicecomb/demo/perf/RedisClientUtils.java |  73 --
 .../io/servicecomb/demo/perf/RedisSession.java     |  73 --
 .../org/apache/servicecomb/demo/perf/Impl.java     |  73 ++
 .../org/apache/servicecomb/demo/perf/Intf.java     |  26 +
 .../servicecomb/demo/perf/PerfConfiguration.java   | 134 ++++
 .../apache/servicecomb/demo/perf/PerfConsumer.java | 101 +++
 .../org/apache/servicecomb/demo/perf/PerfMain.java |  49 ++
 .../demo/perf/PerfMetricsFilePublisher.java        |  81 +++
 .../servicecomb/demo/perf/RedisClientUtils.java    |  74 ++
 .../apache/servicecomb/demo/perf/RedisSession.java |  73 ++
 dynamic-config/config-apollo/pom.xml               |   3 +-
 .../sources/ApolloConfigurationSourceImpl.java     | 129 ----
 .../io/servicecomb/config/client/ApolloClient.java | 169 -----
 .../io/servicecomb/config/client/ApolloConfig.java |  89 ---
 .../config/client/ConfigurationAction.java         |  24 -
 .../sources/ApolloConfigurationSourceImpl.java     | 129 ++++
 .../servicecomb/config/client/ApolloClient.java    | 170 +++++
 .../servicecomb/config/client/ApolloConfig.java    |  89 +++
 .../config/client/ConfigurationAction.java         |  24 +
 ...comb.config.spi.ConfigCenterConfigurationSource |  18 -
 ...comb.config.spi.ConfigCenterConfigurationSource |  18 +
 .../sources/ApolloConfigurationSourceImplTest.java |  80 ---
 .../config/client/ApolloClientTest.java            | 115 ----
 .../config/client/ApolloConfigTest.java            |  44 --
 .../sources/ApolloConfigurationSourceImplTest.java |  80 +++
 .../config/client/ApolloClientTest.java            | 115 ++++
 .../config/client/ApolloConfigTest.java            |  43 ++
 .../edge/core/AbstractEdgeDispatcher.java          |  39 --
 .../edge/core/CompatiblePathVersionMapper.java     |  66 --
 .../io/servicecomb/edge/core/EdgeBootListener.java |  53 --
 .../io/servicecomb/edge/core/EdgeInvocation.java   | 125 ----
 .../core/OperationInstancesDiscoveryFilter.java    | 123 ----
 .../edge/core/AbstractEdgeDispatcher.java          |  39 ++
 .../edge/core/CompatiblePathVersionMapper.java     |  65 ++
 .../servicecomb/edge/core/EdgeBootListener.java    |  52 ++
 .../servicecomb/edge/core/EdgeInvocation.java      | 126 ++++
 .../core/OperationInstancesDiscoveryFilter.java    | 123 ++++
 ...ecomb.serviceregistry.discovery.DiscoveryFilter |  18 -
 ...ecomb.serviceregistry.discovery.DiscoveryFilter |  18 +
 .../edge-core/src/main/resources/microservice.yaml |   2 +-
 .../edge/core/TestAbstractEdgeDispatcher.java      |  79 ---
 .../edge/core/TestCompatiblePathVersionMapper.java |  88 ---
 .../edge/core/TestEdgeBootListener.java            |  78 ---
 .../servicecomb/edge/core/TestEdgeInvocation.java  | 220 ------
 .../TestOperationInstancesDiscoveryFilter.java     | 269 --------
 .../edge/core/TestAbstractEdgeDispatcher.java      |  79 +++
 .../edge/core/TestCompatiblePathVersionMapper.java |  87 +++
 .../edge/core/TestEdgeBootListener.java            |  77 +++
 .../servicecomb/edge/core/TestEdgeInvocation.java  | 220 ++++++
 .../TestOperationInstancesDiscoveryFilter.java     | 269 ++++++++
 .../foundation/auth/AuthHeaderProvider.java        |  31 -
 .../servicecomb/foundation/auth/SignRequest.java   | 199 ------
 .../foundation/common/AbstractObjectManager.java   |  73 --
 .../foundation/common/CommonThread.java            |  43 --
 .../foundation/common/NamedThreadFactory.java      |  56 --
 .../foundation/common/RegisterManager.java         |  89 ---
 .../common/base/DescriptiveRunnable.java           |  23 -
 .../common/base/ServiceCombConstants.java          |  66 --
 .../foundation/common/cache/VersionedCache.java    | 135 ----
 .../common/concurrent/ConcurrentHashMapEx.java     |  58 --
 .../foundation/common/config/ConfigLoader.java     |  23 -
 .../foundation/common/config/ConfigMgr.java        | 102 ---
 .../config/PaaSPropertyPlaceholderConfigurer.java  |  45 --
 .../common/config/PaaSResourceUtils.java           | 164 -----
 .../common/config/impl/AbstractLoader.java         |  34 -
 .../foundation/common/config/impl/IdXmlLoader.java |  53 --
 .../foundation/common/config/impl/IncConfigs.java  |  88 ---
 .../config/impl/PaaSPropertiesLoaderUtils.java     |  70 --
 .../common/config/impl/PropertiesLoader.java       |  51 --
 .../foundation/common/config/impl/XmlLoader.java   |  88 ---
 .../common/config/impl/XmlLoaderUtils.java         |  87 ---
 .../servicecomb/foundation/common/event/Event.java |  22 -
 .../foundation/common/event/EventBus.java          |  49 --
 .../foundation/common/event/EventListener.java     |  28 -
 .../foundation/common/event/EventManager.java      |  49 --
 .../common/exceptions/ServiceCombException.java    |  30 -
 .../foundation/common/http/HttpStatus.java         |  55 --
 .../foundation/common/http/HttpStatusManager.java  |  57 --
 .../foundation/common/http/HttpStatusUtils.java    |  31 -
 .../servicecomb/foundation/common/net/IpPort.java  |  90 ---
 .../foundation/common/net/NetUtils.java            | 205 ------
 .../foundation/common/net/URIEndpointObject.java   |  81 ---
 .../foundation/common/part/AbstractPart.java       | 105 ---
 .../foundation/common/part/FilePart.java           |  54 --
 .../foundation/common/part/InputStreamPart.java    |  28 -
 .../foundation/common/part/ResourcePart.java       |  38 -
 .../common/spring/PaasNamespaceHandler.java        |  66 --
 .../foundation/common/utils/BeanUtils.java         |  63 --
 .../foundation/common/utils/EventUtils.java        |  38 -
 .../foundation/common/utils/FilePerm.java          | 226 ------
 .../foundation/common/utils/FortifyUtils.java      | 109 ---
 .../foundation/common/utils/JsonUtils.java         |  82 ---
 .../foundation/common/utils/Log4jUtils.java        | 127 ----
 .../foundation/common/utils/RSAKeyPairEntry.java   |  48 --
 .../foundation/common/utils/RSAUtils.java          | 114 ---
 .../foundation/common/utils/ReflectUtils.java      |  65 --
 .../common/utils/RollingFileAppenderExt.java       |  81 ---
 .../foundation/common/utils/SPIServiceUtils.java   |  90 ---
 .../foundation/token/RSAKeypair4Auth.java          |  69 --
 .../foundation/auth/AuthHeaderProvider.java        |  31 +
 .../servicecomb/foundation/auth/SignRequest.java   | 199 ++++++
 .../foundation/common/AbstractObjectManager.java   |  73 ++
 .../foundation/common/CommonThread.java            |  43 ++
 .../foundation/common/NamedThreadFactory.java      |  56 ++
 .../foundation/common/RegisterManager.java         |  89 +++
 .../common/base/DescriptiveRunnable.java           |  23 +
 .../common/base/ServiceCombConstants.java          |  66 ++
 .../foundation/common/cache/VersionedCache.java    | 135 ++++
 .../common/concurrent/ConcurrentHashMapEx.java     |  58 ++
 .../foundation/common/config/ConfigLoader.java     |  23 +
 .../foundation/common/config/ConfigMgr.java        | 101 +++
 .../config/PaaSPropertyPlaceholderConfigurer.java  |  45 ++
 .../common/config/PaaSResourceUtils.java           | 163 +++++
 .../common/config/impl/AbstractLoader.java         |  34 +
 .../foundation/common/config/impl/IdXmlLoader.java |  53 ++
 .../foundation/common/config/impl/IncConfigs.java  |  88 +++
 .../config/impl/PaaSPropertiesLoaderUtils.java     |  69 ++
 .../common/config/impl/PropertiesLoader.java       |  50 ++
 .../foundation/common/config/impl/XmlLoader.java   |  87 +++
 .../common/config/impl/XmlLoaderUtils.java         |  86 +++
 .../servicecomb/foundation/common/event/Event.java |  22 +
 .../foundation/common/event/EventBus.java          |  49 ++
 .../foundation/common/event/EventListener.java     |  28 +
 .../foundation/common/event/EventManager.java      |  49 ++
 .../common/exceptions/ServiceCombException.java    |  30 +
 .../foundation/common/http/HttpStatus.java         |  55 ++
 .../foundation/common/http/HttpStatusManager.java  |  57 ++
 .../foundation/common/http/HttpStatusUtils.java    |  31 +
 .../servicecomb/foundation/common/net/IpPort.java  |  90 +++
 .../foundation/common/net/NetUtils.java            | 205 ++++++
 .../foundation/common/net/URIEndpointObject.java   |  81 +++
 .../foundation/common/part/AbstractPart.java       | 105 +++
 .../foundation/common/part/FilePart.java           |  54 ++
 .../foundation/common/part/InputStreamPart.java    |  28 +
 .../foundation/common/part/ResourcePart.java       |  38 +
 .../common/spring/PaasNamespaceHandler.java        |  65 ++
 .../foundation/common/utils/BeanUtils.java         |  63 ++
 .../foundation/common/utils/EventUtils.java        |  38 +
 .../foundation/common/utils/FilePerm.java          | 226 ++++++
 .../foundation/common/utils/FortifyUtils.java      | 109 +++
 .../foundation/common/utils/JsonUtils.java         |  82 +++
 .../foundation/common/utils/Log4jUtils.java        | 126 ++++
 .../foundation/common/utils/RSAKeyPairEntry.java   |  48 ++
 .../foundation/common/utils/RSAUtils.java          | 113 +++
 .../foundation/common/utils/ReflectUtils.java      |  65 ++
 .../common/utils/RollingFileAppenderExt.java       |  81 +++
 .../foundation/common/utils/SPIServiceUtils.java   |  93 +++
 .../foundation/token/RSAKeypair4Auth.java          |  69 ++
 .../main/resources/config/base/log4j.properties    |   2 +-
 .../common/cache/TestVersionedCache.java           | 128 ----
 .../foundation/common/config/BeanProp.java         |  35 -
 .../foundation/common/config/TestConfig.java       | 188 -----
 .../foundation/common/event/TestEventBus.java      |  64 --
 .../foundation/common/event/TestEventManager.java  |  51 --
 .../foundation/common/http/TestHttpStatus.java     |  57 --
 .../common/http/TestHttpStatusUtils.java           |  55 --
 .../foundation/common/net/TestIpPort.java          |  38 -
 .../foundation/common/net/TestNetUtils.java        | 106 ---
 .../common/net/TestURIEndpointObject.java          |  69 --
 .../foundation/common/part/TestAbstractPart.java   | 138 ----
 .../foundation/common/part/TestFilePart.java       |  76 --
 .../common/part/TestInputStreamPart.java           |  49 --
 .../foundation/common/part/TestResourcePart.java   |  50 --
 .../common/spring/TestPaasNamespaceHandler.java    |  49 --
 .../foundation/common/utils/SPIServiceDef.java     |  22 -
 .../foundation/common/utils/SPIServiceDef0.java    |  22 -
 .../foundation/common/utils/SPIServiceDefImpl.java |  22 -
 .../foundation/common/utils/TestBeanUtils.java     |  48 --
 .../foundation/common/utils/TestFortifyUtils.java  |  79 ---
 .../foundation/common/utils/TestRSAUtil.java       |  56 --
 .../common/utils/TestRollingFileAppenderExt.java   |  61 --
 .../common/utils/TestSPIServiceUtils.java          |  73 --
 .../common/cache/TestVersionedCache.java           | 128 ++++
 .../foundation/common/config/BeanProp.java         |  35 +
 .../foundation/common/config/TestConfig.java       | 187 +++++
 .../foundation/common/event/TestEventBus.java      |  63 ++
 .../foundation/common/event/TestEventManager.java  |  51 ++
 .../foundation/common/http/TestHttpStatus.java     |  57 ++
 .../common/http/TestHttpStatusUtils.java           |  55 ++
 .../foundation/common/net/TestIpPort.java          |  38 +
 .../foundation/common/net/TestNetUtils.java        | 106 +++
 .../common/net/TestURIEndpointObject.java          |  69 ++
 .../foundation/common/part/TestAbstractPart.java   | 138 ++++
 .../foundation/common/part/TestFilePart.java       |  76 ++
 .../common/part/TestInputStreamPart.java           |  49 ++
 .../foundation/common/part/TestResourcePart.java   |  50 ++
 .../common/spring/TestPaasNamespaceHandler.java    |  49 ++
 .../foundation/common/utils/SPIServiceDef.java     |  22 +
 .../foundation/common/utils/SPIServiceDef0.java    |  22 +
 .../foundation/common/utils/SPIServiceDefImpl.java |  22 +
 .../foundation/common/utils/TestBeanUtils.java     |  48 ++
 .../foundation/common/utils/TestFortifyUtils.java  |  79 +++
 .../foundation/common/utils/TestRSAUtil.java       |  56 ++
 .../common/utils/TestRollingFileAppenderExt.java   |  61 ++
 .../common/utils/TestSPIServiceUtils.java          |  73 ++
 ...rvicecomb.foundation.common.utils.SPIServiceDef |  19 -
 ...rvicecomb.foundation.common.utils.SPIServiceDef |  18 +
 .../test/resources/META-INF/spring/config.bean.xml |   4 +-
 .../test/resources/config/config.test.1.inc.xml    |   2 +-
 .../ConfigCenterConfigurationSourceImpl.java       | 128 ----
 .../config/client/ConfigCenterClient.java          | 360 ----------
 .../config/client/ConfigCenterConfig.java          | 154 -----
 .../servicecomb/config/client/MemberDiscovery.java |  65 --
 .../config/client/ParseConfigUtils.java            | 116 ----
 .../io/servicecomb/config/client/URIConst.java     |  58 --
 .../ConfigCenterConfigurationSourceImpl.java       | 127 ++++
 .../config/client/ConfigCenterClient.java          | 360 ++++++++++
 .../config/client/ConfigCenterConfig.java          | 154 +++++
 .../servicecomb/config/client/MemberDiscovery.java |  65 ++
 .../config/client/ParseConfigUtils.java            | 115 ++++
 .../apache/servicecomb/config/client/URIConst.java |  58 ++
 ...comb.config.spi.ConfigCenterConfigurationSource |  18 -
 ...comb.config.spi.ConfigCenterConfigurationSource |  18 +
 .../TestConfigCenterConfigurationSource.java       |  94 ---
 .../config/client/TestConfigCenterClient.java      | 167 -----
 .../config/client/TestConfigCenterConfig.java      |  40 --
 .../config/client/TestMemberDiscovery.java         |  56 --
 .../config/client/TestParseConfigUtils.java        |  83 ---
 .../io/servicecomb/config/client/TestURIConst.java |  38 -
 .../TestConfigCenterConfigurationSource.java       |  94 +++
 .../config/client/TestConfigCenterClient.java      | 171 +++++
 .../config/client/TestConfigCenterConfig.java      |  39 ++
 .../config/client/TestMemberDiscovery.java         |  56 ++
 .../config/client/TestParseConfigUtils.java        |  83 +++
 .../servicecomb/config/client/TestURIConst.java    |  38 +
 .../java/io/servicecomb/config/ConfigMapping.java  |  64 --
 .../java/io/servicecomb/config/ConfigUtil.java     | 238 -------
 .../config/ConfigurationSpringInitializer.java     |  60 --
 .../io/servicecomb/config/DynamicProperties.java   |  77 ---
 .../servicecomb/config/DynamicPropertiesImpl.java  | 125 ----
 .../config/LastPropertyPlaceholderConfigurer.java  |  41 --
 .../main/java/io/servicecomb/config/YAMLUtil.java  |  57 --
 .../scheduler/NeverStartPollingScheduler.java      |  35 -
 .../archaius/sources/AbstractConfigLoader.java     | 141 ----
 .../config/archaius/sources/ConfigModel.java       |  53 --
 .../config/archaius/sources/ConfigSourceMaker.java |  28 -
 .../archaius/sources/MicroserviceConfigLoader.java |  79 ---
 .../sources/MicroserviceConfigurationSource.java   |  51 --
 .../config/archaius/sources/YAMLConfigLoader.java  |  37 -
 .../spi/ConfigCenterConfigurationSource.java       |  26 -
 .../apache/servicecomb/config/ConfigMapping.java   |  64 ++
 .../org/apache/servicecomb/config/ConfigUtil.java  | 237 +++++++
 .../config/ConfigurationSpringInitializer.java     |  60 ++
 .../servicecomb/config/DynamicProperties.java      |  77 +++
 .../servicecomb/config/DynamicPropertiesImpl.java  | 125 ++++
 .../config/LastPropertyPlaceholderConfigurer.java  |  41 ++
 .../org/apache/servicecomb/config/YAMLUtil.java    |  57 ++
 .../scheduler/NeverStartPollingScheduler.java      |  35 +
 .../archaius/sources/AbstractConfigLoader.java     | 141 ++++
 .../config/archaius/sources/ConfigModel.java       |  53 ++
 .../config/archaius/sources/ConfigSourceMaker.java |  28 +
 .../archaius/sources/MicroserviceConfigLoader.java |  78 +++
 .../sources/MicroserviceConfigurationSource.java   |  51 ++
 .../config/archaius/sources/YAMLConfigLoader.java  |  37 +
 .../spi/ConfigCenterConfigurationSource.java       |  26 +
 .../main/resources/META-INF/spring/cse.bean.xml    |   4 +-
 .../servicecomb/config/DynamicPropertiesTest.java  | 203 ------
 .../config/MapBasedConfigurationSource.java        |  96 ---
 .../io/servicecomb/config/TestConfigMapping.java   |  47 --
 .../java/io/servicecomb/config/TestConfigUtil.java | 321 ---------
 .../config/TestConfigurationSpringInitializer.java |  68 --
 .../TestLastPropertyPlaceholderConfigurer.java     |  69 --
 .../sources/TestMicroserviceConfigLoader.java      | 105 ---
 .../sources/TestYAMLConfigurationSource.java       |  97 ---
 .../servicecomb/config/DynamicPropertiesTest.java  | 203 ++++++
 .../config/MapBasedConfigurationSource.java        |  95 +++
 .../servicecomb/config/TestConfigMapping.java      |  47 ++
 .../apache/servicecomb/config/TestConfigUtil.java  | 321 +++++++++
 .../config/TestConfigurationSpringInitializer.java |  68 ++
 .../TestLastPropertyPlaceholderConfigurer.java     |  69 ++
 .../sources/TestMicroserviceConfigLoader.java      | 105 +++
 .../sources/TestYAMLConfigurationSource.java       |  96 +++
 ...comb.config.spi.ConfigCenterConfigurationSource |  19 -
 ...comb.config.spi.ConfigCenterConfigurationSource |  18 +
 .../io/servicecomb/foundation/metrics/Metrics.java |  81 ---
 .../foundation/metrics/MetricsConfig.java          |  46 --
 .../foundation/metrics/MetricsServoRegistry.java   | 572 ----------------
 .../foundation/metrics/MetricsThread.java          |  69 --
 .../foundation/metrics/TpsAndLatencyData.java      |  51 --
 .../metrics/output/MetricsFileOutput.java          |  68 --
 .../output/servo/FileOutputMetricObserver.java     |  54 --
 .../output/servo/MetricsContentConvertor.java      |  28 -
 .../output/servo/MetricsContentFormatter.java      |  24 -
 .../output/servo/MetricsObserverInitializer.java   |  82 ---
 .../output/servo/RollingMetricsFileOutput.java     |  44 --
 .../servo/SimpleMetricsContentConvertor.java       |  70 --
 .../servo/SimpleMetricsContentFormatter.java       |  97 ---
 .../metrics/performance/MetricsDataMonitor.java    | 240 -------
 .../performance/MetricsDataMonitorUtil.java        |  57 --
 .../foundation/metrics/performance/PerfResult.java |  93 ---
 .../foundation/metrics/performance/PerfStat.java   |  37 -
 .../metrics/performance/PerfStatContext.java       |  52 --
 .../metrics/performance/PerfStatData.java          | 161 -----
 .../metrics/performance/PerfStatImpl.java          |  91 ---
 .../metrics/performance/PerfStatMonitor.java       |  91 ---
 .../metrics/performance/PerfStatMonitorMgr.java    |  83 ---
 .../metrics/performance/PerfStatSuccFail.java      |  50 --
 .../metrics/performance/QueueMetrics.java          |  98 ---
 .../metrics/performance/QueueMetricsData.java      | 215 ------
 .../servicecomb/foundation/metrics/Metrics.java    |  81 +++
 .../foundation/metrics/MetricsConfig.java          |  46 ++
 .../foundation/metrics/MetricsServoRegistry.java   | 576 ++++++++++++++++
 .../foundation/metrics/MetricsThread.java          |  68 ++
 .../foundation/metrics/TpsAndLatencyData.java      |  51 ++
 .../metrics/output/MetricsFileOutput.java          |  70 ++
 .../output/servo/FileOutputMetricObserver.java     |  56 ++
 .../output/servo/MetricsContentConvertor.java      |  28 +
 .../output/servo/MetricsContentFormatter.java      |  24 +
 .../output/servo/MetricsObserverInitializer.java   |  85 +++
 .../output/servo/RollingMetricsFileOutput.java     |  43 ++
 .../servo/SimpleMetricsContentConvertor.java       |  70 ++
 .../servo/SimpleMetricsContentFormatter.java       |  97 +++
 .../metrics/performance/MetricsDataMonitor.java    | 240 +++++++
 .../performance/MetricsDataMonitorUtil.java        |  57 ++
 .../foundation/metrics/performance/PerfResult.java |  93 +++
 .../foundation/metrics/performance/PerfStat.java   |  37 +
 .../metrics/performance/PerfStatContext.java       |  52 ++
 .../metrics/performance/PerfStatData.java          | 161 +++++
 .../metrics/performance/PerfStatImpl.java          |  91 +++
 .../metrics/performance/PerfStatMonitor.java       |  91 +++
 .../metrics/performance/PerfStatMonitorMgr.java    |  83 +++
 .../metrics/performance/PerfStatSuccFail.java      |  50 ++
 .../metrics/performance/QueueMetrics.java          |  98 +++
 .../metrics/performance/QueueMetricsData.java      | 215 ++++++
 .../resources/META-INF/spring/metrics.bean.xml     |   4 +-
 ...ileOutputMetricObserverAndContentConvertor.java | 132 ----
 .../foundation/metrics/TestMetrics.java            |  36 -
 .../metrics/TestMetricsServoRegistry.java          | 221 ------
 .../foundation/metrics/TestMetricsThread.java      |  47 --
 .../metrics/TestSimpleMetricsContentFormatter.java |  42 --
 .../performance/TestMetricsDataMonitor.java        | 132 ----
 .../performance/TestMetricsDataMonitorUtil.java    |  62 --
 .../metrics/performance/TestPerfResult.java        |  70 --
 .../metrics/performance/TestPerfStatContext.java   |  68 --
 .../metrics/performance/TestPerfStatData.java      |  83 ---
 .../metrics/performance/TestPerfStatImpl.java      |  70 --
 .../metrics/performance/TestPerfStatMonitor.java   |  56 --
 .../performance/TestPerfStatMonitorMgr.java        |  68 --
 .../metrics/performance/TestPerfStatSuccFail.java  |  48 --
 ...ileOutputMetricObserverAndContentConvertor.java | 131 ++++
 .../foundation/metrics/TestMetrics.java            |  35 +
 .../metrics/TestMetricsServoRegistry.java          | 220 ++++++
 .../foundation/metrics/TestMetricsThread.java      |  47 ++
 .../metrics/TestSimpleMetricsContentFormatter.java |  41 ++
 .../performance/TestMetricsDataMonitor.java        | 132 ++++
 .../performance/TestMetricsDataMonitorUtil.java    |  61 ++
 .../metrics/performance/TestPerfResult.java        |  70 ++
 .../metrics/performance/TestPerfStatContext.java   |  68 ++
 .../metrics/performance/TestPerfStatData.java      |  83 +++
 .../metrics/performance/TestPerfStatImpl.java      |  70 ++
 .../metrics/performance/TestPerfStatMonitor.java   |  56 ++
 .../performance/TestPerfStatMonitorMgr.java        |  68 ++
 .../metrics/performance/TestPerfStatSuccFail.java  |  48 ++
 .../foundation/ssl/CertificateUtil.java            | 144 ----
 .../servicecomb/foundation/ssl/KeyStoreUtil.java   | 117 ----
 .../io/servicecomb/foundation/ssl/SSLCustom.java   |  63 --
 .../io/servicecomb/foundation/ssl/SSLManager.java  | 200 ------
 .../io/servicecomb/foundation/ssl/SSLOption.java   | 448 ------------
 .../foundation/ssl/SSLOptionFactory.java           |  43 --
 .../foundation/ssl/SSLSocketFactoryExt.java        |  93 ---
 .../foundation/ssl/TrustAllManager.java            |  61 --
 .../foundation/ssl/TrustManagerExt.java            | 280 --------
 .../foundation/ssl/CertificateUtil.java            | 144 ++++
 .../servicecomb/foundation/ssl/KeyStoreUtil.java   | 117 ++++
 .../servicecomb/foundation/ssl/SSLCustom.java      |  63 ++
 .../servicecomb/foundation/ssl/SSLManager.java     | 200 ++++++
 .../servicecomb/foundation/ssl/SSLOption.java      | 448 ++++++++++++
 .../foundation/ssl/SSLOptionFactory.java           |  43 ++
 .../foundation/ssl/SSLSocketFactoryExt.java        |  93 +++
 .../foundation/ssl/TrustAllManager.java            |  61 ++
 .../foundation/ssl/TrustManagerExt.java            | 280 ++++++++
 .../foundation/ssl/CertificateUtilTest.java        | 296 --------
 .../foundation/ssl/KeyStoreUtilTest.java           | 168 -----
 .../foundation/ssl/MyOptionFactory.java            |  33 -
 .../servicecomb/foundation/ssl/SSLManagerTest.java | 438 ------------
 .../servicecomb/foundation/ssl/SSLOptionTest.java  | 401 -----------
 .../foundation/ssl/TestSSLOptionFactory.java       |  69 --
 .../foundation/ssl/TestSSLSocketFactoryExt.java    |  56 --
 .../foundation/ssl/TestTrustAllManager.java        |  50 --
 .../foundation/ssl/TrustManagerExtTest.java        | 410 -----------
 .../foundation/ssl/CertificateUtilTest.java        | 296 ++++++++
 .../foundation/ssl/KeyStoreUtilTest.java           | 168 +++++
 .../foundation/ssl/MyOptionFactory.java            |  33 +
 .../servicecomb/foundation/ssl/SSLManagerTest.java | 438 ++++++++++++
 .../servicecomb/foundation/ssl/SSLOptionTest.java  | 401 +++++++++++
 .../foundation/ssl/TestSSLOptionFactory.java       |  69 ++
 .../foundation/ssl/TestSSLSocketFactoryExt.java    |  56 ++
 .../foundation/ssl/TestTrustAllManager.java        |  50 ++
 .../foundation/ssl/TrustManagerExtTest.java        | 410 +++++++++++
 .../test/scaffolding/config/ArchaiusUtils.java     |  68 --
 .../test/scaffolding/spring/SpringUtils.java       |  81 ---
 .../web/impl/HttpServerRequestWrapperForTest.java  |   2 +-
 .../test/scaffolding/config/ArchaiusUtils.java     |  68 ++
 .../test/scaffolding/spring/SpringUtils.java       |  81 +++
 .../foundation/vertx/AsyncResultCallback.java      |  32 -
 .../foundation/vertx/SimpleBodyHandler.java        |  52 --
 .../foundation/vertx/SimpleJsonObject.java         |  39 --
 .../foundation/vertx/VertxTLSBuilder.java          | 142 ----
 .../servicecomb/foundation/vertx/VertxUtils.java   | 205 ------
 .../foundation/vertx/client/ClientPoolFactory.java |  22 -
 .../foundation/vertx/client/ClientPoolManager.java | 119 ----
 .../foundation/vertx/client/ClientVerticle.java    |  31 -
 .../vertx/client/http/HttpClientPoolFactory.java   |  41 --
 .../vertx/client/http/HttpClientWithContext.java   |  50 --
 .../tcp/AbstractTcpClientConnectionPool.java       |  58 --
 .../vertx/client/tcp/AbstractTcpClientPackage.java |  37 -
 .../client/tcp/AbstractTcpClientPoolFactory.java   |  43 --
 .../vertx/client/tcp/NetClientWrapper.java         |  61 --
 .../vertx/client/tcp/TcpClientConfig.java          |  39 --
 .../vertx/client/tcp/TcpClientConnection.java      | 310 ---------
 .../vertx/client/tcp/TcpClientConnectionPool.java  |  30 -
 .../vertx/client/tcp/TcpClientPackage.java         |  32 -
 .../vertx/client/tcp/TcpClientPoolFactory.java     |  30 -
 .../foundation/vertx/client/tcp/TcpData.java       |  47 --
 .../foundation/vertx/client/tcp/TcpRequest.java    |  69 --
 .../vertx/client/tcp/TcpResponseCallback.java      |  24 -
 .../vertx/executor/VertxWorkerExecutor.java        |  34 -
 .../vertx/http/AbstractHttpServletRequest.java     | 393 -----------
 .../vertx/http/AbstractHttpServletResponse.java    | 219 ------
 .../foundation/vertx/http/BodyBufferSupport.java   |  31 -
 .../vertx/http/BodyBufferSupportImpl.java          |  61 --
 .../foundation/vertx/http/EmptyAsyncContext.java   |  92 ---
 .../foundation/vertx/http/FileUploadPart.java      |  66 --
 .../vertx/http/HttpServletRequestEx.java           |  30 -
 .../vertx/http/HttpServletResponseEx.java          |  25 -
 .../vertx/http/StandardHttpServletRequestEx.java   |  82 ---
 .../vertx/http/StandardHttpServletResponseEx.java  |  83 ---
 .../VertxClientRequestToHttpServletRequest.java    |  73 --
 .../VertxClientResponseToHttpServletResponse.java  |  71 --
 .../VertxServerRequestToHttpServletRequest.java    | 240 -------
 .../VertxServerResponseToHttpServletResponse.java  | 101 ---
 .../foundation/vertx/server/TcpBufferHandler.java  |  29 -
 .../foundation/vertx/server/TcpParser.java         | 134 ----
 .../foundation/vertx/server/TcpServer.java         |  79 ---
 .../vertx/server/TcpServerConnection.java          |  53 --
 .../foundation/vertx/stream/BufferInputStream.java | 130 ----
 .../vertx/stream/BufferOutputStream.java           | 126 ----
 .../vertx/stream/InputStreamToReadStream.java      | 190 -----
 .../foundation/vertx/tcp/TcpConnection.java        | 122 ----
 .../servicecomb/foundation/vertx/tcp/TcpConst.java |  24 -
 .../foundation/vertx/tcp/TcpOutputStream.java      |  47 --
 .../foundation/vertx/AsyncResultCallback.java      |  32 +
 .../foundation/vertx/SimpleBodyHandler.java        |  52 ++
 .../foundation/vertx/SimpleJsonObject.java         |  39 ++
 .../foundation/vertx/VertxTLSBuilder.java          | 143 ++++
 .../servicecomb/foundation/vertx/VertxUtils.java   | 205 ++++++
 .../foundation/vertx/client/ClientPoolFactory.java |  22 +
 .../foundation/vertx/client/ClientPoolManager.java | 120 ++++
 .../foundation/vertx/client/ClientVerticle.java    |  31 +
 .../vertx/client/http/HttpClientPoolFactory.java   |  42 ++
 .../vertx/client/http/HttpClientWithContext.java   |  50 ++
 .../tcp/AbstractTcpClientConnectionPool.java       |  59 ++
 .../vertx/client/tcp/AbstractTcpClientPackage.java |  37 +
 .../client/tcp/AbstractTcpClientPoolFactory.java   |  44 ++
 .../vertx/client/tcp/NetClientWrapper.java         |  61 ++
 .../vertx/client/tcp/TcpClientConfig.java          |  39 ++
 .../vertx/client/tcp/TcpClientConnection.java      | 310 +++++++++
 .../vertx/client/tcp/TcpClientConnectionPool.java  |  30 +
 .../vertx/client/tcp/TcpClientPackage.java         |  32 +
 .../vertx/client/tcp/TcpClientPoolFactory.java     |  30 +
 .../foundation/vertx/client/tcp/TcpData.java       |  47 ++
 .../foundation/vertx/client/tcp/TcpRequest.java    |  69 ++
 .../vertx/client/tcp/TcpResponseCallback.java      |  24 +
 .../vertx/executor/VertxWorkerExecutor.java        |  34 +
 .../vertx/http/AbstractHttpServletRequest.java     | 393 +++++++++++
 .../vertx/http/AbstractHttpServletResponse.java    | 219 ++++++
 .../foundation/vertx/http/BodyBufferSupport.java   |  31 +
 .../vertx/http/BodyBufferSupportImpl.java          |  62 ++
 .../foundation/vertx/http/EmptyAsyncContext.java   |  92 +++
 .../foundation/vertx/http/FileUploadPart.java      |  66 ++
 .../vertx/http/HttpServletRequestEx.java           |  30 +
 .../vertx/http/HttpServletResponseEx.java          |  25 +
 .../vertx/http/StandardHttpServletRequestEx.java   |  82 +++
 .../vertx/http/StandardHttpServletResponseEx.java  |  84 +++
 .../VertxClientRequestToHttpServletRequest.java    |  73 ++
 .../VertxClientResponseToHttpServletResponse.java  |  72 ++
 .../VertxServerRequestToHttpServletRequest.java    | 240 +++++++
 .../VertxServerResponseToHttpServletResponse.java  | 102 +++
 .../foundation/vertx/server/TcpBufferHandler.java  |  29 +
 .../foundation/vertx/server/TcpParser.java         | 134 ++++
 .../foundation/vertx/server/TcpServer.java         |  80 +++
 .../vertx/server/TcpServerConnection.java          |  53 ++
 .../foundation/vertx/stream/BufferInputStream.java | 130 ++++
 .../vertx/stream/BufferOutputStream.java           | 126 ++++
 .../vertx/stream/InputStreamToReadStream.java      | 190 +++++
 .../foundation/vertx/tcp/TcpConnection.java        | 122 ++++
 .../servicecomb/foundation/vertx/tcp/TcpConst.java |  24 +
 .../foundation/vertx/tcp/TcpOutputStream.java      |  47 ++
 .../main/resources/META-INF/spring/cse.bean.xml    |   2 +-
 .../foundation/vertx/TestSimpleBodyHandler.java    |  77 ---
 .../foundation/vertx/TestSimpleJsonObject.java     |  37 -
 .../servicecomb/foundation/vertx/TestStream.java   |  57 --
 .../foundation/vertx/TestVertxTLSBuilder.java      | 187 -----
 .../foundation/vertx/TestVertxUtils.java           | 121 ----
 .../vertx/client/TestClientPoolManager.java        | 195 ------
 .../vertx/client/TestClientVerticle.java           |  61 --
 .../client/http/TestHttpClientPoolFactory.java     |  52 --
 .../tcp/TestAbstractTcpClientPoolFactory.java      |  50 --
 .../vertx/client/tcp/TestNetClientWrapper.java     | 107 ---
 .../vertx/client/tcp/TestTcpClientConfig.java      |  32 -
 .../vertx/client/tcp/TestTcpClientConnection.java  | 249 -------
 .../client/tcp/TestTcpClientConnectionPool.java    |  45 --
 .../vertx/http/TestAbstractHttpServletRequest.java | 516 --------------
 .../http/TestAbstractHttpServletResponse.java      | 307 ---------
 .../vertx/http/TestBodyBufferSupportImpl.java      |  74 --
 .../foundation/vertx/http/TestFileUploadPart.java  | 139 ----
 .../http/TestStandardHttpServletRequestEx.java     |  81 ---
 .../http/TestStandardHttpServletResponseEx.java    | 117 ----
 ...TestVertxClientRequestToHttpServletRequest.java | 147 ----
 ...stVertxClientResponseToHttpServletResponse.java | 129 ----
 ...TestVertxServerRequestToHttpServletRequest.java | 430 ------------
 ...stVertxServerResponseToHttpServletResponse.java | 184 -----
 .../foundation/vertx/server/TestTcpParser.java     |  61 --
 .../foundation/vertx/server/TestTcpServer.java     |  86 ---
 .../vertx/server/TestTcpServerConnection.java      |  36 -
 .../vertx/stream/TestBufferInputStream.java        | 115 ----
 .../ext/web/impl/TestHttpServerRequestUtils.java   |   2 +-
 .../foundation/vertx/TestSimpleBodyHandler.java    |  77 +++
 .../foundation/vertx/TestSimpleJsonObject.java     |  37 +
 .../servicecomb/foundation/vertx/TestStream.java   |  57 ++
 .../foundation/vertx/TestVertxTLSBuilder.java      | 187 +++++
 .../foundation/vertx/TestVertxUtils.java           | 121 ++++
 .../vertx/client/TestClientPoolManager.java        | 195 ++++++
 .../vertx/client/TestClientVerticle.java           |  61 ++
 .../client/http/TestHttpClientPoolFactory.java     |  52 ++
 .../tcp/TestAbstractTcpClientPoolFactory.java      |  50 ++
 .../vertx/client/tcp/TestNetClientWrapper.java     | 107 +++
 .../vertx/client/tcp/TestTcpClientConfig.java      |  32 +
 .../vertx/client/tcp/TestTcpClientConnection.java  | 249 +++++++
 .../client/tcp/TestTcpClientConnectionPool.java    |  45 ++
 .../vertx/http/TestAbstractHttpServletRequest.java | 516 ++++++++++++++
 .../http/TestAbstractHttpServletResponse.java      | 307 +++++++++
 .../vertx/http/TestBodyBufferSupportImpl.java      |  74 ++
 .../foundation/vertx/http/TestFileUploadPart.java  | 139 ++++
 .../http/TestStandardHttpServletRequestEx.java     |  81 +++
 .../http/TestStandardHttpServletResponseEx.java    | 117 ++++
 ...TestVertxClientRequestToHttpServletRequest.java | 147 ++++
 ...stVertxClientResponseToHttpServletResponse.java | 129 ++++
 ...TestVertxServerRequestToHttpServletRequest.java | 430 ++++++++++++
 ...stVertxServerResponseToHttpServletResponse.java | 184 +++++
 .../foundation/vertx/server/TestTcpParser.java     |  61 ++
 .../foundation/vertx/server/TestTcpServer.java     |  86 +++
 .../vertx/server/TestTcpServerConnection.java      |  36 +
 .../vertx/stream/TestBufferInputStream.java        | 115 ++++
 .../java/io/servicecomb/bizkeeper/BeansHolder.java |  32 -
 .../io/servicecomb/bizkeeper/BizkeeperCommand.java | 100 ---
 .../bizkeeper/BizkeeperExceptionUtils.java         |  36 -
 .../io/servicecomb/bizkeeper/BizkeeperHandler.java |  97 ---
 .../bizkeeper/BizkeeperHandlerDelegate.java        |  66 --
 .../bizkeeper/BizkeeperRequestContext.java         |  40 --
 .../java/io/servicecomb/bizkeeper/CommandKey.java  |  42 --
 .../io/servicecomb/bizkeeper/Configuration.java    | 249 -------
 .../bizkeeper/ConsumerBizkeeperCommand.java        |  44 --
 .../bizkeeper/ConsumerBizkeeperHandler.java        |  50 --
 .../io/servicecomb/bizkeeper/FallbackPolicy.java   |  30 -
 .../bizkeeper/FallbackPolicyManager.java           |  62 --
 .../bizkeeper/FromCacheFallbackPolicy.java         |  54 --
 .../bizkeeper/HystrixCommandPropertiesExt.java     | 551 ---------------
 .../bizkeeper/HystrixPropertiesStrategyExt.java    |  57 --
 .../bizkeeper/ProviderBizkeeperCommand.java        |  44 --
 .../bizkeeper/ProviderBizkeeperHanlder.java        |  50 --
 .../bizkeeper/ReturnNullFallbackPolicy.java        |  38 -
 .../bizkeeper/ThrowExceptionFallbackPolicy.java    |  41 --
 .../apache/servicecomb/bizkeeper/BeansHolder.java  |  32 +
 .../servicecomb/bizkeeper/BizkeeperCommand.java    | 100 +++
 .../bizkeeper/BizkeeperExceptionUtils.java         |  36 +
 .../servicecomb/bizkeeper/BizkeeperHandler.java    |  97 +++
 .../bizkeeper/BizkeeperHandlerDelegate.java        |  67 ++
 .../bizkeeper/BizkeeperRequestContext.java         |  40 ++
 .../apache/servicecomb/bizkeeper/CommandKey.java   |  42 ++
 .../servicecomb/bizkeeper/Configuration.java       | 249 +++++++
 .../bizkeeper/ConsumerBizkeeperCommand.java        |  44 ++
 .../bizkeeper/ConsumerBizkeeperHandler.java        |  50 ++
 .../servicecomb/bizkeeper/FallbackPolicy.java      |  30 +
 .../bizkeeper/FallbackPolicyManager.java           |  62 ++
 .../bizkeeper/FromCacheFallbackPolicy.java         |  53 ++
 .../bizkeeper/HystrixCommandPropertiesExt.java     | 551 +++++++++++++++
 .../bizkeeper/HystrixPropertiesStrategyExt.java    |  57 ++
 .../bizkeeper/ProviderBizkeeperCommand.java        |  44 ++
 .../bizkeeper/ProviderBizkeeperHanlder.java        |  50 ++
 .../bizkeeper/ReturnNullFallbackPolicy.java        |  37 +
 .../bizkeeper/ThrowExceptionFallbackPolicy.java    |  40 ++
 .../main/resources/META-INF/spring/cse.bean.xml    |   2 +-
 .../src/main/resources/config/cse.handler.xml      |   4 +-
 .../bizkeeper/TestBizkeeperCommand.java            | 229 -------
 .../bizkeeper/TestBizkeeperExceptionUtils.java     |  35 -
 .../bizkeeper/TestBizkeeperHandler.java            | 209 ------
 .../bizkeeper/TestBizkeeperRequestContext.java     |  50 --
 .../io/servicecomb/bizkeeper/TestCommandKey.java   |  58 --
 .../servicecomb/bizkeeper/TestConfiguration.java   |  65 --
 .../bizkeeper/TestConsumerBizkeeperHandler.java    |  49 --
 .../bizkeeper/TestFallbackPolicyManager.java       | 103 ---
 .../TestHystrixPropertiesStrategyExt.java          |  84 ---
 .../bizkeeper/TestProviderBizkeeperHandler.java    |  49 --
 .../bizkeeper/TestBizkeeperCommand.java            | 229 +++++++
 .../bizkeeper/TestBizkeeperExceptionUtils.java     |  34 +
 .../bizkeeper/TestBizkeeperHandler.java            | 208 ++++++
 .../bizkeeper/TestBizkeeperRequestContext.java     |  50 ++
 .../servicecomb/bizkeeper/TestCommandKey.java      |  57 ++
 .../servicecomb/bizkeeper/TestConfiguration.java   |  64 ++
 .../bizkeeper/TestConsumerBizkeeperHandler.java    |  48 ++
 .../bizkeeper/TestFallbackPolicyManager.java       | 103 +++
 .../TestHystrixPropertiesStrategyExt.java          |  83 +++
 .../bizkeeper/TestProviderBizkeeperHandler.java    |  48 ++
 .../src/main/java/io/servicecomb/qps/Config.java   |  67 --
 .../qps/ConsumerQpsControllerManager.java          | 158 -----
 .../qps/ConsumerQpsFlowControlHandler.java         |  54 --
 .../qps/ProviderQpsControllerManager.java          | 144 ----
 .../qps/ProviderQpsFlowControlHandler.java         |  62 --
 .../src/main/java/io/servicecomb/qps/QpsConst.java |  28 -
 .../java/io/servicecomb/qps/QpsController.java     |  73 --
 .../java/org/apache/servicecomb/qps/Config.java    |  67 ++
 .../qps/ConsumerQpsControllerManager.java          | 157 +++++
 .../qps/ConsumerQpsFlowControlHandler.java         |  54 ++
 .../qps/ProviderQpsControllerManager.java          | 143 ++++
 .../qps/ProviderQpsFlowControlHandler.java         |  62 ++
 .../java/org/apache/servicecomb/qps/QpsConst.java  |  28 +
 .../org/apache/servicecomb/qps/QpsController.java  |  73 ++
 .../src/main/resources/config/cse.handler.xml      |   4 +-
 .../test/java/io/servicecomb/qps/TestConfig.java   |  44 --
 .../qps/TestConsumerQpsControllermanager.java      |  75 --
 .../qps/TestConsumerQpsFlowControlHandler.java     | 123 ----
 .../qps/TestProviderQpsControllermanager.java      |  44 --
 .../qps/TestProviderQpsFlowControlHandler.java     | 156 -----
 .../src/test/java/io/servicecomb/qps/Utils.java    |  37 -
 .../org/apache/servicecomb/qps/TestConfig.java     |  44 ++
 .../qps/TestConsumerQpsControllermanager.java      |  75 ++
 .../qps/TestConsumerQpsFlowControlHandler.java     | 123 ++++
 .../qps/TestProviderQpsControllermanager.java      |  44 ++
 .../qps/TestProviderQpsFlowControlHandler.java     | 156 +++++
 .../java/org/apache/servicecomb/qps/Utils.java     |  37 +
 .../io/servicecomb/loadbalance/BeansHolder.java    |  35 -
 .../io/servicecomb/loadbalance/Configuration.java  | 274 --------
 .../java/io/servicecomb/loadbalance/CseServer.java | 107 ---
 .../loadbalance/DefaultRetryExtensionsFactory.java |  48 --
 .../servicecomb/loadbalance/ExtensionsFactory.java |  39 --
 .../servicecomb/loadbalance/ExtensionsManager.java |  75 --
 .../io/servicecomb/loadbalance/LoadBalancer.java   | 125 ----
 .../loadbalance/LoadbalanceClientConfig.java       |  33 -
 .../loadbalance/LoadbalanceHandler.java            | 356 ----------
 .../RuleClassNameExtentionsFactory.java            |  61 --
 .../loadbalance/RuleNameExtentionsFactory.java     |  64 --
 .../loadbalance/ServerListFilterExt.java           |  45 --
 .../loadbalance/SessionStickinessRule.java         | 148 ----
 .../exception/LoadbalanceExceptionUtils.java       |  36 -
 .../filter/CseServerDiscoveryFilter.java           |  37 -
 .../filter/IsolationServerListFilter.java          | 129 ----
 .../filter/SimpleTransactionControlFilter.java     |  58 --
 .../filter/TransactionControlFilter.java           |  46 --
 .../filter/ZoneAwareServerListFilterExt.java       |  75 --
 .../servicecomb/loadbalance/BeansHolder.java       |  35 +
 .../servicecomb/loadbalance/Configuration.java     | 274 ++++++++
 .../apache/servicecomb/loadbalance/CseServer.java  | 107 +++
 .../loadbalance/DefaultRetryExtensionsFactory.java |  48 ++
 .../servicecomb/loadbalance/ExtensionsFactory.java |  39 ++
 .../servicecomb/loadbalance/ExtensionsManager.java |  75 ++
 .../servicecomb/loadbalance/LoadBalancer.java      | 125 ++++
 .../loadbalance/LoadbalanceClientConfig.java       |  33 +
 .../loadbalance/LoadbalanceHandler.java            | 356 ++++++++++
 .../RuleClassNameExtentionsFactory.java            |  61 ++
 .../loadbalance/RuleNameExtentionsFactory.java     |  67 ++
 .../loadbalance/ServerListFilterExt.java           |  45 ++
 .../loadbalance/SessionStickinessRule.java         | 148 ++++
 .../exception/LoadbalanceExceptionUtils.java       |  36 +
 .../filter/CseServerDiscoveryFilter.java           |  37 +
 .../filter/IsolationServerListFilter.java          | 128 ++++
 .../filter/SimpleTransactionControlFilter.java     |  58 ++
 .../filter/TransactionControlFilter.java           |  46 ++
 .../filter/ZoneAwareServerListFilterExt.java       |  75 ++
 .../main/resources/META-INF/spring/cse.bean.xml    |   2 +-
 .../src/main/resources/config/cse.handler.xml      |   2 +-
 .../loadbalance/MyServerListFilterExt.java         |  46 --
 .../servicecomb/loadbalance/TestConfiguration.java | 168 -----
 .../io/servicecomb/loadbalance/TestCseServer.java  |  94 ---
 .../loadbalance/TestExtensionsManager.java         | 115 ----
 .../servicecomb/loadbalance/TestLoadBalancer.java  | 150 ----
 .../loadbalance/TestLoadbalanceClientConfig.java   |  37 -
 .../loadbalance/TestLoadbalanceHandler.java        | 452 ------------
 .../loadbalance/TestSessionSticknessRule.java      | 233 -------
 .../exception/TestLoadbalanceExceptionUtils.java   |  42 --
 .../filter/TestCseServerDiscoveryFilter.java       |  81 ---
 .../filter/TestIsolationServerListFilter.java      | 166 -----
 .../filter/TestSimpleTransactionControlFilter.java |  91 ---
 .../filter/TestZoneAwareServerListFilterExt.java   | 141 ----
 .../loadbalance/MyServerListFilterExt.java         |  46 ++
 .../servicecomb/loadbalance/TestConfiguration.java | 168 +++++
 .../servicecomb/loadbalance/TestCseServer.java     |  93 +++
 .../loadbalance/TestExtensionsManager.java         | 115 ++++
 .../servicecomb/loadbalance/TestLoadBalancer.java  | 149 ++++
 .../loadbalance/TestLoadbalanceClientConfig.java   |  37 +
 .../loadbalance/TestLoadbalanceHandler.java        | 453 ++++++++++++
 .../loadbalance/TestSessionSticknessRule.java      | 233 +++++++
 .../exception/TestLoadbalanceExceptionUtils.java   |  41 ++
 .../filter/TestCseServerDiscoveryFilter.java       |  81 +++
 .../filter/TestIsolationServerListFilter.java      | 166 +++++
 .../filter/TestSimpleTransactionControlFilter.java |  90 +++
 .../filter/TestZoneAwareServerListFilterExt.java   | 141 ++++
 .../main/java/io/servicecomb/AuthHandlerBoot.java  |  52 --
 .../authentication/RSAAuthenticationToken.java     | 117 ----
 .../consumer/ConsumerAuthHandler.java              |  54 --
 .../consumer/RSAConsumerTokenManager.java          |  87 ---
 .../provider/ProviderAuthHanlder.java              |  42 --
 .../provider/RSAProviderTokenManager.java          |  92 ---
 .../org/apache/servicecomb/AuthHandlerBoot.java    |  52 ++
 .../authentication/RSAAuthenticationToken.java     | 117 ++++
 .../consumer/ConsumerAuthHandler.java              |  53 ++
 .../consumer/RSAConsumerTokenManager.java          |  86 +++
 .../provider/ProviderAuthHanlder.java              |  42 ++
 .../provider/RSAProviderTokenManager.java          |  91 +++
 .../src/main/resources/config/cse.handler.xml      |   4 +-
 .../authentication/TestAuthHandlerBoot.java        |  54 --
 .../authentication/TestConsumerAuthHandler.java    |  65 --
 .../authentication/TestProviderAuthHanlder.java    |  47 --
 .../authentication/TestRSAAuthenticationToken.java |  80 ---
 .../TestRSAProviderTokenManager.java               | 102 ---
 .../authentication/TestAuthHandlerBoot.java        |  54 ++
 .../authentication/TestConsumerAuthHandler.java    |  64 ++
 .../authentication/TestProviderAuthHanlder.java    |  46 ++
 .../authentication/TestRSAAuthenticationToken.java |  79 +++
 .../TestRSAProviderTokenManager.java               | 101 +++
 .../tracing/zipkin/ConsumerInvocationAdapter.java  |  58 --
 .../tracing/zipkin/ProviderInvocationAdapter.java  |  58 --
 .../tracing/zipkin/TracingConfiguration.java       | 100 ---
 .../tracing/zipkin/ZipkinConsumerDelegate.java     |  67 --
 .../zipkin/ZipkinConsumerTracingHandler.java       |  32 -
 .../tracing/zipkin/ZipkinProviderDelegate.java     |  67 --
 .../zipkin/ZipkinProviderTracingHandler.java       |  32 -
 .../tracing/zipkin/ZipkinTracingDelegate.java      |  34 -
 .../tracing/zipkin/ZipkinTracingHandler.java       |  76 --
 .../tracing/zipkin/ConsumerInvocationAdapter.java  |  59 ++
 .../tracing/zipkin/ProviderInvocationAdapter.java  |  59 ++
 .../tracing/zipkin/TracingConfiguration.java       |  99 +++
 .../tracing/zipkin/ZipkinConsumerDelegate.java     |  68 ++
 .../zipkin/ZipkinConsumerTracingHandler.java       |  33 +
 .../tracing/zipkin/ZipkinProviderDelegate.java     |  68 ++
 .../zipkin/ZipkinProviderTracingHandler.java       |  33 +
 .../tracing/zipkin/ZipkinTracingDelegate.java      |  35 +
 .../tracing/zipkin/ZipkinTracingHandler.java       |  76 ++
 .../src/main/resources/config/cse.handler.xml      |   4 +-
 .../tracing/zipkin/ZipkinTracingHandlerTest.java   | 110 ---
 .../tracing/zipkin/ZipkinTracingHandlerTest.java   | 110 +++
 .../demo/jaxrs/tests/JaxrsIntegrationTestBase.java | 347 ----------
 .../demo/jaxrs/tests/JaxrsTestMain.java            |  29 -
 .../demo/jaxrs/tests/RawJaxrsIntegrationTest.java  |  28 -
 .../demo/jaxrs/tests/endpoints/CodeFirstJaxrs.java |  84 ---
 .../endpoints/EnglishGreetingRestEndpoint.java     |  46 --
 .../jaxrs/tests/endpoints/SchemaFirstJaxrs.java    |  57 --
 .../tests/endpoints/SchemaFirstJaxrsImpl.java      |  54 --
 .../endpoints/SomeAbstractJaxrsRestEndpoint.java   | 133 ----
 .../demo/jaxrs/tests/JaxrsIntegrationTestBase.java | 346 ++++++++++
 .../demo/jaxrs/tests/JaxrsTestMain.java            |  29 +
 .../demo/jaxrs/tests/RawJaxrsIntegrationTest.java  |  28 +
 .../demo/jaxrs/tests/endpoints/CodeFirstJaxrs.java |  85 +++
 .../endpoints/EnglishGreetingRestEndpoint.java     |  46 ++
 .../jaxrs/tests/endpoints/SchemaFirstJaxrs.java    |  57 ++
 .../tests/endpoints/SchemaFirstJaxrsImpl.java      |  54 ++
 .../endpoints/SomeAbstractJaxrsRestEndpoint.java   | 133 ++++
 .../resources/microservices/jaxrs/schemaFirst.yaml |   8 +-
 .../demo/pojo/test/PojoIntegrationTestBase.java    | 317 ---------
 .../io/servicecomb/demo/pojo/test/PojoService.java |  59 --
 .../servicecomb/demo/pojo/test/PojoTestMain.java   |  29 -
 .../demo/pojo/test/RawPojoIntegrationTest.java     |  29 -
 .../servicecomb/demo/pojo/test/SomePojoConfig.java |  63 --
 .../demo/pojo/test/endpoints/CodeFirstPojo.java    |  90 ---
 .../demo/pojo/test/endpoints/HelloImpl.java        |  40 --
 .../demo/pojo/test/endpoints/SmartCareImpl.java    |  60 --
 .../demo/pojo/test/endpoints/TestImpl.java         | 109 ---
 .../demo/pojo/test/PojoIntegrationTestBase.java    | 316 +++++++++
 .../servicecomb/demo/pojo/test/PojoService.java    |  58 ++
 .../servicecomb/demo/pojo/test/PojoTestMain.java   |  29 +
 .../demo/pojo/test/RawPojoIntegrationTest.java     |  29 +
 .../servicecomb/demo/pojo/test/SomePojoConfig.java |  62 ++
 .../demo/pojo/test/endpoints/CodeFirstPojo.java    |  90 +++
 .../demo/pojo/test/endpoints/HelloImpl.java        |  40 ++
 .../demo/pojo/test/endpoints/SmartCareImpl.java    |  59 ++
 .../demo/pojo/test/endpoints/TestImpl.java         | 109 +++
 .../jaxrs/tests/JaxrsSpringIntegrationTest.java    |  28 -
 .../demo/jaxrs/tests/JaxrsSpringMain.java          |  31 -
 .../jaxrs/tests/JaxrsSpringIntegrationTest.java    |  28 +
 .../demo/jaxrs/tests/JaxrsSpringMain.java          |  30 +
 .../demo/pojo/test/PojoSpringIntegrationTest.java  |  33 -
 .../servicecomb/demo/pojo/test/PojoSpringMain.java |  32 -
 .../demo/pojo/test/PojoSpringIntegrationTest.java  |  33 +
 .../servicecomb/demo/pojo/test/PojoSpringMain.java |  31 +
 .../tests/SpringMvcSpringIntegrationTest.java      |  42 --
 .../demo/springmvc/tests/SpringMvcSpringMain.java  |  27 -
 ...SimplifiedMappingAnnotationIntegrationTest.java |  43 --
 .../tests/SpringMvcSpringIntegrationTest.java      |  42 ++
 .../demo/springmvc/tests/SpringMvcSpringMain.java  |  26 +
 ...SimplifiedMappingAnnotationIntegrationTest.java |  43 ++
 .../cloud/zuul/tracing/LoggingFilterConfig.java    |  79 ---
 .../zuul/tracing/SpringCloudZuulTracingTest.java   |  81 ---
 .../cloud/zuul/tracing/TracedController.java       |  49 --
 .../spring/cloud/zuul/tracing/TracedZuulMain.java  |  34 -
 .../cloud/zuul/tracing/LoggingFilterConfig.java    |  79 +++
 .../zuul/tracing/SpringCloudZuulTracingTest.java   |  80 +++
 .../cloud/zuul/tracing/TracedController.java       |  48 ++
 .../spring/cloud/zuul/tracing/TracedZuulMain.java  |  33 +
 .../tests/RawSpringMvcIntegrationTest.java         |  42 --
 ...SimplifiedMappingAnnotationIntegrationTest.java |  43 --
 .../tests/SpringMvcIntegrationTestBase.java        | 505 --------------
 .../demo/springmvc/tests/SpringMvcTestMain.java    |  29 -
 .../tests/endpoints/CodeFirstSpringmvc.java        | 170 -----
 .../tests/endpoints/CodeFirstSpringmvcBase.java    | 146 ----
 ...eFirstSpringmvcSimplifiedMappingAnnotation.java | 174 -----
 .../springmvc/tests/endpoints/ControllerBase.java  |  50 --
 .../springmvc/tests/endpoints/ControllerImpl.java  |  67 --
 .../ControllerSimplifiedMappingAnnotationImpl.java |  68 --
 .../endpoints/EnglishGreetingRestEndpoint.java     |  46 --
 .../endpoints/EnglishGreetingRestEndpointBase.java |  29 -
 ...ingSimplifiedMappingAnnotationRestEndpoint.java |  46 --
 .../endpoints/FrenchGreetingRestEndpoint.java      |  39 --
 .../endpoints/FrenchGreetingRestEndpointBase.java  |  24 -
 ...ingSimplifiedMappingAnnotationRestEndpoint.java |  39 --
 .../tests/RawSpringMvcIntegrationTest.java         |  41 ++
 ...SimplifiedMappingAnnotationIntegrationTest.java |  42 ++
 .../tests/SpringMvcIntegrationTestBase.java        | 504 ++++++++++++++
 .../demo/springmvc/tests/SpringMvcTestMain.java    |  29 +
 .../tests/endpoints/CodeFirstSpringmvc.java        | 171 +++++
 .../tests/endpoints/CodeFirstSpringmvcBase.java    | 145 ++++
 ...eFirstSpringmvcSimplifiedMappingAnnotation.java | 175 +++++
 .../springmvc/tests/endpoints/ControllerBase.java  |  50 ++
 .../springmvc/tests/endpoints/ControllerImpl.java  |  66 ++
 .../ControllerSimplifiedMappingAnnotationImpl.java |  67 ++
 .../endpoints/EnglishGreetingRestEndpoint.java     |  45 ++
 .../endpoints/EnglishGreetingRestEndpointBase.java |  29 +
 ...ingSimplifiedMappingAnnotationRestEndpoint.java |  45 ++
 .../endpoints/FrenchGreetingRestEndpoint.java      |  38 +
 .../endpoints/FrenchGreetingRestEndpointBase.java  |  24 +
 ...ingSimplifiedMappingAnnotationRestEndpoint.java |  38 +
 .../io/servicecomb/tests/EmbeddedAppender.java     | 105 ---
 .../java/io/servicecomb/tests/Log4jConfig.java     |  39 --
 .../tests/tracing/TraceContextConfig.java          | 103 ---
 .../servicecomb/tests/tracing/TracingTestBase.java | 114 ---
 .../apache/servicecomb/tests/EmbeddedAppender.java | 105 +++
 .../org/apache/servicecomb/tests/Log4jConfig.java  |  39 ++
 .../tests/tracing/TraceContextConfig.java          | 103 +++
 .../servicecomb/tests/tracing/TracingTestBase.java | 114 +++
 .../io/servicecomb/tests/tracing/SlowRepo.java     |  22 -
 .../io/servicecomb/tests/tracing/SlowRepoImpl.java |  39 --
 .../tests/tracing/SomeTracedController.java        |  53 --
 .../tests/tracing/TracedJaxrsController.java       |  57 --
 .../io/servicecomb/tests/tracing/TracedPojo.java   |  23 -
 .../tests/tracing/TracedPojoConfig.java            |  42 --
 .../servicecomb/tests/tracing/TracedPojoImpl.java  |  35 -
 .../servicecomb/tests/tracing/TracingTestMain.java |  27 -
 .../tracing/ZipkinTracingIntegrationTest.java      |  53 --
 .../apache/servicecomb/tests/tracing/SlowRepo.java |  22 +
 .../servicecomb/tests/tracing/SlowRepoImpl.java    |  38 +
 .../tests/tracing/SomeTracedController.java        |  52 ++
 .../tests/tracing/TracedJaxrsController.java       |  56 ++
 .../servicecomb/tests/tracing/TracedPojo.java      |  23 +
 .../tests/tracing/TracedPojoConfig.java            |  41 ++
 .../servicecomb/tests/tracing/TracedPojoImpl.java  |  34 +
 .../servicecomb/tests/tracing/TracingTestMain.java |  27 +
 .../tracing/ZipkinTracingIntegrationTest.java      |  57 ++
 .../io/servicecomb/metrics/common/CallMetric.java  |  61 --
 .../metrics/common/ConsumerInvocationMetric.java   |  59 --
 .../common/DefaultHealthCheckExtraData.java        |  69 --
 .../metrics/common/HealthCheckResult.java          |  56 --
 .../servicecomb/metrics/common/HealthChecker.java  |  24 -
 .../metrics/common/HealthCheckerPublisher.java     |  26 -
 .../servicecomb/metrics/common/InstanceMetric.java |  59 --
 .../metrics/common/InvocationMetric.java           |  37 -
 .../servicecomb/metrics/common/MetricsConst.java   |  28 -
 .../metrics/common/MetricsPublisher.java           |  59 --
 .../metrics/common/ProducerInvocationMetric.java   |  89 ---
 .../servicecomb/metrics/common/RegistryMetric.java |  92 ---
 .../servicecomb/metrics/common/SystemMetric.java   | 119 ----
 .../io/servicecomb/metrics/common/TimerMetric.java |  99 ---
 .../servicecomb/metrics/common/CallMetric.java     |  61 ++
 .../metrics/common/ConsumerInvocationMetric.java   |  59 ++
 .../common/DefaultHealthCheckExtraData.java        |  69 ++
 .../metrics/common/HealthCheckResult.java          |  56 ++
 .../servicecomb/metrics/common/HealthChecker.java  |  24 +
 .../metrics/common/HealthCheckerPublisher.java     |  26 +
 .../servicecomb/metrics/common/InstanceMetric.java |  59 ++
 .../metrics/common/InvocationMetric.java           |  37 +
 .../servicecomb/metrics/common/MetricsConst.java   |  28 +
 .../metrics/common/MetricsPublisher.java           |  59 ++
 .../metrics/common/ProducerInvocationMetric.java   |  89 +++
 .../servicecomb/metrics/common/RegistryMetric.java |  92 +++
 .../servicecomb/metrics/common/SystemMetric.java   | 119 ++++
 .../servicecomb/metrics/common/TimerMetric.java    |  99 +++
 .../io/servicecomb/metrics/core/MetricsConfig.java |  22 -
 .../core/event/DefaultEventListenerManager.java    |  41 --
 .../metrics/core/event/EventListenerManager.java   |  24 -
 .../event/InvocationFinishedEventListener.java     |  53 --
 .../InvocationStartProcessingEventListener.java    |  49 --
 .../core/event/InvocationStartedEventListener.java |  53 --
 .../health/DefaultMicroserviceHealthChecker.java   |  67 --
 .../metrics/core/monitor/CallMonitor.java          |  55 --
 .../core/monitor/ConsumerInvocationMonitor.java    |  47 --
 .../metrics/core/monitor/DefaultSystemMonitor.java | 106 ---
 .../metrics/core/monitor/InvocationMonitor.java    |  37 -
 .../core/monitor/ProducerInvocationMonitor.java    |  74 --
 .../metrics/core/monitor/RegistryMonitor.java      |  66 --
 .../metrics/core/monitor/SystemMonitor.java        |  44 --
 .../metrics/core/monitor/TimerMonitor.java         |  80 ---
 .../metrics/core/publish/DataSource.java           |  62 --
 .../metrics/core/publish/DefaultDataSource.java    |  99 ---
 .../core/publish/DefaultHealthCheckerManager.java  |  67 --
 .../publish/DefaultHealthCheckerPublisher.java     |  59 --
 .../core/publish/DefaultMetricsPublisher.java      |  66 --
 .../metrics/core/publish/HealthCheckerManager.java |  31 -
 .../servicecomb/metrics/core/MetricsConfig.java    |  22 +
 .../core/event/DefaultEventListenerManager.java    |  40 ++
 .../metrics/core/event/EventListenerManager.java   |  24 +
 .../event/InvocationFinishedEventListener.java     |  53 ++
 .../InvocationStartProcessingEventListener.java    |  49 ++
 .../core/event/InvocationStartedEventListener.java |  53 ++
 .../health/DefaultMicroserviceHealthChecker.java   |  66 ++
 .../metrics/core/monitor/CallMonitor.java          |  55 ++
 .../core/monitor/ConsumerInvocationMonitor.java    |  47 ++
 .../metrics/core/monitor/DefaultSystemMonitor.java | 105 +++
 .../metrics/core/monitor/InvocationMonitor.java    |  37 +
 .../core/monitor/ProducerInvocationMonitor.java    |  74 ++
 .../metrics/core/monitor/RegistryMonitor.java      |  65 ++
 .../metrics/core/monitor/SystemMonitor.java        |  44 ++
 .../metrics/core/monitor/TimerMonitor.java         |  80 +++
 .../metrics/core/publish/DataSource.java           |  62 ++
 .../metrics/core/publish/DefaultDataSource.java    |  98 +++
 .../core/publish/DefaultHealthCheckerManager.java  |  66 ++
 .../publish/DefaultHealthCheckerPublisher.java     |  59 ++
 .../core/publish/DefaultMetricsPublisher.java      |  66 ++
 .../metrics/core/publish/HealthCheckerManager.java |  31 +
 .../metrics/core/TestEventAndRunner.java           | 266 -------
 .../metrics/core/TestHealthCheckerManager.java     |  88 ---
 .../metrics/core/TestHealthCheckerPublisher.java   |  59 --
 .../io/servicecomb/metrics/core/TestPublisher.java |  58 --
 .../metrics/core/TestEventAndRunner.java           | 309 +++++++++
 .../metrics/core/TestHealthCheckerManager.java     |  88 +++
 .../metrics/core/TestHealthCheckerPublisher.java   |  58 ++
 .../servicecomb/metrics/core/TestPublisher.java    |  57 ++
 .../metrics/prometheus/MetricsCollector.java       |  77 ---
 .../metrics/prometheus/MetricsPublisher.java       |  71 --
 .../metrics/prometheus/MetricsCollector.java       |  79 +++
 .../metrics/prometheus/MetricsPublisher.java       |  71 ++
 .../servicecomb/provider/pojo/InstanceFactory.java |  24 -
 .../java/io/servicecomb/provider/pojo/Invoker.java | 134 ----
 .../io/servicecomb/provider/pojo/PojoConfig.java   |  49 --
 .../io/servicecomb/provider/pojo/PojoConst.java    |  41 --
 .../provider/pojo/PojoConsumerProvider.java        |  32 -
 .../provider/pojo/PojoProducerProvider.java        | 105 ---
 .../io/servicecomb/provider/pojo/RpcReference.java |  34 -
 .../io/servicecomb/provider/pojo/RpcSchema.java    |  37 -
 .../pojo/instance/PojoInstanceFactory.java         |  38 -
 .../pojo/instance/SpringInstanceFactory.java       |  39 --
 .../provider/pojo/reference/PojoReferenceMeta.java |  87 ---
 .../pojo/reference/ReferenceDefParser.java         |  58 --
 .../pojo/reference/RpcReferenceProcessor.java      |  80 ---
 .../provider/pojo/schema/PojoProducerMeta.java     |  44 --
 .../provider/pojo/schema/PojoProducers.java        |  89 ---
 .../provider/pojo/schema/SchemaDefParser.java      |  49 --
 .../servicecomb/provider/pojo/InstanceFactory.java |  24 +
 .../apache/servicecomb/provider/pojo/Invoker.java  | 133 ++++
 .../servicecomb/provider/pojo/PojoConfig.java      |  49 ++
 .../servicecomb/provider/pojo/PojoConst.java       |  41 ++
 .../provider/pojo/PojoConsumerProvider.java        |  31 +
 .../provider/pojo/PojoProducerProvider.java        | 104 +++
 .../servicecomb/provider/pojo/RpcReference.java    |  34 +
 .../servicecomb/provider/pojo/RpcSchema.java       |  37 +
 .../pojo/instance/PojoInstanceFactory.java         |  38 +
 .../pojo/instance/SpringInstanceFactory.java       |  39 ++
 .../provider/pojo/reference/PojoReferenceMeta.java |  86 +++
 .../pojo/reference/ReferenceDefParser.java         |  57 ++
 .../pojo/reference/RpcReferenceProcessor.java      |  79 +++
 .../provider/pojo/schema/PojoProducerMeta.java     |  43 ++
 .../provider/pojo/schema/PojoProducers.java        |  88 +++
 .../provider/pojo/schema/SchemaDefParser.java      |  48 ++
 .../src/main/resources/META-INF/spring.handlers    |   2 +-
 .../resources/META-INF/spring/namespace.properties |   4 +-
 .../io/servicecomb/provider/common/MockUtil.java   | 195 ------
 .../java/io/servicecomb/provider/pojo/IPerson.java |  22 -
 .../java/io/servicecomb/provider/pojo/Person.java  |  31 -
 .../servicecomb/provider/pojo/PersonReference.java |  23 -
 .../io/servicecomb/provider/pojo/TestInvoker.java  | 253 -------
 .../provider/pojo/TestPojoConsumerProvider.java    |  32 -
 .../provider/pojo/TestPojoProducerProvider.java    |  84 ---
 .../pojo/instance/TestPojoInstanceFactory.java     |  47 --
 .../pojo/instance/TestSpringInstanceFactory.java   |  51 --
 .../pojo/reference/PojoReferenceMetaTest.java      |  64 --
 .../pojo/reference/TestReferenceDefParser.java     |  41 --
 .../pojo/reference/TestRpcReferenceProcessor.java  |  65 --
 .../provider/pojo/schema/TestPojoProducers.java    |  74 --
 .../provider/pojo/schema/TestPojoSchemaMeta.java   |  67 --
 .../provider/pojo/schema/TestSchemaDefParser.java  |  39 --
 .../servicecomb/provider/common/MockUtil.java      | 195 ++++++
 .../apache/servicecomb/provider/pojo/IPerson.java  |  22 +
 .../apache/servicecomb/provider/pojo/Person.java   |  31 +
 .../servicecomb/provider/pojo/PersonReference.java |  23 +
 .../servicecomb/provider/pojo/TestInvoker.java     | 254 +++++++
 .../provider/pojo/TestPojoConsumerProvider.java    |  32 +
 .../provider/pojo/TestPojoProducerProvider.java    |  84 +++
 .../pojo/instance/TestPojoInstanceFactory.java     |  46 ++
 .../pojo/instance/TestSpringInstanceFactory.java   |  50 ++
 .../pojo/reference/PojoReferenceMetaTest.java      |  63 ++
 .../pojo/reference/TestReferenceDefParser.java     |  40 ++
 .../pojo/reference/TestRpcReferenceProcessor.java  |  65 ++
 .../provider/pojo/schema/TestPojoProducers.java    |  74 ++
 .../provider/pojo/schema/TestPojoSchemaMeta.java   |  67 ++
 .../provider/pojo/schema/TestSchemaDefParser.java  |  39 ++
 .../common/InvocationToHttpServletRequest.java     | 128 ----
 .../rest/common/ProducerHttpRequestArgMapper.java  |  44 --
 .../ProducerHttpRequestArgMapperFactory.java       |  41 --
 .../provider/rest/common/RestConsumerProvider.java |  31 -
 .../provider/rest/common/RestProducerProvider.java |  56 --
 .../provider/rest/common/RestProducers.java        |  61 --
 .../provider/rest/common/RestSchema.java           |  37 -
 .../common/InvocationToHttpServletRequest.java     | 129 ++++
 .../rest/common/ProducerHttpRequestArgMapper.java  |  44 ++
 .../ProducerHttpRequestArgMapperFactory.java       |  40 ++
 .../provider/rest/common/RestConsumerProvider.java |  30 +
 .../provider/rest/common/RestProducerProvider.java |  55 ++
 .../provider/rest/common/RestProducers.java        |  60 ++
 .../provider/rest/common/RestSchema.java           |  37 +
 .../io/servicecomb/provider/common/MockUtil.java   |  72 --
 .../common/TestInvocationToHttpServletRequest.java | 326 ---------
 .../common/TestProducerHttpRequestArgMapper.java   |  74 --
 .../rest/common/TestRestConsumerProvider.java      |  33 -
 .../provider/rest/common/TestRestProducers.java    |  56 --
 .../rest/common/TestRestServiceProvider.java       |  73 --
 .../servicecomb/provider/common/MockUtil.java      |  72 ++
 .../common/TestInvocationToHttpServletRequest.java | 326 +++++++++
 .../common/TestProducerHttpRequestArgMapper.java   |  74 ++
 .../rest/common/TestRestConsumerProvider.java      |  32 +
 .../provider/rest/common/TestRestProducers.java    |  55 ++
 .../rest/common/TestRestServiceProvider.java       |  73 ++
 .../reference/AcceptableRestTemplate.java          |  28 -
 .../reference/CommonToHttpServletRequest.java      | 218 ------
 .../springmvc/reference/CseClientHttpRequest.java  | 176 -----
 .../reference/CseClientHttpRequestFactory.java     |  32 -
 .../springmvc/reference/CseClientHttpResponse.java | 111 ---
 .../springmvc/reference/CseHttpEntity.java         |  63 --
 .../springmvc/reference/CseRequestCallback.java    |  49 --
 .../springmvc/reference/CseRestTemplate.java       |  59 --
 .../springmvc/reference/CseUriTemplateHandler.java |  78 ---
 .../provider/springmvc/reference/RequestMeta.java  |  65 --
 .../springmvc/reference/RestTemplateBuilder.java   |  35 -
 .../reference/RestTemplateCopyHeaderFilter.java    |  62 --
 .../springmvc/reference/RestTemplateWrapper.java   | 323 ---------
 .../reference/ServiceCombRestTemplateConfig.java   |  30 -
 ...UrlWithServiceNameClientHttpRequestFactory.java |  45 --
 .../reference/AcceptableRestTemplate.java          |  28 +
 .../reference/CommonToHttpServletRequest.java      | 217 ++++++
 .../springmvc/reference/CseClientHttpRequest.java  | 176 +++++
 .../reference/CseClientHttpRequestFactory.java     |  32 +
 .../springmvc/reference/CseClientHttpResponse.java | 110 +++
 .../springmvc/reference/CseHttpEntity.java         |  62 ++
 .../springmvc/reference/CseRequestCallback.java    |  49 ++
 .../springmvc/reference/CseRestTemplate.java       |  58 ++
 .../springmvc/reference/CseUriTemplateHandler.java |  77 +++
 .../provider/springmvc/reference/RequestMeta.java  |  65 ++
 .../springmvc/reference/RestTemplateBuilder.java   |  35 +
 .../reference/RestTemplateCopyHeaderFilter.java    |  61 ++
 .../springmvc/reference/RestTemplateWrapper.java   | 323 +++++++++
 .../reference/ServiceCombRestTemplateConfig.java   |  30 +
 ...UrlWithServiceNameClientHttpRequestFactory.java |  45 ++
 .../web/client/CseHttpMessageConverter.java        |   5 +-
 ...servicecomb.common.rest.filter.HttpClientFilter |  18 -
 ...servicecomb.common.rest.filter.HttpClientFilter |  18 +
 .../io/servicecomb/provider/common/MockUtil.java   | 360 ----------
 .../ServiceCombRestTemplateConfigTest.java         |  36 -
 .../reference/TestCommonToHttpServletRequest.java  | 239 -------
 .../reference/TestCseClientHttpRequest.java        | 119 ----
 .../reference/TestCseClientHttpRequestFactory.java |  40 --
 .../reference/TestCseClientHttpResponse.java       |  65 --
 .../springmvc/reference/TestCseHttpEntity.java     |  40 --
 .../reference/TestCseRequestCallback.java          |  49 --
 .../springmvc/reference/TestCseRestTemplate.java   |  29 -
 .../reference/TestCseUriTemplateHandler.java       |  43 --
 .../springmvc/reference/TestRequestMeta.java       |  71 --
 .../reference/TestRestTemplateBuilder.java         |  63 --
 .../TestRestTemplateCopyHeaderFilter.java          | 103 ---
 .../reference/TestRestTemplateWrapper.java         | 446 ------------
 ...UrlWithServiceNameClientHttpRequestFactory.java |  79 ---
 .../servicecomb/provider/common/MockUtil.java      | 360 ++++++++++
 .../ServiceCombRestTemplateConfigTest.java         |  36 +
 .../reference/TestCommonToHttpServletRequest.java  | 238 +++++++
 .../reference/TestCseClientHttpRequest.java        | 119 ++++
 .../reference/TestCseClientHttpRequestFactory.java |  40 ++
 .../reference/TestCseClientHttpResponse.java       |  64 ++
 .../springmvc/reference/TestCseHttpEntity.java     |  39 ++
 .../reference/TestCseRequestCallback.java          |  49 ++
 .../springmvc/reference/TestCseRestTemplate.java   |  29 +
 .../reference/TestCseUriTemplateHandler.java       |  43 ++
 .../springmvc/reference/TestRequestMeta.java       |  70 ++
 .../reference/TestRestTemplateBuilder.java         |  63 ++
 .../TestRestTemplateCopyHeaderFilter.java          | 103 +++
 .../reference/TestRestTemplateWrapper.java         | 446 ++++++++++++
 ...UrlWithServiceNameClientHttpRequestFactory.java |  79 +++
 .../web/client/TestCseHttpMessageConverter.java    |   5 +-
 samples/auth-sample/auth-consumer/pom.xml          |  71 +-
 .../springmvc/consumer/AuthConsumerMain.java       |  56 --
 .../springmvc/consumer/AuthConsumerMain.java       |  55 ++
 samples/auth-sample/auth-provider/pom.xml          |  68 +-
 .../springmvc/provider/AuthProviderMain.java       |  29 -
 .../springmvc/provider/SpringmvcHelloImpl.java     |  47 --
 .../springmvc/provider/AuthProviderMain.java       |  29 +
 .../springmvc/provider/SpringmvcHelloImpl.java     |  46 ++
 .../META-INF/spring/pojo.provider.bean.xml         |   2 +-
 samples/auth-sample/pom.xml                        |   7 +-
 samples/bmi/calculator/pom.xml                     |   3 +-
 .../io/servicecomb/samples/bmi/BMIViewObject.java  |  60 --
 .../samples/bmi/CalculatorApplication.java         |  32 -
 .../samples/bmi/CalculatorEndpoint.java            |  29 -
 .../samples/bmi/CalculatorRestEndpoint.java        |  54 --
 .../servicecomb/samples/bmi/CalculatorService.java |  29 -
 .../samples/bmi/CalculatorServiceImpl.java         |  44 --
 .../samples/bmi/InstanceInfoService.java           |  26 -
 .../samples/bmi/InstanceInfoServiceImpl.java       |  42 --
 .../servicecomb/samples/bmi/BMIViewObject.java     |  60 ++
 .../samples/bmi/CalculatorApplication.java         |  31 +
 .../samples/bmi/CalculatorEndpoint.java            |  29 +
 .../samples/bmi/CalculatorRestEndpoint.java        |  54 ++
 .../servicecomb/samples/bmi/CalculatorService.java |  29 +
 .../samples/bmi/CalculatorServiceImpl.java         |  44 ++
 .../samples/bmi/InstanceInfoService.java           |  26 +
 .../samples/bmi/InstanceInfoServiceImpl.java       |  41 ++
 samples/bmi/pom.xml                                |   2 +-
 samples/bmi/webapp/pom.xml                         |   3 +-
 .../samples/bmi/GatewayApplication.java            |  33 -
 .../samples/bmi/GatewayApplication.java            |  32 +
 .../codefirst-sample/codefirst-consumer/pom.xml    |  70 +-
 .../codefirst/consumer/CodeFirstConsumerMain.java  |  55 --
 .../codefirst/consumer/CodeFirstConsumerMain.java  |  54 ++
 .../META-INF/spring/pojo.consumer.bean.xml         |   2 +-
 .../codefirst-sample/codefirst-provider/pom.xml    |  78 +--
 .../provider/CodeFirstJaxrsHelloImpl.java          |  48 --
 .../codefirst/provider/CodeFirstPojoHelloImpl.java |  35 -
 .../codefirst/provider/CodeFirstProviderMain.java  |  29 -
 .../provider/CodeFirstSpringmvcHelloImpl.java      |  47 --
 .../provider/CodeFirstJaxrsHelloImpl.java          |  48 ++
 .../codefirst/provider/CodeFirstPojoHelloImpl.java |  35 +
 .../codefirst/provider/CodeFirstProviderMain.java  |  29 +
 .../provider/CodeFirstSpringmvcHelloImpl.java      |  46 ++
 .../META-INF/spring/pojo.provider.bean.xml         |   2 +-
 samples/codefirst-sample/pom.xml                   |  38 +-
 samples/common-schema/pom.xml                      |   3 +-
 .../servicecomb/samples/common/schema/Hello.java   |  27 -
 .../samples/common/schema/models/Person.java       |  30 -
 .../servicecomb/samples/common/schema/Hello.java   |  27 +
 .../samples/common/schema/models/Person.java       |  30 +
 samples/config-apollo-sample/pom.xml               |   3 +-
 .../src/main/java/MainServer.java                  |   6 +-
 .../custom-handler-consumer/pom.xml                |  78 +--
 .../consumer/CustomHandlerCustomerMain.java        |  45 --
 .../customerhandler/handlers/MyHandler.java        |  41 --
 .../consumer/CustomHandlerCustomerMain.java        |  44 ++
 .../customerhandler/handlers/MyHandler.java        |  40 ++
 .../META-INF/spring/pojo.consumer.bean.xml         |   2 +-
 .../src/main/resources/config/cse.handler.xml      |   2 +-
 .../custom-handler-provider/pom.xml                |  78 +--
 .../provider/CustomHandlerProviderMain.java        |  30 -
 .../customerhandler/provider/HelloImpl.java        |  37 -
 .../provider/CustomHandlerProviderMain.java        |  30 +
 .../customerhandler/provider/HelloImpl.java        |  37 +
 .../META-INF/spring/pojo.provider.bean.xml         |   2 +-
 samples/custom-handler-sample/pom.xml              |  28 +-
 .../samples/jaxrs/consumer/JaxrsConsumerMain.java  |  45 --
 .../samples/jaxrs/consumer/JaxrsConsumerMain.java  |  44 ++
 .../META-INF/spring/pojo.consumer.bean.xml         |   2 +-
 .../main/resources/microservices/hello/hello.yaml  |   2 +-
 .../samples/jaxrs/provider/JaxrsHelloImpl.java     |  48 --
 .../samples/jaxrs/provider/JaxrsProviderMain.java  |  29 -
 .../samples/jaxrs/provider/JaxrsHelloImpl.java     |  48 ++
 .../samples/jaxrs/provider/JaxrsProviderMain.java  |  29 +
 .../META-INF/spring/pojo.provider.bean.xml         |   2 +-
 .../main/resources/microservices/hello/hello.yaml  |   2 +-
 .../CustomHealthCheckerAnnotation.java             |  37 -
 .../ExtendHealthCheckApplication.java              |  31 -
 .../extendhealthcheck/MySqlHealthChecker.java      |  54 --
 .../SomeServiceWithHealthCheckerManager.java       |  36 -
 .../CustomHealthCheckerAnnotation.java             |  36 +
 .../ExtendHealthCheckApplication.java              |  30 +
 .../extendhealthcheck/MySqlHealthChecker.java      |  54 ++
 .../SomeServiceWithHealthCheckerManager.java       |  35 +
 .../samples/mwf/Log4JMetricsFileWriter.java        |  79 ---
 .../samples/mwf/ServiceApplication.java            |  31 -
 .../io/servicecomb/samples/mwf/SimpleService.java  |  36 -
 .../samples/mwf/Log4JMetricsFileWriter.java        |  78 +++
 .../samples/mwf/ServiceApplication.java            |  30 +
 .../servicecomb/samples/mwf/SimpleService.java     |  35 +
 .../samples/mwf/Log4J2MetricsFileWriter.java       | 105 ---
 .../samples/mwf/ServiceApplication.java            |  31 -
 .../io/servicecomb/samples/mwf/SimpleService.java  |  36 -
 .../samples/mwf/Log4J2MetricsFileWriter.java       | 104 +++
 .../samples/mwf/ServiceApplication.java            |  30 +
 .../servicecomb/samples/mwf/SimpleService.java     |  35 +
 .../samples/mwf/FileContentConvertor.java          |  27 -
 .../samples/mwf/FileContentFormatter.java          |  24 -
 .../samples/mwf/MetricsBootListener.java           |  41 --
 .../servicecomb/samples/mwf/MetricsFileWriter.java |  22 -
 .../samples/mwf/SimpleFileContentConvertor.java    |  60 --
 .../samples/mwf/SimpleFileContentFormatter.java    |  86 ---
 .../samples/mwf/WriteFileInitializer.java          | 100 ---
 .../samples/mwf/FileContentConvertor.java          |  27 +
 .../samples/mwf/FileContentFormatter.java          |  24 +
 .../samples/mwf/MetricsBootListener.java           |  40 ++
 .../servicecomb/samples/mwf/MetricsFileWriter.java |  22 +
 .../samples/mwf/SimpleFileContentConvertor.java    |  61 ++
 .../samples/mwf/SimpleFileContentFormatter.java    |  86 +++
 .../samples/mwf/WriteFileInitializer.java          |  99 +++
 .../io/servicecomb/samples/mwf/TestWriteFile.java  | 165 -----
 .../servicecomb/samples/mwf/TestWriteFile.java     | 167 +++++
 .../java/io/servicecomb/samples/pojo/Compute.java  |  28 -
 .../samples/pojo/consumer/PojoConsumerMain.java    |  52 --
 .../apache/servicecomb/samples/pojo/Compute.java   |  28 +
 .../samples/pojo/consumer/PojoConsumerMain.java    |  51 ++
 .../META-INF/spring/pojo.consumer.bean.xml         |   2 +-
 .../main/resources/microservices/hello/hello.yaml  |   2 +-
 .../java/io/servicecomb/samples/pojo/Compute.java  |  28 -
 .../pojo/provider/CodeFirstComputeImpl.java        |  48 --
 .../samples/pojo/provider/HelloImpl.java           |  37 -
 .../samples/pojo/provider/PojoProviderMain.java    |  29 -
 .../apache/servicecomb/samples/pojo/Compute.java   |  28 +
 .../pojo/provider/CodeFirstComputeImpl.java        |  48 ++
 .../samples/pojo/provider/HelloImpl.java           |  37 +
 .../samples/pojo/provider/PojoProviderMain.java    |  29 +
 .../META-INF/spring/pojo.provider.bean.xml         |   2 +-
 .../main/resources/microservices/hello/hello.yaml  |   2 +-
 .../springmvc/consumer/SpringmvcConsumerMain.java  |  60 --
 .../springmvc/consumer/SpringmvcConsumerMain.java  |  59 ++
 .../META-INF/spring/pojo.consumer.bean.xml         |   2 +-
 .../main/resources/microservices/hello/hello.yaml  |   2 +-
 .../springmvc/provider/SpringmvcHelloImpl.java     |  46 --
 .../springmvc/provider/SpringmvcProviderMain.java  |  29 -
 .../springmvc/provider/SpringmvcHelloImpl.java     |  45 ++
 .../springmvc/provider/SpringmvcProviderMain.java  |  29 +
 .../META-INF/spring/pojo.provider.bean.xml         |   2 +-
 .../main/resources/microservices/hello/hello.yaml  |   2 +-
 .../io/servicecomb/serviceregistry/Features.java   |  30 -
 .../servicecomb/serviceregistry/RegistryUtils.java | 224 ------
 .../serviceregistry/ServiceRegistry.java           |  62 --
 .../io/servicecomb/serviceregistry/api/Const.java  | 153 -----
 .../serviceregistry/api/MicroserviceKey.java       |  76 --
 .../serviceregistry/api/PropertyExtended.java      |  24 -
 .../serviceregistry/api/registry/BasePath.java     |  48 --
 .../api/registry/DataCenterInfo.java               |  50 --
 .../serviceregistry/api/registry/Framework.java    |  44 --
 .../serviceregistry/api/registry/HealthCheck.java  |  73 --
 .../api/registry/HealthCheckMode.java              |  40 --
 .../serviceregistry/api/registry/Microservice.java | 212 ------
 .../api/registry/MicroserviceFactory.java          |  85 ---
 .../api/registry/MicroserviceInstance.java         | 181 -----
 .../api/registry/MicroserviceInstanceStatus.java   |  29 -
 .../api/registry/MicroserviceStatus.java           |  27 -
 .../serviceregistry/api/registry/WatchAction.java  |  43 --
 .../api/request/CreateSchemaRequest.java           |  30 -
 .../api/request/CreateServiceRequest.java          |  35 -
 .../api/request/RegisterInstanceRequest.java       |  35 -
 .../api/request/UpdatePropertiesRequest.java       |  35 -
 .../api/response/CreateServiceResponse.java        |  33 -
 .../api/response/FindInstancesResponse.java        |  37 -
 .../api/response/GetAllServicesResponse.java       |  37 -
 .../api/response/GetExistenceResponse.java         |  43 --
 .../api/response/GetInstancesResponse.java         |  37 -
 .../api/response/GetSchemaResponse.java            |  30 -
 .../api/response/GetServiceResponse.java           |  35 -
 .../api/response/HeartbeatResponse.java            |  43 --
 .../response/MicroserviceInstanceChangedEvent.java |  57 --
 .../api/response/MicroserviceInstanceResponse.java |  35 -
 .../api/response/RegisterInstanceResponse.java     |  33 -
 .../serviceregistry/cache/CacheEndpoint.java       |  44 --
 .../serviceregistry/cache/InstanceCache.java       | 138 ----
 .../cache/InstanceCacheManager.java                |  27 -
 .../cache/InstanceCacheManagerNew.java             |  42 --
 .../cache/MicroserviceInstanceCache.java           |  68 --
 .../serviceregistry/client/ClientException.java    |  30 -
 .../serviceregistry/client/Endpoints.java          |  67 --
 .../serviceregistry/client/IpPortManager.java      | 115 ----
 .../client/LocalServiceRegistryClientImpl.java     | 376 ----------
 .../client/ServiceRegistryClient.java              | 143 ----
 .../client/http/AbstractClientPool.java            |  66 --
 .../serviceregistry/client/http/ClientPool.java    |  32 -
 .../client/http/EmptyAuthHeaderProvider.java       |  30 -
 .../client/http/HttpClientPool.java                |  66 --
 .../client/http/MicroserviceInstances.java         |  56 --
 .../client/http/RequestContext.java                |  77 ---
 .../serviceregistry/client/http/RequestParam.java  | 145 ----
 .../serviceregistry/client/http/RestResponse.java  |  51 --
 .../serviceregistry/client/http/RestUtils.java     | 214 ------
 .../client/http/ServiceRegistryClientImpl.java     | 711 -------------------
 .../client/http/WebsocketClientPool.java           |  57 --
 .../client/http/WebsocketUtils.java                |  73 --
 .../config/AbstractPropertiesLoader.java           |  98 ---
 .../config/ConfigurePropertyUtils.java             |  84 ---
 .../config/InstancePropertiesLoader.java           |  31 -
 .../config/MicroservicePropertiesLoader.java       |  33 -
 .../config/ServiceRegistryConfig.java              | 312 ---------
 .../serviceregistry/consumer/AppManager.java       |  68 --
 .../DefaultMicroserviceVersionFactory.java         |  27 -
 .../consumer/MicroserviceManager.java              |  73 --
 .../consumer/MicroserviceVersion.java              |  45 --
 .../consumer/MicroserviceVersionFactory.java       |  22 -
 .../consumer/MicroserviceVersionRule.java          | 160 -----
 .../consumer/MicroserviceVersions.java             | 200 ------
 .../definition/DefinitionConst.java                |  37 -
 .../definition/MicroserviceDefinition.java         | 155 -----
 .../discovery/AbstractDiscoveryFilter.java         |  39 --
 .../discovery/AbstractEndpointDiscoveryFilter.java |  85 ---
 .../discovery/DiscoveryContext.java                |  70 --
 .../serviceregistry/discovery/DiscoveryFilter.java |  31 -
 .../serviceregistry/discovery/DiscoveryTree.java   | 138 ----
 .../discovery/DiscoveryTreeNode.java               |  86 ---
 .../registry/AbstractServiceRegistry.java          | 283 --------
 .../registry/LocalServiceRegistry.java             |  35 -
 .../registry/RemoteServiceRegistry.java            | 113 ---
 .../registry/ServiceRegistryFactory.java           |  85 ---
 .../serviceregistry/task/AbstractRegisterTask.java |  48 --
 .../serviceregistry/task/AbstractTask.java         |  68 --
 .../serviceregistry/task/CompositeTask.java        |  38 -
 .../serviceregistry/task/HeartbeatResult.java      |  23 -
 .../task/MicroserviceInstanceHeartbeatTask.java    |  89 ---
 .../task/MicroserviceInstanceRegisterTask.java     |  87 ---
 .../task/MicroserviceRegisterTask.java             | 154 -----
 .../task/MicroserviceServiceCenterTask.java        |  33 -
 .../task/MicroserviceWatchTask.java                | 129 ----
 .../serviceregistry/task/ServiceCenterTask.java    |  96 ---
 .../task/ServiceCenterTaskMonitor.java             |  54 --
 .../serviceregistry/task/TaskStatus.java           |  23 -
 .../serviceregistry/task/event/ExceptionEvent.java |  29 -
 .../task/event/HeartbeatFailEvent.java             |  27 -
 .../task/event/HeartbeatSuccEvent.java             |  27 -
 .../task/event/PeriodicPullEvent.java              |  22 -
 .../PullMicroserviceVersionsInstancesEvent.java    |  39 --
 .../serviceregistry/task/event/RecoveryEvent.java  |  21 -
 .../serviceregistry/task/event/ShutdownEvent.java  |  21 -
 .../serviceregistry/version/Version.java           | 136 ----
 .../serviceregistry/version/VersionRule.java       |  39 --
 .../version/VersionRuleFixedParser.java            |  42 --
 .../version/VersionRuleLatestParser.java           |  46 --
 .../serviceregistry/version/VersionRuleParser.java |  23 -
 .../version/VersionRuleRangeParser.java            |  50 --
 .../version/VersionRuleStartFromParser.java        |  46 --
 .../serviceregistry/version/VersionRuleUtils.java  |  60 --
 .../serviceregistry/version/VersionUtils.java      |  33 -
 .../servicecomb/serviceregistry/Features.java      |  30 +
 .../servicecomb/serviceregistry/RegistryUtils.java | 224 ++++++
 .../serviceregistry/ServiceRegistry.java           |  62 ++
 .../servicecomb/serviceregistry/api/Const.java     | 153 +++++
 .../serviceregistry/api/MicroserviceKey.java       |  76 ++
 .../serviceregistry/api/PropertyExtended.java      |  24 +
 .../serviceregistry/api/registry/BasePath.java     |  48 ++
 .../api/registry/DataCenterInfo.java               |  50 ++
 .../serviceregistry/api/registry/Framework.java    |  44 ++
 .../serviceregistry/api/registry/HealthCheck.java  |  73 ++
 .../api/registry/HealthCheckMode.java              |  40 ++
 .../serviceregistry/api/registry/Microservice.java | 212 ++++++
 .../api/registry/MicroserviceFactory.java          |  84 +++
 .../api/registry/MicroserviceInstance.java         | 181 +++++
 .../api/registry/MicroserviceInstanceStatus.java   |  29 +
 .../api/registry/MicroserviceStatus.java           |  27 +
 .../serviceregistry/api/registry/WatchAction.java  |  43 ++
 .../api/request/CreateSchemaRequest.java           |  30 +
 .../api/request/CreateServiceRequest.java          |  35 +
 .../api/request/RegisterInstanceRequest.java       |  35 +
 .../api/request/UpdatePropertiesRequest.java       |  35 +
 .../api/response/CreateServiceResponse.java        |  33 +
 .../api/response/FindInstancesResponse.java        |  37 +
 .../api/response/GetAllServicesResponse.java       |  37 +
 .../api/response/GetExistenceResponse.java         |  43 ++
 .../api/response/GetInstancesResponse.java         |  37 +
 .../api/response/GetSchemaResponse.java            |  30 +
 .../api/response/GetServiceResponse.java           |  35 +
 .../api/response/HeartbeatResponse.java            |  43 ++
 .../response/MicroserviceInstanceChangedEvent.java |  57 ++
 .../api/response/MicroserviceInstanceResponse.java |  35 +
 .../api/response/RegisterInstanceResponse.java     |  33 +
 .../serviceregistry/cache/CacheEndpoint.java       |  44 ++
 .../serviceregistry/cache/InstanceCache.java       | 137 ++++
 .../cache/InstanceCacheManager.java                |  27 +
 .../cache/InstanceCacheManagerNew.java             |  42 ++
 .../cache/MicroserviceInstanceCache.java           |  67 ++
 .../serviceregistry/client/ClientException.java    |  30 +
 .../serviceregistry/client/Endpoints.java          |  67 ++
 .../serviceregistry/client/IpPortManager.java      | 114 +++
 .../client/LocalServiceRegistryClientImpl.java     | 375 ++++++++++
 .../client/ServiceRegistryClient.java              | 143 ++++
 .../client/http/AbstractClientPool.java            |  66 ++
 .../serviceregistry/client/http/ClientPool.java    |  33 +
 .../client/http/EmptyAuthHeaderProvider.java       |  30 +
 .../client/http/HttpClientPool.java                |  66 ++
 .../client/http/MicroserviceInstances.java         |  56 ++
 .../client/http/RequestContext.java                |  78 +++
 .../serviceregistry/client/http/RequestParam.java  | 145 ++++
 .../serviceregistry/client/http/RestResponse.java  |  51 ++
 .../serviceregistry/client/http/RestUtils.java     | 215 ++++++
 .../client/http/ServiceRegistryClientImpl.java     | 713 +++++++++++++++++++
 .../client/http/WebsocketClientPool.java           |  57 ++
 .../client/http/WebsocketUtils.java                |  73 ++
 .../config/AbstractPropertiesLoader.java           |  98 +++
 .../config/ConfigurePropertyUtils.java             |  83 +++
 .../config/InstancePropertiesLoader.java           |  31 +
 .../config/MicroservicePropertiesLoader.java       |  33 +
 .../config/ServiceRegistryConfig.java              | 312 +++++++++
 .../serviceregistry/consumer/AppManager.java       |  68 ++
 .../DefaultMicroserviceVersionFactory.java         |  27 +
 .../consumer/MicroserviceManager.java              |  73 ++
 .../consumer/MicroserviceVersion.java              |  45 ++
 .../consumer/MicroserviceVersionFactory.java       |  22 +
 .../consumer/MicroserviceVersionRule.java          | 159 +++++
 .../consumer/MicroserviceVersions.java             | 199 ++++++
 .../definition/DefinitionConst.java                |  37 +
 .../definition/MicroserviceDefinition.java         | 154 +++++
 .../discovery/AbstractDiscoveryFilter.java         |  39 ++
 .../discovery/AbstractEndpointDiscoveryFilter.java |  84 +++
 .../discovery/DiscoveryContext.java                |  70 ++
 .../serviceregistry/discovery/DiscoveryFilter.java |  31 +
 .../serviceregistry/discovery/DiscoveryTree.java   | 137 ++++
 .../discovery/DiscoveryTreeNode.java               |  86 +++
 .../registry/AbstractServiceRegistry.java          | 285 ++++++++
 .../registry/LocalServiceRegistry.java             |  35 +
 .../registry/RemoteServiceRegistry.java            | 113 +++
 .../registry/ServiceRegistryFactory.java           |  84 +++
 .../serviceregistry/task/AbstractRegisterTask.java |  48 ++
 .../serviceregistry/task/AbstractTask.java         |  68 ++
 .../serviceregistry/task/CompositeTask.java        |  38 +
 .../serviceregistry/task/HeartbeatResult.java      |  23 +
 .../task/MicroserviceInstanceHeartbeatTask.java    |  88 +++
 .../task/MicroserviceInstanceRegisterTask.java     |  86 +++
 .../task/MicroserviceRegisterTask.java             | 153 +++++
 .../task/MicroserviceServiceCenterTask.java        |  33 +
 .../task/MicroserviceWatchTask.java                | 128 ++++
 .../serviceregistry/task/ServiceCenterTask.java    |  95 +++
 .../task/ServiceCenterTaskMonitor.java             |  54 ++
 .../serviceregistry/task/TaskStatus.java           |  23 +
 .../serviceregistry/task/event/ExceptionEvent.java |  29 +
 .../task/event/HeartbeatFailEvent.java             |  27 +
 .../task/event/HeartbeatSuccEvent.java             |  27 +
 .../task/event/PeriodicPullEvent.java              |  22 +
 .../PullMicroserviceVersionsInstancesEvent.java    |  39 ++
 .../serviceregistry/task/event/RecoveryEvent.java  |  21 +
 .../serviceregistry/task/event/ShutdownEvent.java  |  21 +
 .../serviceregistry/version/Version.java           | 136 ++++
 .../serviceregistry/version/VersionRule.java       |  39 ++
 .../version/VersionRuleFixedParser.java            |  42 ++
 .../version/VersionRuleLatestParser.java           |  46 ++
 .../serviceregistry/version/VersionRuleParser.java |  23 +
 .../version/VersionRuleRangeParser.java            |  50 ++
 .../version/VersionRuleStartFromParser.java        |  46 ++
 .../serviceregistry/version/VersionRuleUtils.java  |  60 ++
 .../serviceregistry/version/VersionUtils.java      |  33 +
 ....servicecomb.foundation.auth.AuthHeaderProvider |  18 -
 ....servicecomb.foundation.auth.AuthHeaderProvider |  18 +
 .../MicroServicePropertyExtendedStub.java          |  36 -
 .../servicecomb/serviceregistry/TestRegistry.java  | 229 -------
 .../servicecomb/serviceregistry/api/TestConst.java |  82 ---
 .../serviceregistry/api/TestMicroserviceKey.java   |  65 --
 .../serviceregistry/api/registry/TestBasePath.java |  60 --
 .../api/registry/TestFramework.java                |  39 --
 .../api/registry/TestHealthCheck.java              |  76 --
 .../api/registry/TestMicroService.java             | 104 ---
 .../api/registry/TestMicroServiceInstance.java     | 127 ----
 .../api/registry/TestMicroserviceFactory.java      |  62 --
 .../api/request/TestCreateSchemaRequest.java       |  32 -
 .../api/request/TestCreateServiceRequest.java      |  60 --
 .../api/request/TestRegisterInstanceRequest.java   |  60 --
 .../api/request/TestUpdatePropertiesRequest.java   |  37 -
 .../api/response/TestCreateServiceResponse.java    |  53 --
 .../api/response/TestFindInstancesResponse.java    |  64 --
 .../api/response/TestGetAllServicesResponse.java   |  65 --
 .../api/response/TestGetExistenceResponse.java     |  56 --
 .../api/response/TestGetInstancesResponse.java     |  64 --
 .../api/response/TestGetServiceResponse.java       |  59 --
 .../api/response/TestHeartbeatResponse.java        |  56 --
 .../TestMicroserviceInstanceChangedEvent.java      |  80 ---
 .../response/TestMicroserviceInstanceResponse.java |  36 -
 .../api/response/TestRegisterInstanceResponse.java |  53 --
 .../serviceregistry/cache/TestInstanceCache.java   |  78 ---
 .../cache/TestInstanceCacheManagerNew.java         |  69 --
 .../client/LocalServiceRegistryClientImplTest.java | 177 -----
 .../client/ServiceRegistryDemo.java                |  32 -
 .../serviceregistry/client/TestEndpoints.java      |  44 --
 .../serviceregistry/client/TestIpPortManager.java  | 156 -----
 .../client/http/MockAuthHeaderProvider.java        |  32 -
 .../serviceregistry/client/http/RestUtilsTest.java |  46 --
 .../client/http/TestClientHttp.java                | 155 -----
 .../client/http/TestClientPool.java                |  59 --
 .../client/http/TestMicroserviceInstances.java     |  78 ---
 .../client/http/TestServiceRegistryClientImpl.java | 261 -------
 .../config/TestConfigurePropertyUtils.java         |  54 --
 .../config/TestPropertiesLoader.java               | 122 ----
 .../config/TestServiceRegistryConfig.java          |  73 --
 .../consumer/MicroserviceVersionTestUtils.java     |  38 -
 .../serviceregistry/consumer/TestAppManager.java   | 100 ---
 .../TestDefaultMicroserviceVersionFactory.java     |  45 --
 .../consumer/TestMicroserviceManager.java          | 115 ----
 .../consumer/TestMicroserviceVersion.java          |  54 --
 .../consumer/TestMicroserviceVersionRule.java      | 115 ----
 .../consumer/TestMicroserviceVersions.java         | 281 --------
 .../discovery/TestAbstractDiscoveryFilter.java     |  98 ---
 .../TestAbstractTransportDiscoveryFilter.java      | 181 -----
 .../discovery/TestDiscoveryContext.java            |  55 --
 .../discovery/TestDiscoveryTree.java               | 236 -------
 .../discovery/TestDiscoveryTreeNode.java           |  79 ---
 .../registry/TestAbstractServiceRegistry.java      | 112 ---
 .../registry/TestLocalServiceRegistry.java         | 103 ---
 .../registry/TestRemoteServiceRegistry.java        | 137 ----
 .../registry/TestServiceRegistryFactory.java       |  69 --
 .../task/TestAbstractRegisterTask.java             |  93 ---
 .../serviceregistry/task/TestCompositeTask.java    |  39 --
 .../TestMicroserviceInstanceHeartbeatTask.java     | 188 -----
 .../task/TestMicroserviceInstanceRegisterTask.java | 176 -----
 .../task/TestMicroserviceRegisterTask.java         | 232 -------
 .../task/TestMicroserviceWatchTask.java            | 230 -------
 .../task/TestServiceCenterTask.java                |  93 ---
 .../serviceregistry/version/TestVersion.java       | 172 -----
 .../serviceregistry/version/TestVersionRule.java   |  46 --
 .../version/TestVersionRuleFixedParser.java        |  40 --
 .../version/TestVersionRuleLatestParser.java       |  50 --
 .../version/TestVersionRuleRangeParser.java        |  47 --
 .../version/TestVersionRuleStartFromParser.java    |  47 --
 .../version/TestVersionRuleUtils.java              |  71 --
 .../serviceregistry/version/TestVersionUtils.java  |  47 --
 .../serviceregistry/version/VersionConst.java      |  28 -
 .../MicroServicePropertyExtendedStub.java          |  36 +
 .../servicecomb/serviceregistry/TestRegistry.java  | 230 +++++++
 .../servicecomb/serviceregistry/api/TestConst.java |  81 +++
 .../serviceregistry/api/TestMicroserviceKey.java   |  65 ++
 .../serviceregistry/api/registry/TestBasePath.java |  60 ++
 .../api/registry/TestFramework.java                |  39 ++
 .../api/registry/TestHealthCheck.java              |  76 ++
 .../api/registry/TestMicroService.java             | 104 +++
 .../api/registry/TestMicroServiceInstance.java     | 127 ++++
 .../api/registry/TestMicroserviceFactory.java      |  62 ++
 .../api/request/TestCreateSchemaRequest.java       |  32 +
 .../api/request/TestCreateServiceRequest.java      |  59 ++
 .../api/request/TestRegisterInstanceRequest.java   |  59 ++
 .../api/request/TestUpdatePropertiesRequest.java   |  37 +
 .../api/response/TestCreateServiceResponse.java    |  53 ++
 .../api/response/TestFindInstancesResponse.java    |  63 ++
 .../api/response/TestGetAllServicesResponse.java   |  64 ++
 .../api/response/TestGetExistenceResponse.java     |  56 ++
 .../api/response/TestGetInstancesResponse.java     |  63 ++
 .../api/response/TestGetServiceResponse.java       |  58 ++
 .../api/response/TestHeartbeatResponse.java        |  56 ++
 .../TestMicroserviceInstanceChangedEvent.java      |  79 +++
 .../response/TestMicroserviceInstanceResponse.java |  34 +
 .../api/response/TestRegisterInstanceResponse.java |  53 ++
 .../serviceregistry/cache/TestInstanceCache.java   |  77 +++
 .../cache/TestInstanceCacheManagerNew.java         |  69 ++
 .../client/LocalServiceRegistryClientImplTest.java | 175 +++++
 .../client/ServiceRegistryDemo.java                |  32 +
 .../serviceregistry/client/TestEndpoints.java      |  43 ++
 .../serviceregistry/client/TestIpPortManager.java  | 156 +++++
 .../client/http/MockAuthHeaderProvider.java        |  32 +
 .../serviceregistry/client/http/RestUtilsTest.java |  46 ++
 .../client/http/TestClientHttp.java                | 155 +++++
 .../client/http/TestClientPool.java                |  59 ++
 .../client/http/TestMicroserviceInstances.java     |  77 +++
 .../client/http/TestServiceRegistryClientImpl.java | 260 +++++++
 .../config/TestConfigurePropertyUtils.java         |  53 ++
 .../config/TestPropertiesLoader.java               | 121 ++++
 .../config/TestServiceRegistryConfig.java          |  72 ++
 .../consumer/MicroserviceVersionTestUtils.java     |  39 ++
 .../serviceregistry/consumer/TestAppManager.java   | 100 +++
 .../TestDefaultMicroserviceVersionFactory.java     |  45 ++
 .../consumer/TestMicroserviceManager.java          | 115 ++++
 .../consumer/TestMicroserviceVersion.java          |  54 ++
 .../consumer/TestMicroserviceVersionRule.java      | 114 +++
 .../consumer/TestMicroserviceVersions.java         | 281 ++++++++
 .../discovery/TestAbstractDiscoveryFilter.java     |  98 +++
 .../TestAbstractTransportDiscoveryFilter.java      | 180 +++++
 .../discovery/TestDiscoveryContext.java            |  55 ++
 .../discovery/TestDiscoveryTree.java               | 236 +++++++
 .../discovery/TestDiscoveryTreeNode.java           |  78 +++
 .../registry/TestAbstractServiceRegistry.java      | 112 +++
 .../registry/TestLocalServiceRegistry.java         | 102 +++
 .../registry/TestRemoteServiceRegistry.java        | 137 ++++
 .../registry/TestServiceRegistryFactory.java       |  69 ++
 .../task/TestAbstractRegisterTask.java             |  93 +++
 .../serviceregistry/task/TestCompositeTask.java    |  39 ++
 .../TestMicroserviceInstanceHeartbeatTask.java     | 188 +++++
 .../task/TestMicroserviceInstanceRegisterTask.java | 176 +++++
 .../task/TestMicroserviceRegisterTask.java         | 232 +++++++
 .../task/TestMicroserviceWatchTask.java            | 230 +++++++
 .../task/TestServiceCenterTask.java                |  96 +++
 .../serviceregistry/version/TestVersion.java       | 172 +++++
 .../serviceregistry/version/TestVersionRule.java   |  46 ++
 .../version/TestVersionRuleFixedParser.java        |  40 ++
 .../version/TestVersionRuleLatestParser.java       |  49 ++
 .../version/TestVersionRuleRangeParser.java        |  47 ++
 .../version/TestVersionRuleStartFromParser.java    |  47 ++
 .../version/TestVersionRuleUtils.java              |  70 ++
 .../serviceregistry/version/TestVersionUtils.java  |  47 ++
 .../serviceregistry/version/VersionConst.java      |  28 +
 ....servicecomb.foundation.auth.AuthHeaderProvider |  18 -
 ....servicecomb.foundation.auth.AuthHeaderProvider |  18 +
 .../src/test/resources/microservice.yaml           |   4 +-
 .../starter/discovery/CseDiscoveryClient.java      |  85 ---
 .../discovery/CseDiscoveryClientConfiguration.java |  34 -
 .../discovery/CseRibbonClientConfiguration.java    |  40 --
 .../starter/discovery/CseRibbonConfiguration.java  |  34 -
 .../starter/discovery/ServiceCombServerList.java   |  72 --
 .../springboot/starter/discovery/package-info.java |  17 -
 .../starter/discovery/CseDiscoveryClient.java      |  84 +++
 .../discovery/CseDiscoveryClientConfiguration.java |  34 +
 .../discovery/CseRibbonClientConfiguration.java    |  40 ++
 .../starter/discovery/CseRibbonConfiguration.java  |  34 +
 .../starter/discovery/ServiceCombServerList.java   |  72 ++
 .../springboot/starter/discovery/package-info.java |  17 +
 .../src/main/resources/META-INF/spring.factories   |  10 +-
 .../starter/discovery/TestCseDiscoveryClient.java  |  84 ---
 .../TestCseDiscoveryClientConfiguration.java       |  12 -
 .../TestCseRibbonClientConfiguration.java          |  16 -
 .../discovery/TestServiceCombServerList.java       |  76 --
 .../starter/discovery/TestCseDiscoveryClient.java  |  84 +++
 .../TestCseDiscoveryClientConfiguration.java       |  12 +
 .../TestCseRibbonClientConfiguration.java          |  16 +
 .../discovery/TestServiceCombServerList.java       |  76 ++
 .../starter/registry/CseAutoConfiguration.java     |  27 -
 .../starter/registry/RegistryIntializer.java       |  50 --
 .../starter/registry/CseAutoConfiguration.java     |  27 +
 .../starter/registry/RegistryIntializer.java       |  49 ++
 .../src/main/resources/META-INF/spring.factories   |   2 +-
 .../starter/registry/TestCseAutoConfiguration.java |  59 --
 .../starter/registry/TestCseAutoConfiguration.java |  59 ++
 .../starter/provider/EnableServiceComb.java        |  34 -
 .../provider/ServiceCombSpringConfiguration.java   |  35 -
 .../springboot/starter/provider/package-info.java  |  25 -
 .../starter/provider/EnableServiceComb.java        |  34 +
 .../provider/ServiceCombSpringConfiguration.java   |  34 +
 .../springboot/starter/provider/package-info.java  |  25 +
 .../starter/transport/RestServletInitializer.java  |  70 --
 .../springboot/starter/transport/package-info.java |  24 -
 .../starter/transport/RestServletInitializer.java  |  69 ++
 .../springboot/starter/transport/package-info.java |  24 +
 .../transport/TestRestServletInitializer.java      | 113 ---
 .../transport/TestRestServletInitializer.java      | 112 +++
 .../zuul/tracing/SpringTracingConfiguration.java   | 104 ---
 .../cloud/zuul/tracing/TracePostZuulFilter.java    |  73 --
 .../cloud/zuul/tracing/TracePreZuulFilter.java     | 115 ----
 .../zuul/tracing/SpringTracingConfiguration.java   | 104 +++
 .../cloud/zuul/tracing/TracePostZuulFilter.java    |  73 ++
 .../cloud/zuul/tracing/TracePreZuulFilter.java     | 115 ++++
 .../tracing/SpringTracingConfigurationTest.java    |  78 ---
 .../tracing/SpringTracingConfigurationTest.java    |  78 +++
 .../spring/cloud/zuul/ContextHeaderZuulFilter.java |  75 --
 .../spring/cloud/zuul/ContextHeaderZuulFilter.java |  74 ++
 .../java/io/servicecomb/swagger/SwaggerUtils.java  | 117 ----
 .../swagger/converter/AbstractConverter.java       |  56 --
 .../servicecomb/swagger/converter/Converter.java   |  28 -
 .../swagger/converter/ConverterMgr.java            | 206 ------
 .../converter/model/AbstractModelConverter.java    |  29 -
 .../converter/model/ArrayModelConverter.java       |  42 --
 .../converter/model/ModelImplConverter.java        |  59 --
 .../swagger/converter/model/RefModelConverter.java |  33 -
 .../AbstractSerializableParameterConverter.java    |  55 --
 .../parameter/BodyParameterConverter.java          |  34 -
 .../property/AbstractPropertyConverter.java        |  29 -
 .../converter/property/ArrayPropertyConverter.java |  56 --
 .../converter/property/MapPropertyConverter.java   |  46 --
 .../converter/property/RefPropertyConverter.java   |  33 -
 .../property/StringPropertyConverter.java          |  89 ---
 .../io/servicecomb/swagger/extend/ExtendConst.java |  28 -
 .../swagger/extend/ModelResolverExt.java           | 159 -----
 .../extend/annotations/RawJsonRequestBody.java     |  39 --
 .../extend/annotations/ResponseHeaders.java        |  31 -
 .../swagger/extend/parameter/ContextParameter.java |  26 -
 .../extend/parameter/HttpRequestParameter.java     |  23 -
 .../property/AbstractBaseIntegerProperty.java      | 134 ----
 .../swagger/extend/property/ByteProperty.java      |  35 -
 .../swagger/extend/property/ShortProperty.java     |  35 -
 .../property/creator/ByteArrayPropertyCreator.java |  36 -
 .../property/creator/BytePropertyCreator.java      |  36 -
 .../creator/InputStreamPropertyCreator.java        |  38 -
 .../property/creator/PartPropertyCreator.java      |  37 -
 .../extend/property/creator/PropertyCreator.java   |  26 -
 .../property/creator/ShortPropertyCreator.java     |  36 -
 .../core/AbstractSwaggerGeneratorContext.java      | 184 -----
 .../generator/core/AnnotationProcessorManager.java |  46 --
 .../generator/core/ClassAnnotationProcessor.java   |  22 -
 .../core/CommonParameterTypeProcessor.java         |  25 -
 .../core/CompositeSwaggerGeneratorContext.java     |  66 --
 .../generator/core/DefaultParameterProcessor.java  |  27 -
 .../generator/core/MethodAnnotationProcessor.java  |  22 -
 .../swagger/generator/core/OperationGenerator.java | 370 ----------
 .../core/ParameterAnnotationProcessor.java         |  23 -
 .../generator/core/ParameterTypeProcessor.java     |  22 -
 .../generator/core/ResponseTypeProcessor.java      |  26 -
 .../swagger/generator/core/SwaggerConst.java       |  34 -
 .../swagger/generator/core/SwaggerGenerator.java   | 311 ---------
 .../generator/core/SwaggerGeneratorContext.java    |  51 --
 .../swagger/generator/core/package-info.java       |  22 -
 .../core/processor/annotation/AnnotationUtils.java | 221 ------
 .../annotation/ApiImplicitParamClassProcessor.java |  33 -
 .../ApiImplicitParamMethodProcessor.java           |  33 -
 .../ApiImplicitParamsClassProcessor.java           |  36 -
 .../ApiImplicitParamsMethodProcessor.java          |  36 -
 .../annotation/ApiOperationProcessor.java          | 119 ----
 .../core/processor/annotation/ApiProcessor.java    |  43 --
 .../annotation/ApiResponseClassProcessor.java      |  31 -
 .../annotation/ApiResponseMethodProcessor.java     |  34 -
 .../annotation/ApiResponsesClassProcessor.java     |  35 -
 .../annotation/ApiResponsesMethodProcessor.java    |  36 -
 .../annotation/ResponseHeaderProcessor.java        |  38 -
 .../annotation/ResponseHeadersProcessor.java       |  36 -
 .../annotation/SwaggerDefinitionProcessor.java     | 159 -----
 .../annotation/models/ResponseConfig.java          |  75 --
 .../annotation/models/ResponseConfigBase.java      |  65 --
 .../annotation/models/ResponseHeaderConfig.java    |  34 -
 .../core/processor/annotation/package-info.java    |  21 -
 .../parameter/AbstractParameterProcessor.java      |  60 --
 .../parametertype/HttpServletRequestProcessor.java |  37 -
 .../parametertype/RawJsonRequestBodyProcessor.java |  33 -
 .../AbstractOneGenericResponseProcessor.java       |  41 --
 .../response/CompletableFutureProcessor.java       |  27 -
 .../response/DefaultResponseTypeProcessor.java     |  41 --
 .../core/unittest/SwaggerGeneratorForTest.java     |  77 ---
 .../core/unittest/UnitTestSwaggerUtils.java        | 132 ----
 .../generator/core/unittest/package-info.java      |  21 -
 .../swagger/generator/core/utils/ClassUtils.java   | 260 -------
 .../swagger/generator/core/utils/ParamUtils.java   | 156 -----
 .../pojo/PojoSwaggerGeneratorContext.java          | 135 ----
 .../parameter/PendingBodyParameterConverter.java   |  34 -
 .../extend/parameter/PendingBodyParameter.java     | 100 ---
 .../swagger/generator/pojo/package-info.java       |  20 -
 .../parameter/PojoDefaultParameterProcessor.java   |  33 -
 .../generator/pojo/utils/PojoParamUtils.java       |  53 --
 .../rest/RestSwaggerGeneratorContext.java          |  45 --
 .../apache/servicecomb/swagger/SwaggerUtils.java   | 117 ++++
 .../swagger/converter/AbstractConverter.java       |  57 ++
 .../servicecomb/swagger/converter/Converter.java   |  28 +
 .../swagger/converter/ConverterMgr.java            | 207 ++++++
 .../converter/model/AbstractModelConverter.java    |  30 +
 .../converter/model/ArrayModelConverter.java       |  43 ++
 .../converter/model/ModelImplConverter.java        |  60 ++
 .../swagger/converter/model/RefModelConverter.java |  34 +
 .../AbstractSerializableParameterConverter.java    |  56 ++
 .../parameter/BodyParameterConverter.java          |  35 +
 .../property/AbstractPropertyConverter.java        |  30 +
 .../converter/property/ArrayPropertyConverter.java |  57 ++
 .../converter/property/MapPropertyConverter.java   |  47 ++
 .../converter/property/RefPropertyConverter.java   |  34 +
 .../property/StringPropertyConverter.java          |  90 +++
 .../servicecomb/swagger/extend/ExtendConst.java    |  28 +
 .../swagger/extend/ModelResolverExt.java           | 159 +++++
 .../extend/annotations/RawJsonRequestBody.java     |  39 ++
 .../extend/annotations/ResponseHeaders.java        |  31 +
 .../swagger/extend/parameter/ContextParameter.java |  26 +
 .../extend/parameter/HttpRequestParameter.java     |  23 +
 .../property/AbstractBaseIntegerProperty.java      | 134 ++++
 .../swagger/extend/property/ByteProperty.java      |  35 +
 .../swagger/extend/property/ShortProperty.java     |  35 +
 .../property/creator/ByteArrayPropertyCreator.java |  36 +
 .../property/creator/BytePropertyCreator.java      |  37 +
 .../creator/InputStreamPropertyCreator.java        |  38 +
 .../property/creator/PartPropertyCreator.java      |  37 +
 .../extend/property/creator/PropertyCreator.java   |  26 +
 .../property/creator/ShortPropertyCreator.java     |  37 +
 .../core/AbstractSwaggerGeneratorContext.java      | 184 +++++
 .../generator/core/AnnotationProcessorManager.java |  46 ++
 .../generator/core/ClassAnnotationProcessor.java   |  22 +
 .../core/CommonParameterTypeProcessor.java         |  25 +
 .../core/CompositeSwaggerGeneratorContext.java     |  65 ++
 .../generator/core/DefaultParameterProcessor.java  |  27 +
 .../generator/core/MethodAnnotationProcessor.java  |  22 +
 .../swagger/generator/core/OperationGenerator.java | 370 ++++++++++
 .../core/ParameterAnnotationProcessor.java         |  23 +
 .../generator/core/ParameterTypeProcessor.java     |  22 +
 .../generator/core/ResponseTypeProcessor.java      |  26 +
 .../swagger/generator/core/SwaggerConst.java       |  34 +
 .../swagger/generator/core/SwaggerGenerator.java   | 311 +++++++++
 .../generator/core/SwaggerGeneratorContext.java    |  51 ++
 .../swagger/generator/core/package-info.java       |  22 +
 .../core/processor/annotation/AnnotationUtils.java | 221 ++++++
 .../annotation/ApiImplicitParamClassProcessor.java |  34 +
 .../ApiImplicitParamMethodProcessor.java           |  34 +
 .../ApiImplicitParamsClassProcessor.java           |  37 +
 .../ApiImplicitParamsMethodProcessor.java          |  37 +
 .../annotation/ApiOperationProcessor.java          | 119 ++++
 .../core/processor/annotation/ApiProcessor.java    |  43 ++
 .../annotation/ApiResponseClassProcessor.java      |  32 +
 .../annotation/ApiResponseMethodProcessor.java     |  35 +
 .../annotation/ApiResponsesClassProcessor.java     |  36 +
 .../annotation/ApiResponsesMethodProcessor.java    |  37 +
 .../annotation/ResponseHeaderProcessor.java        |  39 ++
 .../annotation/ResponseHeadersProcessor.java       |  37 +
 .../annotation/SwaggerDefinitionProcessor.java     | 159 +++++
 .../annotation/models/ResponseConfig.java          |  76 ++
 .../annotation/models/ResponseConfigBase.java      |  65 ++
 .../annotation/models/ResponseHeaderConfig.java    |  34 +
 .../core/processor/annotation/package-info.java    |  21 +
 .../parameter/AbstractParameterProcessor.java      |  61 ++
 .../parametertype/HttpServletRequestProcessor.java |  37 +
 .../parametertype/RawJsonRequestBodyProcessor.java |  34 +
 .../AbstractOneGenericResponseProcessor.java       |  42 ++
 .../response/CompletableFutureProcessor.java       |  27 +
 .../response/DefaultResponseTypeProcessor.java     |  42 ++
 .../core/unittest/SwaggerGeneratorForTest.java     |  77 +++
 .../core/unittest/UnitTestSwaggerUtils.java        | 132 ++++
 .../generator/core/unittest/package-info.java      |  21 +
 .../swagger/generator/core/utils/ClassUtils.java   | 260 +++++++
 .../swagger/generator/core/utils/ParamUtils.java   | 156 +++++
 .../pojo/PojoSwaggerGeneratorContext.java          | 135 ++++
 .../parameter/PendingBodyParameterConverter.java   |  35 +
 .../extend/parameter/PendingBodyParameter.java     | 101 +++
 .../swagger/generator/pojo/package-info.java       |  20 +
 .../parameter/PojoDefaultParameterProcessor.java   |  33 +
 .../generator/pojo/utils/PojoParamUtils.java       |  54 ++
 .../rest/RestSwaggerGeneratorContext.java          |  44 ++
 ...ger.generator.core.CommonParameterTypeProcessor |  18 -
 ...mb.swagger.generator.core.ResponseTypeProcessor |  18 -
 ....swagger.generator.core.SwaggerGeneratorContext |  18 -
 .../services/io.swagger.converter.ModelConverter   |   2 +-
 ...ger.generator.core.CommonParameterTypeProcessor |  18 +
 ...mb.swagger.generator.core.ResponseTypeProcessor |  18 +
 ....swagger.generator.core.SwaggerGeneratorContext |  18 +
 .../io/servicecomb/swagger/TestSwaggerUtils.java   | 177 -----
 .../property/creator/TestPartPropertyCreator.java  |  42 --
 .../generator/core/TestApiImplicitParams.java      |  62 --
 .../swagger/generator/core/TestApiOperation.java   | 171 -----
 .../swagger/generator/core/TestApiResponse.java    | 137 ----
 .../swagger/generator/core/TestArrayType.java      |  52 --
 .../swagger/generator/core/TestClassUtils.java     | 207 ------
 .../swagger/generator/core/TestInvalidType.java    | 103 ---
 .../generator/core/TestOperationGenerator.java     | 104 ---
 .../swagger/generator/core/TestParamUtils.java     |  45 --
 .../swagger/generator/core/TestProperty.java       |  53 --
 .../generator/core/TestSwaggerDefinition.java      | 136 ----
 .../generator/core/TestSwaggerGenerator.java       |  58 --
 .../swagger/generator/core/TestSwaggerUtils.java   | 247 -------
 .../annotation/ApiOperationProcessorTest.java      |  74 --
 .../processor/annotation/ApiProcessorTest.java     |  63 --
 .../annotation/SwaggerDefinitionProcessorTest.java |  75 --
 .../TestAbstractOneGenericResponseProcessor.java   |  61 --
 .../response/TestCompletableFutureProcessor.java   |  31 -
 .../swagger/generator/core/schema/AllType.java     |  66 --
 .../swagger/generator/core/schema/ArrayType.java   |  27 -
 .../swagger/generator/core/schema/Color.java       |  23 -
 .../core/schema/InvalidResponseHeader.java         |  26 -
 .../swagger/generator/core/schema/InvalidType.java |  65 --
 .../generator/core/schema/RepeatOperation.java     |  27 -
 .../swagger/generator/core/schema/Schema.java      | 185 -----
 .../swagger/generator/core/schema/User.java        |  24 -
 .../servicecomb/swagger/TestSwaggerUtils.java      | 177 +++++
 .../property/creator/TestPartPropertyCreator.java  |  42 ++
 .../generator/core/TestApiImplicitParams.java      |  62 ++
 .../swagger/generator/core/TestApiOperation.java   | 171 +++++
 .../swagger/generator/core/TestApiResponse.java    | 137 ++++
 .../swagger/generator/core/TestArrayType.java      |  52 ++
 .../swagger/generator/core/TestClassUtils.java     | 207 ++++++
 .../swagger/generator/core/TestInvalidType.java    | 102 +++
 .../generator/core/TestOperationGenerator.java     | 104 +++
 .../swagger/generator/core/TestParamUtils.java     |  45 ++
 .../swagger/generator/core/TestProperty.java       |  53 ++
 .../generator/core/TestSwaggerDefinition.java      | 136 ++++
 .../generator/core/TestSwaggerGenerator.java       |  57 ++
 .../swagger/generator/core/TestSwaggerUtils.java   | 247 +++++++
 .../annotation/ApiOperationProcessorTest.java      |  74 ++
 .../processor/annotation/ApiProcessorTest.java     |  63 ++
 .../annotation/SwaggerDefinitionProcessorTest.java |  75 ++
 .../TestAbstractOneGenericResponseProcessor.java   |  61 ++
 .../response/TestCompletableFutureProcessor.java   |  31 +
 .../swagger/generator/core/schema/AllType.java     |  66 ++
 .../swagger/generator/core/schema/ArrayType.java   |  27 +
 .../swagger/generator/core/schema/Color.java       |  23 +
 .../core/schema/InvalidResponseHeader.java         |  26 +
 .../swagger/generator/core/schema/InvalidType.java |  65 ++
 .../generator/core/schema/RepeatOperation.java     |  27 +
 .../swagger/generator/core/schema/Schema.java      | 185 +++++
 .../swagger/generator/core/schema/User.java        |  24 +
 .../src/test/resources/schemas/allMethod.yaml      |  14 +-
 .../src/test/resources/schemas/allType.yaml        |   8 +-
 .../src/test/resources/schemas/apiOperation.yaml   |   2 +-
 .../src/test/resources/schemas/apiResponse.yaml    |   2 +-
 .../src/test/resources/schemas/array.yaml          |   2 +-
 .../src/test/resources/schemas/boolean.yaml        |   2 +-
 .../src/test/resources/schemas/booleanObject.yaml  |   2 +-
 .../src/test/resources/schemas/byte.yaml           |   2 +-
 .../src/test/resources/schemas/byteObject.yaml     |   2 +-
 .../src/test/resources/schemas/bytes.yaml          |   2 +-
 .../src/test/resources/schemas/bytesObject.yaml    |   2 +-
 .../src/test/resources/schemas/char.yaml           |   2 +-
 .../src/test/resources/schemas/charObject.yaml     |   2 +-
 .../test/resources/schemas/completableFuture.yaml  |   2 +-
 .../src/test/resources/schemas/date.yaml           |   2 +-
 .../src/test/resources/schemas/double.yaml         |   2 +-
 .../src/test/resources/schemas/doubleObject.yaml   |   2 +-
 .../src/test/resources/schemas/enum.yaml           |   6 +-
 .../src/test/resources/schemas/float.yaml          |   2 +-
 .../src/test/resources/schemas/floatObject.yaml    |   2 +-
 .../src/test/resources/schemas/int.yaml            |   2 +-
 .../src/test/resources/schemas/intObject.yaml      |   2 +-
 .../src/test/resources/schemas/list.yaml           |   4 +-
 .../src/test/resources/schemas/long.yaml           |   2 +-
 .../src/test/resources/schemas/longObject.yaml     |   2 +-
 .../src/test/resources/schemas/map.yaml            |   4 +-
 .../src/test/resources/schemas/mapList.yaml        |   4 +-
 .../src/test/resources/schemas/multiParam.yaml     |  10 +-
 .../src/test/resources/schemas/object.yaml         |   4 +-
 .../src/test/resources/schemas/responseHeader.yaml |   2 +-
 .../src/test/resources/schemas/set.yaml            |   2 +-
 .../src/test/resources/schemas/short.yaml          |   2 +-
 .../src/test/resources/schemas/shortObject.yaml    |   2 +-
 .../src/test/resources/schemas/string.yaml         |   2 +-
 .../jaxrs/JaxrsSwaggerGeneratorContext.java        | 114 ---
 .../annotation/ConsumesAnnotationProcessor.java    |  38 -
 .../annotation/CookieParamAnnotationProcessor.java |  35 -
 .../annotation/FormParamAnnotationProcessor.java   |  35 -
 .../annotation/HeaderParamAnnotationProcessor.java |  35 -
 .../annotation/HttpMethodAnnotationProcessor.java  |  35 -
 .../annotation/PathClassAnnotationProcessor.java   |  33 -
 .../annotation/PathMethodAnnotationProcessor.java  |  32 -
 .../annotation/PathParamAnnotationProcessor.java   |  35 -
 .../annotation/ProducesAnnotationProcessor.java    |  38 -
 .../annotation/QueryParamAnnotationProcessor.java  |  35 -
 .../parameter/JaxrsDefaultParameterProcessor.java  |  32 -
 .../processor/response/JaxrsResponseProcessor.java |  55 --
 .../jaxrs/JaxrsSwaggerGeneratorContext.java        | 114 +++
 .../annotation/ConsumesAnnotationProcessor.java    |  37 +
 .../annotation/CookieParamAnnotationProcessor.java |  36 +
 .../annotation/FormParamAnnotationProcessor.java   |  36 +
 .../annotation/HeaderParamAnnotationProcessor.java |  36 +
 .../annotation/HttpMethodAnnotationProcessor.java  |  35 +
 .../annotation/PathClassAnnotationProcessor.java   |  33 +
 .../annotation/PathMethodAnnotationProcessor.java  |  32 +
 .../annotation/PathParamAnnotationProcessor.java   |  36 +
 .../annotation/ProducesAnnotationProcessor.java    |  37 +
 .../annotation/QueryParamAnnotationProcessor.java  |  36 +
 .../parameter/JaxrsDefaultParameterProcessor.java  |  33 +
 .../processor/response/JaxrsResponseProcessor.java |  56 ++
 ...mb.swagger.generator.core.ResponseTypeProcessor |  18 -
 ....swagger.generator.core.SwaggerGeneratorContext |  18 -
 ...mb.swagger.generator.core.ResponseTypeProcessor |  18 +
 ....swagger.generator.core.SwaggerGeneratorContext |  18 +
 .../swagger/generator/jaxrs/ClassMethodNoPath.java |  28 -
 .../servicecomb/swagger/generator/jaxrs/Echo.java  | 102 ---
 .../swagger/generator/jaxrs/MultiDefaultPath.java  |  33 -
 .../swagger/generator/jaxrs/TestJaxrs.java         | 114 ---
 .../servicecomb/swagger/generator/jaxrs/User.java  |  22 -
 .../swagger/generator/jaxrs/ClassMethodNoPath.java |  28 +
 .../servicecomb/swagger/generator/jaxrs/Echo.java  | 103 +++
 .../swagger/generator/jaxrs/MultiDefaultPath.java  |  33 +
 .../swagger/generator/jaxrs/TestJaxrs.java         | 113 +++
 .../servicecomb/swagger/generator/jaxrs/User.java  |  22 +
 .../src/test/resources/schemas/cookie.yaml         |   2 +-
 .../src/test/resources/schemas/echo.yaml           |   4 +-
 .../src/test/resources/schemas/emptyContract.yaml  |   2 +-
 .../src/test/resources/schemas/emptyPath.yaml      |   2 +-
 .../src/test/resources/schemas/form.yaml           |   2 +-
 .../src/test/resources/schemas/query.yaml          |   2 +-
 .../resources/schemas/rawJsonStringMethod.yaml     |   2 +-
 .../src/test/resources/schemas/response.yaml       |   2 +-
 .../springmvc/MultipartFilePropertyCreator.java    |  39 --
 .../SpringmvcSwaggerGeneratorContext.java          | 118 ----
 ...stractHttpMethodMappingAnnotationProcessor.java |  64 --
 .../annotation/CookieValueAnnotationProcessor.java |  35 -
 .../DeleteMappingMethodAnnotationProcessor.java    |  46 --
 .../GetMappingMethodAnnotationProcessor.java       |  46 --
 .../PatchMappingMethodAnnotationProcessor.java     |  46 --
 .../PathVariableAnnotationProcessor.java           |  35 -
 .../PostMappingMethodAnnotationProcessor.java      |  46 --
 .../PutMappingMethodAnnotationProcessor.java       |  46 --
 .../RequestAttributeAnnotationProcessor.java       |  35 -
 .../annotation/RequestBodyAnnotationProcessor.java |  31 -
 .../RequestHeaderAnnotationProcessor.java          |  45 --
 .../RequestMappingClassAnnotationProcessor.java    |  86 ---
 .../RequestMappingMethodAnnotationProcessor.java   |  62 --
 .../RequestParamAnnotationProcessor.java           |  35 -
 .../annotation/RequestPartAnnotationProcessor.java |  35 -
 .../parameter/MultipartFileTypeProcessor.java      |  41 --
 .../SpringmvcDefaultParameterProcessor.java        |  39 --
 .../response/ResponseEntityProcessor.java          |  28 -
 .../springmvc/MultipartFilePropertyCreator.java    |  39 ++
 .../SpringmvcSwaggerGeneratorContext.java          | 117 ++++
 ...stractHttpMethodMappingAnnotationProcessor.java |  64 ++
 .../annotation/CookieValueAnnotationProcessor.java |  35 +
 .../DeleteMappingMethodAnnotationProcessor.java    |  46 ++
 .../GetMappingMethodAnnotationProcessor.java       |  46 ++
 .../PatchMappingMethodAnnotationProcessor.java     |  46 ++
 .../PathVariableAnnotationProcessor.java           |  35 +
 .../PostMappingMethodAnnotationProcessor.java      |  46 ++
 .../PutMappingMethodAnnotationProcessor.java       |  46 ++
 .../RequestAttributeAnnotationProcessor.java       |  35 +
 .../annotation/RequestBodyAnnotationProcessor.java |  32 +
 .../RequestHeaderAnnotationProcessor.java          |  45 ++
 .../RequestMappingClassAnnotationProcessor.java    |  86 +++
 .../RequestMappingMethodAnnotationProcessor.java   |  62 ++
 .../RequestParamAnnotationProcessor.java           |  35 +
 .../annotation/RequestPartAnnotationProcessor.java |  35 +
 .../parameter/MultipartFileTypeProcessor.java      |  41 ++
 .../SpringmvcDefaultParameterProcessor.java        |  40 ++
 .../response/ResponseEntityProcessor.java          |  27 +
 ...swagger.extend.property.creator.PropertyCreator |  18 -
 ...ger.generator.core.CommonParameterTypeProcessor |  18 -
 ...mb.swagger.generator.core.ResponseTypeProcessor |  18 -
 ....swagger.generator.core.SwaggerGeneratorContext |  18 -
 ...swagger.extend.property.creator.PropertyCreator |  18 +
 ...ger.generator.core.CommonParameterTypeProcessor |  18 +
 ...mb.swagger.generator.core.ResponseTypeProcessor |  18 +
 ....swagger.generator.core.SwaggerGeneratorContext |  18 +
 .../springmvc/ClassMethodNoHttpMethod.java         |  28 -
 .../generator/springmvc/ClassMethodNoPath.java     |  29 -
 .../generator/springmvc/ClassMultiHttpMethod.java  |  26 -
 .../generator/springmvc/ClassMultiPath.java        |  25 -
 .../swagger/generator/springmvc/Echo.java          |  47 --
 .../springmvc/MethodDefaultParameter.java          |  54 --
 .../generator/springmvc/MethodEmptyPath.java       |  63 --
 .../springmvc/MethodMixupAnnotations.java          |  89 ---
 .../generator/springmvc/MethodMultiPath.java       |  58 --
 .../generator/springmvc/MethodResponseEntity.java  |  63 --
 .../generator/springmvc/MultiDefaultPath.java      |  34 -
 .../springmvc/TestResponseEntityProcessor.java     |  32 -
 .../swagger/generator/springmvc/TestSpringmvc.java | 182 -----
 .../swagger/generator/springmvc/User.java          |  22 -
 .../springmvc/ClassMethodNoHttpMethod.java         |  28 +
 .../generator/springmvc/ClassMethodNoPath.java     |  29 +
 .../generator/springmvc/ClassMultiHttpMethod.java  |  26 +
 .../generator/springmvc/ClassMultiPath.java        |  25 +
 .../swagger/generator/springmvc/Echo.java          |  46 ++
 .../springmvc/MethodDefaultParameter.java          |  54 ++
 .../generator/springmvc/MethodEmptyPath.java       |  63 ++
 .../springmvc/MethodMixupAnnotations.java          |  89 +++
 .../generator/springmvc/MethodMultiPath.java       |  58 ++
 .../generator/springmvc/MethodResponseEntity.java  |  63 ++
 .../generator/springmvc/MultiDefaultPath.java      |  34 +
 .../springmvc/TestResponseEntityProcessor.java     |  31 +
 .../swagger/generator/springmvc/TestSpringmvc.java | 182 +++++
 .../swagger/generator/springmvc/User.java          |  22 +
 .../test/resources/schemas/MethodEmptyPath.yaml    |   2 +-
 .../test/resources/schemas/defaultParameter.yaml   |   2 +-
 .../src/test/resources/schemas/emptyPath.yaml      |   2 +-
 .../test/resources/schemas/inheritHttpMethod.yaml  |   2 +-
 .../test/resources/schemas/mixupAnnotations.yaml   |   4 +-
 .../resources/schemas/rawJsonStringMethod.yaml     |   2 +-
 .../src/test/resources/schemas/responseEntity.yaml |   4 +-
 .../swagger/engine/SwaggerBootstrap.java           |  21 -
 .../swagger/engine/SwaggerConsumer.java            |  52 --
 .../swagger/engine/SwaggerConsumerOperation.java   |  74 --
 .../swagger/engine/SwaggerEnvironment.java         | 199 ------
 .../swagger/engine/SwaggerProducer.java            |  57 --
 .../swagger/engine/SwaggerProducerOperation.java   | 163 -----
 .../swagger/engine/bootstrap/BootstrapNormal.java  |  49 --
 .../engine/unittest/LocalProducerInvoker.java      |  94 ---
 .../parameter/InvocationContextParameter.java      |  24 -
 .../swagger/invocation/AsyncResponse.java          |  48 --
 .../swagger/invocation/InvocationType.java         |  23 -
 .../servicecomb/swagger/invocation/Response.java   | 190 -----
 .../swagger/invocation/SwaggerInvocation.java      |  60 --
 .../invocation/arguments/ArgumentMapper.java       |  24 -
 .../arguments/ArgumentsMapperConfig.java           |  60 --
 .../arguments/ArgumentsMapperFactory.java          | 186 -----
 .../arguments/ContextArgumentMapperFactory.java    |  24 -
 .../swagger/invocation/arguments/FieldInfo.java    |  40 --
 .../invocation/arguments/ProviderParameter.java    |  46 --
 .../arguments/consumer/ConsumerArgumentSame.java   |  42 --
 .../consumer/ConsumerArgumentToBodyField.java      |  84 ---
 .../consumer/ConsumerArgumentsMapper.java          |  55 --
 .../consumer/ConsumerArgumentsMapperFactory.java   |  66 --
 .../consumer/ConsumerInvocationContextMapper.java  |  36 -
 .../ConsumerInvocationContextMapperFactory.java    |  40 --
 .../producer/AbstractProducerContextArgMapper.java |  37 -
 .../arguments/producer/ProducerArgumentSame.java   |  43 --
 .../producer/ProducerArgumentsMapper.java          |  49 --
 .../producer/ProducerArgumentsMapperFactory.java   |  65 --
 .../producer/ProducerInvocationContextMapper.java  |  32 -
 .../ProducerInvocationContextMapperFactory.java    |  40 --
 .../SwaggerArgumentToProducerBodyField.java        |  57 --
 .../swagger/invocation/context/ContextUtils.java   |  48 --
 .../swagger/invocation/context/HttpStatus.java     |  23 -
 .../invocation/context/HttpStatusManager.java      |  20 -
 .../invocation/context/InvocationContext.java      |  85 ---
 .../swagger/invocation/converter/Converter.java    |  21 -
 .../swagger/invocation/converter/ConverterMgr.java | 167 -----
 .../invocation/converter/CustomizedConverter.java  |  25 -
 .../invocation/converter/impl/ConverterCommon.java |  38 -
 .../invocation/converter/impl/ConverterSame.java   |  35 -
 .../converter/impl/SameElementArrayToList.java     |  42 --
 .../converter/impl/SameElementArrayToSet.java      |  46 --
 .../impl/SameElementCollectionToArray.java         |  42 --
 .../converter/impl/part/FileToPartConverter.java   |  48 --
 .../impl/part/InputStreamToPartConverter.java      |  48 --
 .../impl/part/ResourceToPartConverter.java         |  48 --
 .../invocation/exception/CommonExceptionData.java  |  45 --
 .../DefaultExceptionToResponseConverter.java       |  39 --
 .../invocation/exception/ExceptionFactory.java     | 130 ----
 .../exception/ExceptionToResponseConverter.java    |  26 -
 .../exception/ExceptionToResponseConverters.java   |  49 --
 .../invocation/exception/InvocationException.java  |  91 ---
 .../InvocationExceptionToResponseConverter.java    |  32 -
 .../generator/InvocationContextProcessor.java      |  36 -
 .../swagger/invocation/response/Headers.java       |  77 ---
 .../invocation/response/ResponseMapperFactory.java |  35 -
 .../response/ResponseMapperFactorys.java           |  64 --
 .../swagger/invocation/response/ResponseMeta.java  |  64 --
 .../swagger/invocation/response/ResponsesMeta.java |  89 ---
 ...letableFutureConsumerResponseMapperFactory.java |  41 --
 .../response/consumer/ConsumerResponseMapper.java  |  23 -
 .../consumer/ConsumerResponseMapperFactory.java    |  22 -
 .../CseResponseConsumerResponseMapperFactory.java  |  37 -
 .../consumer/DefaultConsumerResponseMapper.java    |  33 -
 .../DefaultConsumerResponseMapperFactory.java      |  49 --
 ...letableFutureProducerResponseMapperFactory.java |  41 --
 .../CseResponseProducerResponseMapperFactory.java  |  37 -
 .../producer/DefaultProducerResponseMapper.java    |  36 -
 .../DefaultProducerResponseMapperFactory.java      |  49 --
 .../response/producer/ProducerResponseMapper.java  |  25 -
 .../producer/ProducerResponseMapperFactory.java    |  23 -
 .../swagger/engine/SwaggerBootstrap.java           |  21 +
 .../swagger/engine/SwaggerConsumer.java            |  52 ++
 .../swagger/engine/SwaggerConsumerOperation.java   |  74 ++
 .../swagger/engine/SwaggerEnvironment.java         | 199 ++++++
 .../swagger/engine/SwaggerProducer.java            |  57 ++
 .../swagger/engine/SwaggerProducerOperation.java   | 163 +++++
 .../swagger/engine/bootstrap/BootstrapNormal.java  |  49 ++
 .../engine/unittest/LocalProducerInvoker.java      |  94 +++
 .../parameter/InvocationContextParameter.java      |  24 +
 .../swagger/invocation/AsyncResponse.java          |  48 ++
 .../swagger/invocation/InvocationType.java         |  23 +
 .../servicecomb/swagger/invocation/Response.java   | 190 +++++
 .../swagger/invocation/SwaggerInvocation.java      |  60 ++
 .../invocation/arguments/ArgumentMapper.java       |  24 +
 .../arguments/ArgumentsMapperConfig.java           |  60 ++
 .../arguments/ArgumentsMapperFactory.java          | 185 +++++
 .../arguments/ContextArgumentMapperFactory.java    |  24 +
 .../swagger/invocation/arguments/FieldInfo.java    |  40 ++
 .../invocation/arguments/ProviderParameter.java    |  46 ++
 .../arguments/consumer/ConsumerArgumentSame.java   |  42 ++
 .../consumer/ConsumerArgumentToBodyField.java      |  84 +++
 .../consumer/ConsumerArgumentsMapper.java          |  55 ++
 .../consumer/ConsumerArgumentsMapperFactory.java   |  65 ++
 .../consumer/ConsumerInvocationContextMapper.java  |  36 +
 .../ConsumerInvocationContextMapperFactory.java    |  39 ++
 .../producer/AbstractProducerContextArgMapper.java |  37 +
 .../arguments/producer/ProducerArgumentSame.java   |  43 ++
 .../producer/ProducerArgumentsMapper.java          |  49 ++
 .../producer/ProducerArgumentsMapperFactory.java   |  64 ++
 .../producer/ProducerInvocationContextMapper.java  |  32 +
 .../ProducerInvocationContextMapperFactory.java    |  39 ++
 .../SwaggerArgumentToProducerBodyField.java        |  57 ++
 .../swagger/invocation/context/ContextUtils.java   |  48 ++
 .../swagger/invocation/context/HttpStatus.java     |  23 +
 .../invocation/context/HttpStatusManager.java      |  20 +
 .../invocation/context/InvocationContext.java      |  85 +++
 .../swagger/invocation/converter/Converter.java    |  21 +
 .../swagger/invocation/converter/ConverterMgr.java | 166 +++++
 .../invocation/converter/CustomizedConverter.java  |  25 +
 .../invocation/converter/impl/ConverterCommon.java |  38 +
 .../invocation/converter/impl/ConverterSame.java   |  35 +
 .../converter/impl/SameElementArrayToList.java     |  42 ++
 .../converter/impl/SameElementArrayToSet.java      |  46 ++
 .../impl/SameElementCollectionToArray.java         |  42 ++
 .../converter/impl/part/FileToPartConverter.java   |  47 ++
 .../impl/part/InputStreamToPartConverter.java      |  47 ++
 .../impl/part/ResourceToPartConverter.java         |  47 ++
 .../invocation/exception/CommonExceptionData.java  |  45 ++
 .../DefaultExceptionToResponseConverter.java       |  38 +
 .../invocation/exception/ExceptionFactory.java     | 130 ++++
 .../exception/ExceptionToResponseConverter.java    |  26 +
 .../exception/ExceptionToResponseConverters.java   |  49 ++
 .../invocation/exception/InvocationException.java  |  91 +++
 .../InvocationExceptionToResponseConverter.java    |  32 +
 .../generator/InvocationContextProcessor.java      |  36 +
 .../swagger/invocation/response/Headers.java       |  77 +++
 .../invocation/response/ResponseMapperFactory.java |  35 +
 .../response/ResponseMapperFactorys.java           |  63 ++
 .../swagger/invocation/response/ResponseMeta.java  |  65 ++
 .../swagger/invocation/response/ResponsesMeta.java |  90 +++
 ...letableFutureConsumerResponseMapperFactory.java |  41 ++
 .../response/consumer/ConsumerResponseMapper.java  |  23 +
 .../consumer/ConsumerResponseMapperFactory.java    |  22 +
 .../CseResponseConsumerResponseMapperFactory.java  |  37 +
 .../consumer/DefaultConsumerResponseMapper.java    |  33 +
 .../DefaultConsumerResponseMapperFactory.java      |  49 ++
 ...letableFutureProducerResponseMapperFactory.java |  41 ++
 .../CseResponseProducerResponseMapperFactory.java  |  37 +
 .../producer/DefaultProducerResponseMapper.java    |  36 +
 .../DefaultProducerResponseMapperFactory.java      |  49 ++
 .../response/producer/ProducerResponseMapper.java  |  25 +
 .../producer/ProducerResponseMapperFactory.java    |  23 +
 ...ger.generator.core.CommonParameterTypeProcessor |  18 -
 ...vocation.exception.ExceptionToResponseConverter |  19 -
 ...response.consumer.ConsumerResponseMapperFactory |  20 -
 ...response.producer.ProducerResponseMapperFactory |  20 -
 ...ger.generator.core.CommonParameterTypeProcessor |  18 +
 ...vocation.exception.ExceptionToResponseConverter |  19 +
 ...response.consumer.ConsumerResponseMapperFactory |  20 +
 ...response.producer.ProducerResponseMapperFactory |  20 +
 .../java/io/servicecomb/core/TestException.java    |  70 --
 .../java/io/servicecomb/core/TestResponse.java     | 129 ----
 .../servicecomb/engine/TestSwaggerEnvironment.java |  53 --
 .../engine/TestSwaggerProducerOperation.java       |  51 --
 .../arguments/TestPojoConsumerEqualProducer.java   | 195 ------
 .../arguments/TestPojoConsumerEqualSwagger.java    | 219 ------
 .../swagger/invocation/arguments/utils/Utils.java  |  30 -
 .../impl/part/TestFileToPartConverter.java         |  47 --
 .../impl/part/TestInputStreamToPartConverter.java  |  47 --
 .../impl/part/TestResourceToPartConverter.java     |  48 --
 .../exception/ErrorToResponseConverter.java        |  34 -
 .../TestDefaultExceptionToResponseConverter.java   |  39 --
 .../invocation/exception/TestExceptionFactory.java |  35 -
 .../TestExceptionToResponseConverters.java         |  71 --
 ...TestInvocationExceptionToResponseConverter.java |  39 --
 .../swagger/invocation/models/JaxrsImpl.java       | 118 ----
 .../swagger/invocation/models/Person.java          |  42 --
 .../invocation/models/PojoConsumerIntf.java        |  55 --
 .../swagger/invocation/models/PojoImpl.java        |  84 ---
 .../swagger/invocation/models/ProducerImpl.java    |  32 -
 .../swagger/invocation/models/SpringmvcImpl.java   |  22 -
 .../swagger/invocation/response/TestHeaders.java   |  66 --
 .../response/TestResponseMapperFactorys.java       |  83 ---
 .../invocation/response/TestResponsesMeta.java     |  70 --
 ...letableFutureConsumerResponseMapperFactory.java |  77 ---
 ...stCseResponseConsumerResponseMapperFactory.java |  44 --
 .../TestDefaultConsumerResponseMapper.java         |  38 -
 .../TestDefaultConsumerResponseMapperFactory.java  |  52 --
 ...letableFutureProducerResponseMapperFactory.java |  77 ---
 ...stCseResponseProducerResponseMapperFactory.java |  46 --
 .../TestDefaultProducerResponseMapper.java         |  41 --
 .../TestDefaultProducerResponseMapperFactory.java  |  56 --
 .../org/apache/servicecomb/core/TestException.java |  69 ++
 .../org/apache/servicecomb/core/TestResponse.java  | 128 ++++
 .../servicecomb/engine/TestSwaggerEnvironment.java |  52 ++
 .../engine/TestSwaggerProducerOperation.java       |  51 ++
 .../arguments/TestPojoConsumerEqualProducer.java   | 194 ++++++
 .../arguments/TestPojoConsumerEqualSwagger.java    | 218 ++++++
 .../swagger/invocation/arguments/utils/Utils.java  |  30 +
 .../impl/part/TestFileToPartConverter.java         |  47 ++
 .../impl/part/TestInputStreamToPartConverter.java  |  47 ++
 .../impl/part/TestResourceToPartConverter.java     |  48 ++
 .../exception/ErrorToResponseConverter.java        |  34 +
 .../TestDefaultExceptionToResponseConverter.java   |  39 ++
 .../invocation/exception/TestExceptionFactory.java |  34 +
 .../TestExceptionToResponseConverters.java         |  71 ++
 ...TestInvocationExceptionToResponseConverter.java |  39 ++
 .../swagger/invocation/models/JaxrsImpl.java       | 118 ++++
 .../swagger/invocation/models/Person.java          |  42 ++
 .../invocation/models/PojoConsumerIntf.java        |  56 ++
 .../swagger/invocation/models/PojoImpl.java        |  85 +++
 .../swagger/invocation/models/ProducerImpl.java    |  32 +
 .../swagger/invocation/models/SpringmvcImpl.java   |  22 +
 .../swagger/invocation/response/TestHeaders.java   |  66 ++
 .../response/TestResponseMapperFactorys.java       |  83 +++
 .../invocation/response/TestResponsesMeta.java     |  70 ++
 ...letableFutureConsumerResponseMapperFactory.java |  76 ++
 ...stCseResponseConsumerResponseMapperFactory.java |  43 ++
 .../TestDefaultConsumerResponseMapper.java         |  37 +
 .../TestDefaultConsumerResponseMapperFactory.java  |  51 ++
 ...letableFutureProducerResponseMapperFactory.java |  76 ++
 ...stCseResponseProducerResponseMapperFactory.java |  45 ++
 .../TestDefaultProducerResponseMapper.java         |  40 ++
 .../TestDefaultProducerResponseMapperFactory.java  |  55 ++
 ...vocation.exception.ExceptionToResponseConverter |   1 -
 ...vocation.exception.ExceptionToResponseConverter |  18 +
 .../response/JaxrsConsumerResponseMapper.java      |  43 --
 .../JaxrsConsumerResponseMapperFactory.java        |  38 -
 .../response/JaxrsProducerResponseMapper.java      |  44 --
 .../JaxrsProducerResponseMapperFactory.java        |  38 -
 .../response/JaxrsConsumerResponseMapper.java      |  43 ++
 .../JaxrsConsumerResponseMapperFactory.java        |  38 +
 .../response/JaxrsProducerResponseMapper.java      |  44 ++
 .../JaxrsProducerResponseMapperFactory.java        |  38 +
 ...response.consumer.ConsumerResponseMapperFactory |  18 -
 ...response.producer.ProducerResponseMapperFactory |  18 -
 ...response.consumer.ConsumerResponseMapperFactory |  18 +
 ...response.producer.ProducerResponseMapperFactory |  18 +
 .../response/TestJaxrsConsumerResponseMapper.java  | 104 ---
 .../TestJaxrsConsumerResponseMapperFactory.java    |  43 --
 .../response/TestJaxrsProducerResponseMapper.java  |  74 --
 .../TestJaxrsProducerResponseMapperFactory.java    |  43 --
 .../response/TestJaxrsConsumerResponseMapper.java  | 104 +++
 .../TestJaxrsConsumerResponseMapperFactory.java    |  43 ++
 .../response/TestJaxrsProducerResponseMapper.java  |  74 ++
 .../TestJaxrsProducerResponseMapperFactory.java    |  43 ++
 .../invocation/converter/PartToMultipartFile.java  |  77 ---
 .../converter/SpringMultipartConverter.java        |  47 --
 .../response/SpringmvcConsumerResponseMapper.java  |  55 --
 .../SpringmvcConsumerResponseMapperFactory.java    |  45 --
 .../response/SpringmvcProducerResponseMapper.java  |  68 --
 .../SpringmvcProducerResponseMapperFactory.java    |  45 --
 .../invocation/converter/PartToMultipartFile.java  |  77 +++
 .../converter/SpringMultipartConverter.java        |  47 ++
 .../response/SpringmvcConsumerResponseMapper.java  |  54 ++
 .../SpringmvcConsumerResponseMapperFactory.java    |  44 ++
 .../response/SpringmvcProducerResponseMapper.java  |  67 ++
 .../SpringmvcProducerResponseMapperFactory.java    |  44 ++
 ...response.consumer.ConsumerResponseMapperFactory |  18 -
 ...response.producer.ProducerResponseMapperFactory |  18 -
 ...response.consumer.ConsumerResponseMapperFactory |  18 +
 ...response.producer.ProducerResponseMapperFactory |  18 +
 .../converter/TestPartToMultipartFile.java         | 186 -----
 .../TestSpringmvcConsumerResponseMapper.java       |  68 --
 ...TestSpringmvcConsumerResponseMapperFactory.java | 102 ---
 .../TestSpringmvcProducerResponseMapper.java       |  91 ---
 ...TestSpringmvcProducerResponseMapperFactory.java |  81 ---
 .../converter/TestPartToMultipartFile.java         | 186 +++++
 .../TestSpringmvcConsumerResponseMapper.java       |  68 ++
 ...TestSpringmvcConsumerResponseMapperFactory.java | 101 +++
 .../TestSpringmvcProducerResponseMapper.java       |  94 +++
 ...TestSpringmvcProducerResponseMapperFactory.java |  80 +++
 tracing/README.md                                  |   2 +-
 .../src/main/java/io/servicecomb/tracing/Span.java |  31 -
 .../java/org/apache/servicecomb/tracing/Span.java  |  31 +
 .../tracing/zipkin/EnableZipkinTracing.java        |  35 -
 .../tracing/zipkin/ZipkinSpanAspect.java           |  59 --
 .../tracing/zipkin/ZipkinSpanAspectConfig.java     |  33 -
 .../tracing/zipkin/ZipkinTracingAdviser.java       |  59 --
 .../tracing/zipkin/EnableZipkinTracing.java        |  35 +
 .../tracing/zipkin/ZipkinSpanAspect.java           |  59 ++
 .../tracing/zipkin/ZipkinSpanAspectConfig.java     |  33 +
 .../tracing/zipkin/ZipkinTracingAdviser.java       |  59 ++
 .../tracing/zipkin/ZipkinSpanAspectTest.java       | 117 ----
 .../tracing/zipkin/ZipkinTracingAdviserTest.java   | 159 -----
 .../zipkin/app/ZipkinSpanTestApplication.java      |  57 --
 .../tracing/zipkin/ZipkinSpanAspectTest.java       | 116 ++++
 .../tracing/zipkin/ZipkinTracingAdviserTest.java   | 160 +++++
 .../zipkin/app/ZipkinSpanTestApplication.java      |  56 ++
 .../transport/highway/HighwayClient.java           | 123 ----
 .../transport/highway/HighwayClientConnection.java |  76 --
 .../highway/HighwayClientConnectionPool.java       |  32 -
 .../transport/highway/HighwayClientPackage.java    |  49 --
 .../highway/HighwayClientPoolFactory.java          |  33 -
 .../transport/highway/HighwayCodec.java            |  99 ---
 .../transport/highway/HighwayConfig.java           |  45 --
 .../transport/highway/HighwayOutputStream.java     |  63 --
 .../transport/highway/HighwayServer.java           |  34 -
 .../transport/highway/HighwayServerConnection.java | 123 ----
 .../transport/highway/HighwayServerInvoke.java     | 224 ------
 .../transport/highway/HighwayServerVerticle.java   |  79 ---
 .../transport/highway/HighwayTransport.java        |  60 --
 .../io/servicecomb/transport/highway/MsgType.java  |  26 -
 .../transport/highway/message/LoginRequest.java    |  76 --
 .../transport/highway/message/LoginResponse.java   |  76 --
 .../transport/highway/message/RequestHeader.java   | 117 ----
 .../transport/highway/message/ResponseHeader.java  |  95 ---
 .../transport/highway/HighwayClient.java           | 123 ++++
 .../transport/highway/HighwayClientConnection.java |  76 ++
 .../highway/HighwayClientConnectionPool.java       |  33 +
 .../transport/highway/HighwayClientPackage.java    |  49 ++
 .../highway/HighwayClientPoolFactory.java          |  34 +
 .../transport/highway/HighwayCodec.java            | 100 +++
 .../transport/highway/HighwayConfig.java           |  45 ++
 .../transport/highway/HighwayOutputStream.java     |  64 ++
 .../transport/highway/HighwayServer.java           |  34 +
 .../transport/highway/HighwayServerConnection.java | 123 ++++
 .../transport/highway/HighwayServerInvoke.java     | 224 ++++++
 .../transport/highway/HighwayServerVerticle.java   |  79 +++
 .../transport/highway/HighwayTransport.java        |  60 ++
 .../servicecomb/transport/highway/MsgType.java     |  26 +
 .../transport/highway/message/LoginRequest.java    |  77 +++
 .../transport/highway/message/LoginResponse.java   |  77 +++
 .../transport/highway/message/RequestHeader.java   | 118 ++++
 .../transport/highway/message/ResponseHeader.java  |  96 +++
 .../io/servicecomb/transport/common/MockUtil.java  |  89 ---
 .../transport/highway/TestHighwayClient.java       | 249 -------
 .../transport/highway/TestHighwayCodec.java        | 221 ------
 .../transport/highway/TestHighwayConfig.java       |  38 -
 .../highway/TestHighwayServerConnection.java       | 223 ------
 .../transport/highway/TestHighwayServerInvoke.java | 116 ----
 .../transport/highway/TestHighwayTransport.java    |  94 ---
 .../transport/highway/TestHighwayVerticle.java     |  85 ---
 .../highway/message/TestLoginRequest.java          |  32 -
 .../highway/message/TestLoginResponse.java         |  32 -
 .../highway/message/TestRequestHeader.java         |  75 --
 .../highway/message/TestResponseHeader.java        |  51 --
 .../servicecomb/transport/common/MockUtil.java     |  89 +++
 .../transport/highway/TestHighwayClient.java       | 249 +++++++
 .../transport/highway/TestHighwayCodec.java        | 221 ++++++
 .../transport/highway/TestHighwayConfig.java       |  38 +
 .../highway/TestHighwayServerConnection.java       | 223 ++++++
 .../transport/highway/TestHighwayServerInvoke.java | 116 ++++
 .../transport/highway/TestHighwayTransport.java    |  94 +++
 .../transport/highway/TestHighwayVerticle.java     |  85 +++
 .../highway/message/TestLoginRequest.java          |  32 +
 .../highway/message/TestLoginResponse.java         |  32 +
 .../highway/message/TestRequestHeader.java         |  75 ++
 .../highway/message/TestResponseHeader.java        |  51 ++
 .../transport/rest/client/RestTransportClient.java |  72 --
 .../rest/client/RestTransportClientManager.java    |  42 --
 .../rest/client/TransportClientConfig.java         |  46 --
 .../rest/client/http/DefaultHttpClientFilter.java  | 100 ---
 .../rest/client/http/VertxHttpMethod.java          | 184 -----
 .../transport/rest/client/RestTransportClient.java |  72 ++
 .../rest/client/RestTransportClientManager.java    |  43 ++
 .../rest/client/TransportClientConfig.java         |  43 ++
 .../rest/client/http/DefaultHttpClientFilter.java  | 100 +++
 .../rest/client/http/VertxHttpMethod.java          | 184 +++++
 ...servicecomb.common.rest.filter.HttpClientFilter |  18 -
 ...servicecomb.common.rest.filter.HttpClientFilter |  18 +
 .../rest/client/TestRestTransportClient.java       | 105 ---
 .../rest/client/TestTransportClientConfig.java     |  43 --
 .../client/http/TestDefaultHttpClientFilter.java   | 156 -----
 .../rest/client/http/TestVertxHttpMethod.java      | 300 --------
 .../rest/client/TestRestTransportClient.java       | 105 +++
 .../rest/client/TestTransportClientConfig.java     |  43 ++
 .../client/http/TestDefaultHttpClientFilter.java   | 157 +++++
 .../rest/client/http/TestVertxHttpMethod.java      | 300 ++++++++
 .../rest/servlet/CseXmlWebApplicationContext.java  |  86 ---
 .../transport/rest/servlet/RestAsyncListener.java  |  95 ---
 .../transport/rest/servlet/RestServlet.java        |  52 --
 .../rest/servlet/RestServletContextListener.java   |  64 --
 .../rest/servlet/RestServletInjector.java          |  71 --
 .../servlet/RestServletProducerInvocation.java     |  42 --
 .../transport/rest/servlet/ServletConfig.java      |  53 --
 .../rest/servlet/ServletRestDispatcher.java        |  59 --
 .../rest/servlet/ServletRestTransport.java         |  81 ---
 .../transport/rest/servlet/ServletUtils.java       | 134 ----
 .../rest/servlet/CseXmlWebApplicationContext.java  |  85 +++
 .../transport/rest/servlet/RestAsyncListener.java  |  94 +++
 .../transport/rest/servlet/RestServlet.java        |  52 ++
 .../rest/servlet/RestServletContextListener.java   |  63 ++
 .../rest/servlet/RestServletInjector.java          |  71 ++
 .../servlet/RestServletProducerInvocation.java     |  42 ++
 .../transport/rest/servlet/ServletConfig.java      |  53 ++
 .../rest/servlet/ServletRestDispatcher.java        |  59 ++
 .../rest/servlet/ServletRestTransport.java         |  80 +++
 .../transport/rest/servlet/ServletUtils.java       | 133 ++++
 .../servlet/TestCseXmlWebApplicationContext.java   | 124 ----
 .../rest/servlet/TestRestAsyncListener.java        | 133 ----
 .../transport/rest/servlet/TestRestServlet.java    |  75 --
 .../servlet/TestRestServletContextListener.java    |  57 --
 .../rest/servlet/TestRestServletInjector.java      |  84 ---
 .../servlet/TestRestServletProducerInvocation.java | 104 ---
 .../transport/rest/servlet/TestServletConfig.java  |  58 --
 .../rest/servlet/TestServletRestDispatcher.java    |  79 ---
 .../rest/servlet/TestServletRestTransport.java     | 167 -----
 .../transport/rest/servlet/TestServletUtils.java   | 182 -----
 .../servlet/TestCseXmlWebApplicationContext.java   | 124 ++++
 .../rest/servlet/TestRestAsyncListener.java        | 133 ++++
 .../transport/rest/servlet/TestRestServlet.java    |  75 ++
 .../servlet/TestRestServletContextListener.java    |  57 ++
 .../rest/servlet/TestRestServletInjector.java      |  84 +++
 .../servlet/TestRestServletProducerInvocation.java | 104 +++
 .../transport/rest/servlet/TestServletConfig.java  |  57 ++
 .../rest/servlet/TestServletRestDispatcher.java    |  79 +++
 .../rest/servlet/TestServletRestTransport.java     | 167 +++++
 .../transport/rest/servlet/TestServletUtils.java   | 182 +++++
 .../rest/vertx/AbstractVertxHttpDispatcher.java    |  58 --
 .../transport/rest/vertx/RestBodyHandler.java      | 263 -------
 .../transport/rest/vertx/RestServerVerticle.java   | 143 ----
 .../transport/rest/vertx/TransportConfig.java      |  43 --
 .../transport/rest/vertx/VertxHttpDispatcher.java  |  26 -
 .../transport/rest/vertx/VertxRestDispatcher.java  |  84 ---
 .../transport/rest/vertx/VertxRestTransport.java   |  85 ---
 .../vertx/accesslog/AccessLogConfiguration.java    |  50 --
 .../rest/vertx/accesslog/AccessLogParam.java       |  65 --
 .../vertx/accesslog/element/AccessLogElement.java  |  33 -
 .../element/impl/BytesWrittenV1Element.java        |  42 --
 .../element/impl/BytesWrittenV2Element.java        |  45 --
 .../accesslog/element/impl/CookieElement.java      |  60 --
 .../element/impl/DatetimeConfigurableElement.java  | 114 ---
 .../element/impl/DurationMillisecondElement.java   |  28 -
 .../element/impl/DurationSecondElement.java        |  28 -
 .../element/impl/FirstLineOfRequestElement.java    |  43 --
 .../accesslog/element/impl/LocalHostElement.java   |  49 --
 .../accesslog/element/impl/LocalPortElement.java   |  43 --
 .../accesslog/element/impl/MethodElement.java      |  45 --
 .../accesslog/element/impl/PlainTextElement.java   |  37 -
 .../accesslog/element/impl/QueryOnlyElement.java   |  43 --
 .../accesslog/element/impl/RemoteHostElement.java  |  49 --
 .../element/impl/RequestHeaderElement.java         |  53 --
 .../element/impl/ResponseHeaderElement.java        |  58 --
 .../accesslog/element/impl/StatusElement.java      |  37 -
 .../element/impl/UriPathIncludeQueryElement.java   |  44 --
 .../accesslog/element/impl/UriPathOnlyElement.java |  43 --
 .../element/impl/VersionOrProtocolElement.java     |  53 --
 .../vertx/accesslog/impl/AccessLogHandler.java     |  71 --
 .../parser/AccessLogElementExtraction.java         |  77 ---
 .../accesslog/parser/AccessLogPatternParser.java   |  24 -
 .../parser/impl/DefaultAccessLogPatternParser.java | 127 ----
 .../parser/matcher/AccessLogElementMatcher.java    |  35 -
 .../parser/matcher/impl/BytesWrittenV1Matcher.java |  36 -
 .../parser/matcher/impl/BytesWrittenV2Matcher.java |  36 -
 .../impl/ConfigurableAccessLogElementMatcher.java  |  73 --
 .../parser/matcher/impl/CookieElementMatcher.java  |  42 --
 .../matcher/impl/DatetimeConfigurableMatcher.java  |  51 --
 .../parser/matcher/impl/DatetimeMatcher.java       |  36 -
 .../matcher/impl/DurationMillisecondMatcher.java   |  36 -
 .../parser/matcher/impl/DurationSecondMatcher.java |  36 -
 .../matcher/impl/FirstLineOfRequestMatcher.java    |  36 -
 .../impl/ImmutableAccessLogElementMatcher.java     |  53 --
 .../parser/matcher/impl/LocalHostMatcher.java      |  36 -
 .../parser/matcher/impl/LocalPortMatcher.java      |  36 -
 .../parser/matcher/impl/MethodMatcher.java         |  37 -
 .../impl/MultiPatternImmutableElementMatcher.java  |  39 --
 .../parser/matcher/impl/QueryOnlyMatcher.java      |  36 -
 .../parser/matcher/impl/RemoteHostMatcher.java     |  36 -
 .../matcher/impl/RequestHeaderElementMatcher.java  |  42 --
 .../matcher/impl/ResponseHeaderElementMatcher.java |  42 --
 .../impl/SinglePatternImmutableElementMatcher.java |  37 -
 .../parser/matcher/impl/StatusMatcher.java         |  36 -
 .../matcher/impl/UriPathIncludeQueryMatcher.java   |  72 --
 .../parser/matcher/impl/UriPathOnlyMatcher.java    |  36 -
 .../matcher/impl/VersionOrProtocolMatcher.java     |  36 -
 .../rest/vertx/AbstractVertxHttpDispatcher.java    |  58 ++
 .../transport/rest/vertx/RestBodyHandler.java      | 264 +++++++
 .../transport/rest/vertx/RestServerVerticle.java   | 143 ++++
 .../transport/rest/vertx/TransportConfig.java      |  45 ++
 .../transport/rest/vertx/VertxHttpDispatcher.java  |  26 +
 .../transport/rest/vertx/VertxRestDispatcher.java  |  84 +++
 .../transport/rest/vertx/VertxRestTransport.java   |  85 +++
 .../vertx/accesslog/AccessLogConfiguration.java    |  50 ++
 .../rest/vertx/accesslog/AccessLogParam.java       |  65 ++
 .../transport/rest/vertx/accesslog/README.md       |   0
 .../vertx/accesslog/element/AccessLogElement.java  |  33 +
 .../element/impl/BytesWrittenV1Element.java        |  43 ++
 .../element/impl/BytesWrittenV2Element.java        |  46 ++
 .../accesslog/element/impl/CookieElement.java      |  61 ++
 .../element/impl/DatetimeConfigurableElement.java  | 113 +++
 .../element/impl/DurationMillisecondElement.java   |  28 +
 .../element/impl/DurationSecondElement.java        |  28 +
 .../element/impl/FirstLineOfRequestElement.java    |  43 ++
 .../accesslog/element/impl/LocalHostElement.java   |  49 ++
 .../accesslog/element/impl/LocalPortElement.java   |  44 ++
 .../accesslog/element/impl/MethodElement.java      |  46 ++
 .../accesslog/element/impl/PlainTextElement.java   |  37 +
 .../accesslog/element/impl/QueryOnlyElement.java   |  43 ++
 .../accesslog/element/impl/RemoteHostElement.java  |  49 ++
 .../element/impl/RequestHeaderElement.java         |  54 ++
 .../element/impl/ResponseHeaderElement.java        |  59 ++
 .../accesslog/element/impl/StatusElement.java      |  38 +
 .../element/impl/UriPathIncludeQueryElement.java   |  44 ++
 .../accesslog/element/impl/UriPathOnlyElement.java |  44 ++
 .../element/impl/VersionOrProtocolElement.java     |  54 ++
 .../vertx/accesslog/impl/AccessLogHandler.java     |  71 ++
 .../parser/AccessLogElementExtraction.java         |  77 +++
 .../accesslog/parser/AccessLogPatternParser.java   |  24 +
 .../parser/impl/DefaultAccessLogPatternParser.java | 125 ++++
 .../parser/matcher/AccessLogElementMatcher.java    |  35 +
 .../parser/matcher/impl/BytesWrittenV1Matcher.java |  36 +
 .../parser/matcher/impl/BytesWrittenV2Matcher.java |  36 +
 .../impl/ConfigurableAccessLogElementMatcher.java  |  73 ++
 .../parser/matcher/impl/CookieElementMatcher.java  |  42 ++
 .../matcher/impl/DatetimeConfigurableMatcher.java  |  51 ++
 .../parser/matcher/impl/DatetimeMatcher.java       |  36 +
 .../matcher/impl/DurationMillisecondMatcher.java   |  36 +
 .../parser/matcher/impl/DurationSecondMatcher.java |  36 +
 .../matcher/impl/FirstLineOfRequestMatcher.java    |  36 +
 .../impl/ImmutableAccessLogElementMatcher.java     |  53 ++
 .../parser/matcher/impl/LocalHostMatcher.java      |  36 +
 .../parser/matcher/impl/LocalPortMatcher.java      |  36 +
 .../parser/matcher/impl/MethodMatcher.java         |  37 +
 .../impl/MultiPatternImmutableElementMatcher.java  |  39 ++
 .../parser/matcher/impl/QueryOnlyMatcher.java      |  36 +
 .../parser/matcher/impl/RemoteHostMatcher.java     |  36 +
 .../matcher/impl/RequestHeaderElementMatcher.java  |  42 ++
 .../matcher/impl/ResponseHeaderElementMatcher.java |  42 ++
 .../impl/SinglePatternImmutableElementMatcher.java |  37 +
 .../parser/matcher/impl/StatusMatcher.java         |  36 +
 .../matcher/impl/UriPathIncludeQueryMatcher.java   |  72 ++
 .../parser/matcher/impl/UriPathOnlyMatcher.java    |  36 +
 .../matcher/impl/VersionOrProtocolMatcher.java     |  36 +
 ...cecomb.transport.rest.vertx.VertxHttpDispatcher |  18 -
 ...cecomb.transport.rest.vertx.VertxHttpDispatcher |  18 +
 .../main/resources/config/base/log4j.properties    |   2 +-
 .../rest/vertx/MockForRestServerVerticle.java      |  65 --
 .../vertx/TestAbstractVertxHttpDispatcher.java     |  98 ---
 .../rest/vertx/TestRestServerVerticle.java         | 135 ----
 .../transport/rest/vertx/TestTransportConfig.java  |  67 --
 .../rest/vertx/TestVertxRestDispatcher.java        | 164 -----
 .../rest/vertx/TestVertxRestTransport.java         | 149 ----
 .../accesslog/AccessLogConfigurationTest.java      |  38 -
 .../element/impl/BytesWrittenV1ElementTest.java    |  79 ---
 .../element/impl/BytesWrittenV2ElementTest.java    |  78 ---
 .../accesslog/element/impl/CookieElementTest.java  | 101 ---
 .../impl/DatetimeConfigurableElementTest.java      | 127 ----
 .../impl/DurationMillisecondElementTest.java       |  38 -
 .../element/impl/DurationSecondElementTest.java    |  56 --
 .../impl/FirstLineOfRequestElementTest.java        |  52 --
 .../element/impl/LocalHostElementTest.java         | 114 ---
 .../element/impl/LocalPortElementTest.java         |  76 --
 .../accesslog/element/impl/MethodElementTest.java  |  63 --
 .../element/impl/PlainTextElementTest.java         |  31 -
 .../element/impl/QueryOnlyElementTest.java         |  90 ---
 .../element/impl/RemoteHostElementTest.java        | 117 ----
 .../element/impl/RequestHeaderElementTest.java     |  84 ---
 .../element/impl/ResponseHeaderElementTest.java    | 103 ---
 .../accesslog/element/impl/StatusElementTest.java  |  62 --
 .../impl/UriPathIncludeQueryElementTest.java       |  94 ---
 .../element/impl/UriPathOnlyElementTest.java       |  73 --
 .../element/impl/VersionOrProtocolElementTest.java |  82 ---
 .../vertx/accesslog/impl/AccessLogHandlerTest.java |  97 ---
 .../impl/DefaultAccessLogPatternParserTest.java    | 107 ---
 .../matcher/impl/BytesWrittenV1MatcherTest.java    |  63 --
 .../matcher/impl/BytesWrittenV2MatcherTest.java    |  63 --
 .../matcher/impl/CookieElementMatcherTest.java     |  65 --
 .../impl/DatetimeConfigurableMatcherTest.java      | 137 ----
 .../parser/matcher/impl/DatetimeMatcherTest.java   |  63 --
 .../impl/DurationMillisecondMatcherTest.java       |  63 --
 .../matcher/impl/DurationSecondMatcherTest.java    |  63 --
 .../impl/FirstLineOfRequestMatcherTest.java        |  63 --
 .../impl/ImmutableAccessLogElementMatcherTest.java |  81 ---
 .../parser/matcher/impl/LocalHostMatcherTest.java  |  63 --
 .../parser/matcher/impl/LocalPortMatcherTest.java  |  63 --
 .../parser/matcher/impl/MethodMatcherTest.java     |  47 --
 .../parser/matcher/impl/QueryOnlyMatcherTest.java  |  43 --
 .../parser/matcher/impl/RemoteHostMatcherTest.java |  66 --
 .../impl/RequestHeaderElementMatcherTest.java      |  64 --
 .../impl/ResponseHeaderElementMatcherTest.java     |  65 --
 .../parser/matcher/impl/StatusMatcherTest.java     |  41 --
 .../impl/UriPathIncludeQueryMatcherTest.java       |  52 --
 .../matcher/impl/UriPathOnlyMatcherTest.java       |  43 --
 .../matcher/impl/VersionOrProtocolMatcherTest.java |  66 --
 .../rest/vertx/MockForRestServerVerticle.java      |  65 ++
 .../vertx/TestAbstractVertxHttpDispatcher.java     |  98 +++
 .../rest/vertx/TestRestServerVerticle.java         | 135 ++++
 .../transport/rest/vertx/TestTransportConfig.java  |  66 ++
 .../rest/vertx/TestVertxRestDispatcher.java        | 164 +++++
 .../rest/vertx/TestVertxRestTransport.java         | 149 ++++
 .../accesslog/AccessLogConfigurationTest.java      |  38 +
 .../element/impl/BytesWrittenV1ElementTest.java    |  79 +++
 .../element/impl/BytesWrittenV2ElementTest.java    |  78 +++
 .../accesslog/element/impl/CookieElementTest.java  | 101 +++
 .../impl/DatetimeConfigurableElementTest.java      | 126 ++++
 .../impl/DurationMillisecondElementTest.java       |  37 +
 .../element/impl/DurationSecondElementTest.java    |  55 ++
 .../impl/FirstLineOfRequestElementTest.java        |  52 ++
 .../element/impl/LocalHostElementTest.java         | 114 +++
 .../element/impl/LocalPortElementTest.java         |  76 ++
 .../accesslog/element/impl/MethodElementTest.java  |  63 ++
 .../element/impl/PlainTextElementTest.java         |  31 +
 .../element/impl/QueryOnlyElementTest.java         |  90 +++
 .../element/impl/RemoteHostElementTest.java        | 117 ++++
 .../element/impl/RequestHeaderElementTest.java     |  84 +++
 .../element/impl/ResponseHeaderElementTest.java    | 103 +++
 .../accesslog/element/impl/StatusElementTest.java  |  62 ++
 .../impl/UriPathIncludeQueryElementTest.java       |  94 +++
 .../element/impl/UriPathOnlyElementTest.java       |  73 ++
 .../element/impl/VersionOrProtocolElementTest.java |  82 +++
 .../vertx/accesslog/impl/AccessLogHandlerTest.java |  97 +++
 .../impl/DefaultAccessLogPatternParserTest.java    | 107 +++
 .../matcher/impl/BytesWrittenV1MatcherTest.java    |  62 ++
 .../matcher/impl/BytesWrittenV2MatcherTest.java    |  62 ++
 .../matcher/impl/CookieElementMatcherTest.java     |  64 ++
 .../impl/DatetimeConfigurableMatcherTest.java      | 137 ++++
 .../parser/matcher/impl/DatetimeMatcherTest.java   |  62 ++
 .../impl/DurationMillisecondMatcherTest.java       |  62 ++
 .../matcher/impl/DurationSecondMatcherTest.java    |  62 ++
 .../impl/FirstLineOfRequestMatcherTest.java        |  62 ++
 .../impl/ImmutableAccessLogElementMatcherTest.java |  80 +++
 .../parser/matcher/impl/LocalHostMatcherTest.java  |  62 ++
 .../parser/matcher/impl/LocalPortMatcherTest.java  |  62 ++
 .../parser/matcher/impl/MethodMatcherTest.java     |  46 ++
 .../parser/matcher/impl/QueryOnlyMatcherTest.java  |  42 ++
 .../parser/matcher/impl/RemoteHostMatcherTest.java |  65 ++
 .../impl/RequestHeaderElementMatcherTest.java      |  63 ++
 .../impl/ResponseHeaderElementMatcherTest.java     |  64 ++
 .../parser/matcher/impl/StatusMatcherTest.java     |  40 ++
 .../impl/UriPathIncludeQueryMatcherTest.java       |  51 ++
 .../matcher/impl/UriPathOnlyMatcherTest.java       |  42 ++
 .../matcher/impl/VersionOrProtocolMatcherTest.java |  65 ++
 3435 files changed, 125101 insertions(+), 125228 deletions(-)

diff --git a/common/common-javassist/pom.xml b/common/common-javassist/pom.xml
index 69e92cf..63fb9bd 100644
--- a/common/common-javassist/pom.xml
+++ b/common/common-javassist/pom.xml
@@ -16,34 +16,34 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>io.servicecomb</groupId>
-		<artifactId>common</artifactId>
-		<version>0.6.0-SNAPSHOT</version>
-	</parent>
-	<artifactId>common-javassist</artifactId>
-	<name>Java Chassis::Common::Javassist</name>
-  
-	<dependencies>
-		<dependency>
-			<groupId>org.javassist</groupId>
-			<artifactId>javassist</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>io.servicecomb</groupId>
-			<artifactId>foundation-common</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-log4j12</artifactId>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<scope>test</scope>
-		</dependency>
-	</dependencies>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>io.servicecomb</groupId>
+    <artifactId>common</artifactId>
+    <version>0.6.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>common-javassist</artifactId>
+  <name>Java Chassis::Common::Javassist</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.javassist</groupId>
+      <artifactId>javassist</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.servicecomb</groupId>
+      <artifactId>foundation-common</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
 </project>
diff --git a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/ClassConfig.java b/common/common-javassist/src/main/java/io/servicecomb/common/javassist/ClassConfig.java
deleted file mode 100644
index 2777bbd..0000000
--- a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/ClassConfig.java
+++ /dev/null
@@ -1,104 +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 io.servicecomb.common.javassist;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.List;
-
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.type.TypeFactory;
-
-public class ClassConfig {
-
-  private String className;
-
-  private boolean intf;
-
-  private List<String> intfList = new ArrayList<>();
-
-  private List<FieldConfig> fieldList = new ArrayList<>();
-
-  private List<MethodConfig> methodList = new ArrayList<>();
-
-  public boolean isIntf() {
-    return intf;
-  }
-
-  public void setIntf(boolean intf) {
-    this.intf = intf;
-  }
-
-  public String getClassName() {
-    return className;
-  }
-
-  public void setClassName(String className) {
-    this.className = className;
-  }
-
-  public void addInterface(Class<?> intf) {
-    addInterface(intf.getName());
-  }
-
-  public void addInterface(String intf) {
-    intfList.add(intf);
-  }
-
-  public List<String> getIntfList() {
-    return intfList;
-  }
-
-  public List<FieldConfig> getFieldList() {
-    return fieldList;
-  }
-
-  public FieldConfig addField(String name, Type genericType) {
-    return addField(name, TypeFactory.defaultInstance().constructType(genericType));
-  }
-
-  public FieldConfig addField(String name, JavaType javaType) {
-    FieldConfig field = new FieldConfig();
-    field.setName(name);
-    field.setType(javaType);
-
-    fieldList.add(field);
-
-    return field;
-  }
-
-  public void addMethod(MethodConfig methodConfig) {
-    methodConfig.init();
-    methodList.add(methodConfig);
-  }
-
-  public void addMethod(String source) {
-    addMethod(source, null);
-  }
-
-  public void addMethod(String source, String genericSignature) {
-    MethodConfig methodConfig = new MethodConfig();
-    methodConfig.setSource(source);
-    methodConfig.setGenericSignature(genericSignature);
-    addMethod(methodConfig);
-  }
-
-  public List<MethodConfig> getMethodList() {
-    return methodList;
-  }
-}
diff --git a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/FieldConfig.java b/common/common-javassist/src/main/java/io/servicecomb/common/javassist/FieldConfig.java
deleted file mode 100644
index f57a396..0000000
--- a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/FieldConfig.java
+++ /dev/null
@@ -1,80 +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 io.servicecomb.common.javassist;
-
-import org.springframework.util.ClassUtils;
-
-import com.fasterxml.jackson.databind.JavaType;
-
-public class FieldConfig {
-  private String name;
-
-  // javassist的成员不支持int这样的类型,必须是Integer才行
-  private Class<?> rawType;
-
-  private JavaType type;
-
-  private boolean genGetter;
-
-  private boolean genSetter;
-
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public Class<?> getRawType() {
-    return rawType;
-  }
-
-  public JavaType getType() {
-    return type;
-  }
-
-  public void setType(JavaType type) {
-    this.rawType = ClassUtils.resolvePrimitiveIfNecessary(type.getRawClass());
-    this.type = type;
-  }
-
-  public boolean isGenGetter() {
-    return genGetter;
-  }
-
-  public void setGenGetter(boolean genGetter) {
-    this.genGetter = genGetter;
-  }
-
-  public boolean isGenSetter() {
-    return genSetter;
-  }
-
-  public void setGenSetter(boolean genSetter) {
-    this.genSetter = genSetter;
-  }
-
-  public String getGenericSignature() {
-    if (type.hasGenericTypes()) {
-      return type.getGenericSignature();
-    }
-
-    return null;
-  }
-}
diff --git a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/JavassistUtils.java b/common/common-javassist/src/main/java/io/servicecomb/common/javassist/JavassistUtils.java
deleted file mode 100644
index 78b46d2..0000000
--- a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/JavassistUtils.java
+++ /dev/null
@@ -1,352 +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 io.servicecomb.common.javassist;
-
-import static java.util.Locale.ENGLISH;
-
-import java.lang.reflect.Modifier;
-import java.util.Arrays;
-import java.util.IdentityHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.util.ClassUtils;
-
-import com.fasterxml.jackson.databind.JavaType;
-
-import javassist.CannotCompileException;
-import javassist.ClassPool;
-import javassist.CtClass;
-import javassist.CtConstructor;
-import javassist.CtField;
-import javassist.CtMethod;
-import javassist.LoaderClassPath;
-import javassist.NotFoundException;
-
-public final class JavassistUtils {
-  private static final Logger LOGGER = LoggerFactory.getLogger(JavassistUtils.class);
-
-  private static final Map<ClassLoader, ClassPool> CLASSPOOLS = new IdentityHashMap<>();
-
-  private static final Object LOCK = new Object();
-
-  private static ClassPool getOrCreateClassPool(ClassLoader classLoader) {
-    ClassPool classPool = CLASSPOOLS.get(classLoader);
-    if (classPool == null) {
-      synchronized (LOCK) {
-        classPool = CLASSPOOLS.get(classLoader);
-        if (classPool == null) {
-          classPool = new ClassPool(null);
-          classPool.appendSystemPath();
-          classPool.appendClassPath(new LoaderClassPath(classLoader));
-
-          CLASSPOOLS.put(classLoader, classPool);
-        }
-      }
-    }
-
-    return classPool;
-  }
-
-  public static void clearByClassLoader(ClassLoader classLoader) {
-    CLASSPOOLS.remove(classLoader);
-  }
-
-  private JavassistUtils() {
-  }
-
-  @SuppressWarnings("rawtypes")
-  public static Class<? extends Enum> createEnum(String clsName, String... values) {
-    return createEnum(null, clsName, Arrays.asList(values));
-  }
-
-  @SuppressWarnings("rawtypes")
-  public static Class<? extends Enum> createEnum(String clsName, List<String> values) {
-    return createEnum(null, clsName, values);
-  }
-
-  @SuppressWarnings({"rawtypes", "unchecked"})
-  public static Class<? extends Enum> createEnum(ClassLoader classLoader, String clsName, List<String> values) {
-    if (values == null || values.size() == 0) {
-      throw new Error("values is not allowed empty.");
-    }
-
-    if (classLoader == null) {
-      classLoader = Thread.currentThread().getContextClassLoader();
-    }
-
-    ClassPool classPool = getOrCreateClassPool(classLoader);
-    CtClass ctClass = classPool.makeClass(clsName);
-    ctClass.setModifiers(ctClass.getModifiers() | javassist.Modifier.ENUM);
-
-    try {
-      ctClass.setSuperclass(classPool.get(Enum.class.getName()));
-
-      addEnumConstructor(classPool, ctClass);
-      addEnumValuesMethod(ctClass, values);
-
-      return ctClass.toClass(classLoader, null);
-    } catch (Throwable e) {
-      throw new Error(e);
-    }
-  }
-
-  private static void addEnumConstructor(ClassPool classPool, CtClass ctClass) throws Exception {
-    String src = "super($1, $2);";
-    CtConstructor ctConstructor = new CtConstructor(
-        classPool.get(new String[] {String.class.getName(), int.class.getName()}), ctClass);
-    ctConstructor.setBody(src);
-
-    ctClass.addConstructor(ctConstructor);
-  }
-
-  private static void addEnumValuesMethod(CtClass ctClass, List<String> values) throws CannotCompileException {
-    StringBuilder sb = new StringBuilder();
-    sb.append("public static Enum[] values(){return new Enum[]{");
-    for (int idx = 0; idx < values.size(); idx++) {
-      String value = values.get(idx);
-
-      String line = String.format("new %s(\"%s\", %d),", ctClass.getName(), value, idx);
-      sb.append(line);
-    }
-    sb.setLength(sb.length() - 1);
-    sb.append("};}");
-
-    CtMethod valuesMethod = CtMethod.make(sb.toString(), ctClass);
-    ctClass.addMethod(valuesMethod);
-  }
-
-  public static Class<?> createClass(ClassConfig config) {
-    return createClass(null, config);
-  }
-
-  public static Class<?> createClass(ClassLoader classLoader, ClassConfig config) {
-    if (classLoader == null) {
-      classLoader = Thread.currentThread().getContextClassLoader();
-    }
-
-    ClassPool classPool = getOrCreateClassPool(classLoader);
-    CtClass ctClass = classPool.getOrNull(config.getClassName());
-    if (ctClass == null) {
-      if (config.isIntf()) {
-        ctClass = classPool.makeInterface(config.getClassName());
-      } else {
-
-        ctClass = classPool.makeClass(config.getClassName());
-      }
-    }
-
-    try {
-      for (String intfName : config.getIntfList()) {
-        ctClass.addInterface(classPool.get(intfName));
-      }
-
-      for (FieldConfig fieldConfig : config.getFieldList()) {
-        CtField field = createCtField(classPool, ctClass, fieldConfig);
-        ctClass.addField(field);
-
-        if (fieldConfig.isGenGetter()) {
-          addFieldGetter(config, fieldConfig);
-        }
-
-        if (fieldConfig.isGenSetter()) {
-          addFieldSetter(config, fieldConfig);
-        }
-      }
-
-      for (MethodConfig methodConfig : config.getMethodList()) {
-        CtMethod ctMethod = CtMethod.make(methodConfig.getSource(), ctClass);
-        if (methodConfig.getGenericSignature() != null) {
-          ctMethod.setGenericSignature(methodConfig.getGenericSignature());
-        }
-        ctClass.addMethod(ctMethod);
-      }
-
-      LOGGER.info("generate {} in classLoader {}.", config.getClassName(), classLoader);
-      return ctClass.toClass(classLoader, null);
-    } catch (Throwable e) {
-      throw new Error(String.format("Failed to create %s in classLoader %s.", config.getClassName(), classLoader), e);
-    }
-  }
-
-  public static String capitalize(String name) {
-    if (name == null || name.length() == 0) {
-      return name;
-    }
-    return name.substring(0, 1).toUpperCase(ENGLISH) + name.substring(1);
-  }
-
-  private static void addFieldGetter(ClassConfig config, FieldConfig fieldConfig) {
-    MethodConfig methodConfig = new MethodConfig();
-
-    Class<?> cls = fieldConfig.getRawType();
-    String prefix = "get";
-    if (cls.equals(Boolean.class) || cls.equals(boolean.class)) {
-      prefix = "is";
-    }
-    methodConfig.setName(prefix + capitalize(fieldConfig.getName()));
-    methodConfig.setResult(fieldConfig.getType());
-    methodConfig.setBodySource("return " + fieldConfig.getName() + ";");
-
-    config.addMethod(methodConfig);
-  }
-
-  private static void addFieldSetter(ClassConfig config, FieldConfig fieldConfig) {
-    MethodConfig methodConfig = new MethodConfig();
-    methodConfig.setName("set" + capitalize(fieldConfig.getName()));
-    methodConfig.addParameter(fieldConfig.getName(), fieldConfig.getType());
-    methodConfig.setBodySource(" this." + fieldConfig.getName() + " = " + fieldConfig.getName() + ";");
-
-    config.addMethod(methodConfig);
-  }
-
-  public static void genMultiWrapperInterface(ClassConfig config) {
-    try {
-      config.addInterface(MultiWrapper.class);
-
-      config.addMethod(genReadFieldsMethodSource(config.getFieldList()));
-      config.addMethod(genWriteFieldsMethodSource(config.getFieldList()));
-    } catch (Exception e) {
-      String msg = String.format("failed to genMultiWrapperInterface, name=%s", config.getClassName());
-      LOGGER.error(msg, e);
-
-      throw new Error(msg, e);
-    }
-  }
-
-  public static void genSingleWrapperInterface(ClassConfig config) {
-    try {
-      config.addInterface(SingleWrapper.class);
-
-      config.addMethod(genReadFieldMethodSource(config.getFieldList()));
-      config.addMethod(genWriteFieldMethodSource(config.getFieldList()));
-    } catch (Exception e) {
-      String msg = String.format("failed to genSingleWrapperMethod, name=%s", config.getClassName());
-      LOGGER.error(msg, e);
-
-      throw new Error(msg, e);
-    }
-  }
-
-  private static String genReadFieldsMethodSource(List<FieldConfig> fieldList) throws Exception {
-    StringBuilder sb = new StringBuilder();
-    sb.append("public Object[] readFields(){");
-    sb.append(String.format("Object values[] = new Object[%d];", fieldList.size()));
-
-    for (int idx = 0; idx < fieldList.size(); idx++) {
-      String fieldName = fieldList.get(idx).getName();
-      String code = String.format("    values[%d] = %s;",
-          idx,
-          fieldName);
-
-      sb.append(code);
-    }
-    sb.append("return values;");
-    sb.append("}");
-
-    return sb.toString();
-  }
-
-  private static String genWriteFieldsMethodSource(List<FieldConfig> fieldList) throws Exception {
-    StringBuilder sb = new StringBuilder();
-    sb.append("public void writeFields(Object[] values){");
-    for (int idx = 0; idx < fieldList.size(); idx++) {
-      FieldConfig fieldConfig = fieldList.get(idx);
-
-      String fieldName = fieldConfig.getName();
-      Class<?> type = fieldConfig.getRawType();
-      String code = String.format("    %s = (%s)values[%d];",
-          fieldName,
-          type.getTypeName(),
-          idx);
-
-      sb.append(code);
-    }
-    sb.append("}");
-
-    return sb.toString();
-  }
-
-  private static String genReadFieldMethodSource(List<FieldConfig> fieldList) throws Exception {
-    StringBuilder sb = new StringBuilder();
-    sb.append("public Object readField(){");
-
-    String fieldName = "null";
-    if (!fieldList.isEmpty()) {
-      fieldName = fieldList.get(0).getName();
-    }
-
-    sb.append(String.format("    return %s;", fieldName));
-    sb.append("}");
-
-    return sb.toString();
-  }
-
-  private static String genWriteFieldMethodSource(List<FieldConfig> fieldList) throws Exception {
-    StringBuilder sb = new StringBuilder();
-    sb.append("public void writeField(Object value){");
-
-    if (!fieldList.isEmpty()) {
-      FieldConfig fieldConfig = fieldList.get(0);
-      sb.append(
-          String.format("    %s=(%s)value;",
-              fieldConfig.getName(),
-              fieldConfig.getRawType().getTypeName()));
-    }
-
-    sb.append("}");
-
-    return sb.toString();
-  }
-
-  private static CtField createCtField(ClassPool pool, CtClass ctClass, FieldConfig field) throws Exception {
-    Class<?> fieldType = field.getRawType();
-
-    CtField ctField = new CtField(pool.getCtClass(fieldType.getName()), field.getName(), ctClass);
-    if (field.getGenericSignature() != null) {
-      ctField.setGenericSignature(field.getGenericSignature());
-    }
-    ctField.setModifiers(Modifier.PUBLIC);
-    return ctField;
-  }
-
-  public static String getNameForGenerateCode(JavaType javaType) {
-    if (byte[].class.equals(javaType.getRawClass())) {
-      return "byte[]";
-    }
-
-    if (!javaType.isArrayType()) {
-      Class<?> rawClass = ClassUtils.resolvePrimitiveIfNecessary(javaType.getRawClass());
-      return rawClass.getTypeName();
-    }
-
-    return javaType.getContentType().getRawClass().getName() + "[]";
-  }
-
-  // for test
-  public static void detach(String clsName) {
-    try {
-      ClassPool classPool = getOrCreateClassPool(Thread.currentThread().getContextClassLoader());
-      classPool.getCtClass(clsName).detach();
-    } catch (NotFoundException e) {
-      // do nothing.
-    }
-  }
-}
diff --git a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/MethodConfig.java b/common/common-javassist/src/main/java/io/servicecomb/common/javassist/MethodConfig.java
deleted file mode 100644
index 152d35f..0000000
--- a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/MethodConfig.java
+++ /dev/null
@@ -1,121 +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 io.servicecomb.common.javassist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.fasterxml.jackson.databind.JavaType;
-
-public class MethodConfig {
-  private String name;
-
-  private JavaType result;
-
-  private List<ParameterConfig> parameterList = new ArrayList<>();
-
-  // 不包括前后的{}
-  private String bodySource;
-
-  // 根据上面的信息,生成下面两个字段
-  // 包括method声明和body
-  // 如果是接口,则只是method声明
-  private String source;
-
-  // 泛型声明,如果method参数及应答中没有泛型类型,则此字段应该为null
-  private String genericSignature;
-
-  public String getSource() {
-    return source;
-  }
-
-  public void setSource(String source) {
-    this.source = source;
-  }
-
-  public String getGenericSignature() {
-    return genericSignature;
-  }
-
-  public void setGenericSignature(String genericSignature) {
-    this.genericSignature = genericSignature;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public void setResult(JavaType result) {
-    this.result = result;
-  }
-
-  public void addParameter(String name, JavaType type) {
-    ParameterConfig parameterConfig = new ParameterConfig();
-    parameterConfig.setName(name);
-    parameterConfig.setType(type);
-    parameterList.add(parameterConfig);
-  }
-
-  public void setBodySource(String bodySource) {
-    this.bodySource = bodySource;
-  }
-
-  void init() {
-    if (source != null) {
-      return;
-    }
-
-    StringBuilder sbMethod = new StringBuilder();
-    StringBuilder sbMethodGenericSignature = new StringBuilder();
-
-    sbMethod.append("public ");
-    sbMethod.append(result == null ? "void" : JavassistUtils.getNameForGenerateCode(result));
-    sbMethod.append(" ")
-        .append(name)
-        .append("(");
-    sbMethodGenericSignature.append("(");
-
-    boolean hasGenericSignature = result == null ? false : result.hasGenericTypes();
-    for (ParameterConfig parameter : parameterList) {
-      hasGenericSignature = hasGenericSignature || parameter.getType().hasGenericTypes();
-
-      String paramTypeName = JavassistUtils.getNameForGenerateCode(parameter.getType());
-      String code = String.format("%s %s,", paramTypeName, parameter.getName());
-      sbMethod.append(code);
-      sbMethodGenericSignature.append(parameter.getType().getGenericSignature());
-    }
-
-    if (!parameterList.isEmpty()) {
-      sbMethod.setLength(sbMethod.length() - 1);
-    }
-    sbMethod.append(")");
-    sbMethodGenericSignature.append(")");
-    sbMethodGenericSignature.append(result == null ? "V" : result.getGenericSignature());
-
-    if (bodySource != null) {
-      sbMethod.append("{").append(bodySource).append("}");
-    } else {
-      sbMethod.append(";");
-    }
-
-    source = sbMethod.toString();
-    if (hasGenericSignature) {
-      genericSignature = sbMethodGenericSignature.toString();
-    }
-  }
-}
diff --git a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/MultiWrapper.java b/common/common-javassist/src/main/java/io/servicecomb/common/javassist/MultiWrapper.java
deleted file mode 100644
index 2dcc840..0000000
--- a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/MultiWrapper.java
+++ /dev/null
@@ -1,24 +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 io.servicecomb.common.javassist;
-
-public interface MultiWrapper {
-  void writeFields(Object[] values);
-
-  Object[] readFields();
-}
diff --git a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/ParameterConfig.java b/common/common-javassist/src/main/java/io/servicecomb/common/javassist/ParameterConfig.java
deleted file mode 100644
index b4d8d5f..0000000
--- a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/ParameterConfig.java
+++ /dev/null
@@ -1,41 +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 io.servicecomb.common.javassist;
-
-import com.fasterxml.jackson.databind.JavaType;
-
-public class ParameterConfig {
-  private String name;
-
-  private JavaType type;
-
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public JavaType getType() {
-    return type;
-  }
-
-  public void setType(JavaType type) {
-    this.type = type;
-  }
-}
diff --git a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/SingleWrapper.java b/common/common-javassist/src/main/java/io/servicecomb/common/javassist/SingleWrapper.java
deleted file mode 100644
index 52f54f4..0000000
--- a/common/common-javassist/src/main/java/io/servicecomb/common/javassist/SingleWrapper.java
+++ /dev/null
@@ -1,24 +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 io.servicecomb.common.javassist;
-
-public interface SingleWrapper {
-  void writeField(Object value);
-
-  Object readField();
-}
diff --git a/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/ClassConfig.java b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/ClassConfig.java
new file mode 100644
index 0000000..9471d7a
--- /dev/null
+++ b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/ClassConfig.java
@@ -0,0 +1,104 @@
+/*
+ * 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.common.javassist;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.type.TypeFactory;
+
+public class ClassConfig {
+
+  private String className;
+
+  private boolean intf;
+
+  private List<String> intfList = new ArrayList<>();
+
+  private List<FieldConfig> fieldList = new ArrayList<>();
+
+  private List<MethodConfig> methodList = new ArrayList<>();
+
+  public boolean isIntf() {
+    return intf;
+  }
+
+  public void setIntf(boolean intf) {
+    this.intf = intf;
+  }
+
+  public String getClassName() {
+    return className;
+  }
+
+  public void setClassName(String className) {
+    this.className = className;
+  }
+
+  public void addInterface(Class<?> intf) {
+    addInterface(intf.getName());
+  }
+
+  public void addInterface(String intf) {
+    intfList.add(intf);
+  }
+
+  public List<String> getIntfList() {
+    return intfList;
+  }
+
+  public List<FieldConfig> getFieldList() {
+    return fieldList;
+  }
+
+  public FieldConfig addField(String name, Type genericType) {
+    return addField(name, TypeFactory.defaultInstance().constructType(genericType));
+  }
+
+  public FieldConfig addField(String name, JavaType javaType) {
+    FieldConfig field = new FieldConfig();
+    field.setName(name);
+    field.setType(javaType);
+
+    fieldList.add(field);
+
+    return field;
+  }
+
+  public void addMethod(MethodConfig methodConfig) {
+    methodConfig.init();
+    methodList.add(methodConfig);
+  }
+
+  public void addMethod(String source) {
+    addMethod(source, null);
+  }
+
+  public void addMethod(String source, String genericSignature) {
+    MethodConfig methodConfig = new MethodConfig();
+    methodConfig.setSource(source);
+    methodConfig.setGenericSignature(genericSignature);
+    addMethod(methodConfig);
+  }
+
+  public List<MethodConfig> getMethodList() {
+    return methodList;
+  }
+}
diff --git a/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/FieldConfig.java b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/FieldConfig.java
new file mode 100644
index 0000000..c630b73
--- /dev/null
+++ b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/FieldConfig.java
@@ -0,0 +1,80 @@
+/*
+ * 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.common.javassist;
+
+import org.springframework.util.ClassUtils;
+
+import com.fasterxml.jackson.databind.JavaType;
+
+public class FieldConfig {
+  private String name;
+
+  // javassist的成员不支持int这样的类型,必须是Integer才行
+  private Class<?> rawType;
+
+  private JavaType type;
+
+  private boolean genGetter;
+
+  private boolean genSetter;
+
+  public String getName() {
+    return name;
+  }
+
+  public void setName(String name) {
+    this.name = name;
+  }
+
+  public Class<?> getRawType() {
+    return rawType;
+  }
+
+  public JavaType getType() {
+    return type;
+  }
+
+  public void setType(JavaType type) {
+    this.rawType = ClassUtils.resolvePrimitiveIfNecessary(type.getRawClass());
+    this.type = type;
+  }
+
+  public boolean isGenGetter() {
+    return genGetter;
+  }
+
+  public void setGenGetter(boolean genGetter) {
+    this.genGetter = genGetter;
+  }
+
+  public boolean isGenSetter() {
+    return genSetter;
+  }
+
+  public void setGenSetter(boolean genSetter) {
+    this.genSetter = genSetter;
+  }
+
+  public String getGenericSignature() {
+    if (type.hasGenericTypes()) {
+      return type.getGenericSignature();
+    }
+
+    return null;
+  }
+}
diff --git a/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/JavassistUtils.java b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/JavassistUtils.java
new file mode 100644
index 0000000..41cd844
--- /dev/null
+++ b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/JavassistUtils.java
@@ -0,0 +1,352 @@
+/*
+ * 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.common.javassist;
+
+import static java.util.Locale.ENGLISH;
+
+import java.lang.reflect.Modifier;
+import java.util.Arrays;
+import java.util.IdentityHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.util.ClassUtils;
+
+import com.fasterxml.jackson.databind.JavaType;
+
+import javassist.CannotCompileException;
+import javassist.ClassPool;
+import javassist.CtClass;
+import javassist.CtConstructor;
+import javassist.CtField;
+import javassist.CtMethod;
+import javassist.LoaderClassPath;
+import javassist.NotFoundException;
+
+public final class JavassistUtils {
+  private static final Logger LOGGER = LoggerFactory.getLogger(JavassistUtils.class);
+
+  private static final Map<ClassLoader, ClassPool> CLASSPOOLS = new IdentityHashMap<>();
+
+  private static final Object LOCK = new Object();
+
+  private static ClassPool getOrCreateClassPool(ClassLoader classLoader) {
+    ClassPool classPool = CLASSPOOLS.get(classLoader);
+    if (classPool == null) {
+      synchronized (LOCK) {
+        classPool = CLASSPOOLS.get(classLoader);
+        if (classPool == null) {
+          classPool = new ClassPool(null);
+          classPool.appendSystemPath();
+          classPool.appendClassPath(new LoaderClassPath(classLoader));
+
+          CLASSPOOLS.put(classLoader, classPool);
+        }
+      }
+    }
+
+    return classPool;
+  }
+
+  public static void clearByClassLoader(ClassLoader classLoader) {
+    CLASSPOOLS.remove(classLoader);
+  }
+
+  private JavassistUtils() {
+  }
+
+  @SuppressWarnings("rawtypes")
+  public static Class<? extends Enum> createEnum(String clsName, String... values) {
+    return createEnum(null, clsName, Arrays.asList(values));
+  }
+
+  @SuppressWarnings("rawtypes")
+  public static Class<? extends Enum> createEnum(String clsName, List<String> values) {
+    return createEnum(null, clsName, values);
+  }
+
+  @SuppressWarnings({"rawtypes", "unchecked"})
+  public static Class<? extends Enum> createEnum(ClassLoader classLoader, String clsName, List<String> values) {
+    if (values == null || values.size() == 0) {
+      throw new Error("values is not allowed empty.");
+    }
+
+    if (classLoader == null) {
+      classLoader = Thread.currentThread().getContextClassLoader();
+    }
+
+    ClassPool classPool = getOrCreateClassPool(classLoader);
+    CtClass ctClass = classPool.makeClass(clsName);
+    ctClass.setModifiers(ctClass.getModifiers() | javassist.Modifier.ENUM);
+
+    try {
+      ctClass.setSuperclass(classPool.get(Enum.class.getName()));
+
+      addEnumConstructor(classPool, ctClass);
+      addEnumValuesMethod(ctClass, values);
+
+      return ctClass.toClass(classLoader, null);
+    } catch (Throwable e) {
+      throw new Error(e);
+    }
+  }
+
+  private static void addEnumConstructor(ClassPool classPool, CtClass ctClass) throws Exception {
+    String src = "super($1, $2);";
+    CtConstructor ctConstructor = new CtConstructor(
+        classPool.get(new String[] {String.class.getName(), int.class.getName()}), ctClass);
+    ctConstructor.setBody(src);
+
+    ctClass.addConstructor(ctConstructor);
+  }
+
+  private static void addEnumValuesMethod(CtClass ctClass, List<String> values) throws CannotCompileException {
+    StringBuilder sb = new StringBuilder();
+    sb.append("public static Enum[] values(){return new Enum[]{");
+    for (int idx = 0; idx < values.size(); idx++) {
+      String value = values.get(idx);
+
+      String line = String.format("new %s(\"%s\", %d),", ctClass.getName(), value, idx);
+      sb.append(line);
+    }
+    sb.setLength(sb.length() - 1);
+    sb.append("};}");
+
+    CtMethod valuesMethod = CtMethod.make(sb.toString(), ctClass);
+    ctClass.addMethod(valuesMethod);
+  }
+
+  public static Class<?> createClass(ClassConfig config) {
+    return createClass(null, config);
+  }
+
+  public static Class<?> createClass(ClassLoader classLoader, ClassConfig config) {
+    if (classLoader == null) {
+      classLoader = Thread.currentThread().getContextClassLoader();
+    }
+
+    ClassPool classPool = getOrCreateClassPool(classLoader);
+    CtClass ctClass = classPool.getOrNull(config.getClassName());
+    if (ctClass == null) {
+      if (config.isIntf()) {
+        ctClass = classPool.makeInterface(config.getClassName());
+      } else {
+
+        ctClass = classPool.makeClass(config.getClassName());
+      }
+    }
+
+    try {
+      for (String intfName : config.getIntfList()) {
+        ctClass.addInterface(classPool.get(intfName));
+      }
+
+      for (FieldConfig fieldConfig : config.getFieldList()) {
+        CtField field = createCtField(classPool, ctClass, fieldConfig);
+        ctClass.addField(field);
+
+        if (fieldConfig.isGenGetter()) {
+          addFieldGetter(config, fieldConfig);
+        }
+
+        if (fieldConfig.isGenSetter()) {
+          addFieldSetter(config, fieldConfig);
+        }
+      }
+
+      for (MethodConfig methodConfig : config.getMethodList()) {
+        CtMethod ctMethod = CtMethod.make(methodConfig.getSource(), ctClass);
+        if (methodConfig.getGenericSignature() != null) {
+          ctMethod.setGenericSignature(methodConfig.getGenericSignature());
+        }
+        ctClass.addMethod(ctMethod);
+      }
+
+      LOGGER.info("generate {} in classLoader {}.", config.getClassName(), classLoader);
+      return ctClass.toClass(classLoader, null);
+    } catch (Throwable e) {
+      throw new Error(String.format("Failed to create %s in classLoader %s.", config.getClassName(), classLoader), e);
+    }
+  }
+
+  public static String capitalize(String name) {
+    if (name == null || name.length() == 0) {
+      return name;
+    }
+    return name.substring(0, 1).toUpperCase(ENGLISH) + name.substring(1);
+  }
+
+  private static void addFieldGetter(ClassConfig config, FieldConfig fieldConfig) {
+    MethodConfig methodConfig = new MethodConfig();
+
+    Class<?> cls = fieldConfig.getRawType();
+    String prefix = "get";
+    if (cls.equals(Boolean.class) || cls.equals(boolean.class)) {
+      prefix = "is";
+    }
+    methodConfig.setName(prefix + capitalize(fieldConfig.getName()));
+    methodConfig.setResult(fieldConfig.getType());
+    methodConfig.setBodySource("return " + fieldConfig.getName() + ";");
+
+    config.addMethod(methodConfig);
+  }
+
+  private static void addFieldSetter(ClassConfig config, FieldConfig fieldConfig) {
+    MethodConfig methodConfig = new MethodConfig();
+    methodConfig.setName("set" + capitalize(fieldConfig.getName()));
+    methodConfig.addParameter(fieldConfig.getName(), fieldConfig.getType());
+    methodConfig.setBodySource(" this." + fieldConfig.getName() + " = " + fieldConfig.getName() + ";");
+
+    config.addMethod(methodConfig);
+  }
+
+  public static void genMultiWrapperInterface(ClassConfig config) {
+    try {
+      config.addInterface(MultiWrapper.class);
+
+      config.addMethod(genReadFieldsMethodSource(config.getFieldList()));
+      config.addMethod(genWriteFieldsMethodSource(config.getFieldList()));
+    } catch (Exception e) {
+      String msg = String.format("failed to genMultiWrapperInterface, name=%s", config.getClassName());
+      LOGGER.error(msg, e);
+
+      throw new Error(msg, e);
+    }
+  }
+
+  public static void genSingleWrapperInterface(ClassConfig config) {
+    try {
+      config.addInterface(SingleWrapper.class);
+
+      config.addMethod(genReadFieldMethodSource(config.getFieldList()));
+      config.addMethod(genWriteFieldMethodSource(config.getFieldList()));
+    } catch (Exception e) {
+      String msg = String.format("failed to genSingleWrapperMethod, name=%s", config.getClassName());
+      LOGGER.error(msg, e);
+
+      throw new Error(msg, e);
+    }
+  }
+
+  private static String genReadFieldsMethodSource(List<FieldConfig> fieldList) throws Exception {
+    StringBuilder sb = new StringBuilder();
+    sb.append("public Object[] readFields(){");
+    sb.append(String.format("Object values[] = new Object[%d];", fieldList.size()));
+
+    for (int idx = 0; idx < fieldList.size(); idx++) {
+      String fieldName = fieldList.get(idx).getName();
+      String code = String.format("    values[%d] = %s;",
+          idx,
+          fieldName);
+
+      sb.append(code);
+    }
+    sb.append("return values;");
+    sb.append("}");
+
+    return sb.toString();
+  }
+
+  private static String genWriteFieldsMethodSource(List<FieldConfig> fieldList) throws Exception {
+    StringBuilder sb = new StringBuilder();
+    sb.append("public void writeFields(Object[] values){");
+    for (int idx = 0; idx < fieldList.size(); idx++) {
+      FieldConfig fieldConfig = fieldList.get(idx);
+
+      String fieldName = fieldConfig.getName();
+      Class<?> type = fieldConfig.getRawType();
+      String code = String.format("    %s = (%s)values[%d];",
+          fieldName,
+          type.getTypeName(),
+          idx);
+
+      sb.append(code);
+    }
+    sb.append("}");
+
+    return sb.toString();
+  }
+
+  private static String genReadFieldMethodSource(List<FieldConfig> fieldList) throws Exception {
+    StringBuilder sb = new StringBuilder();
+    sb.append("public Object readField(){");
+
+    String fieldName = "null";
+    if (!fieldList.isEmpty()) {
+      fieldName = fieldList.get(0).getName();
+    }
+
+    sb.append(String.format("    return %s;", fieldName));
+    sb.append("}");
+
+    return sb.toString();
+  }
+
+  private static String genWriteFieldMethodSource(List<FieldConfig> fieldList) throws Exception {
+    StringBuilder sb = new StringBuilder();
+    sb.append("public void writeField(Object value){");
+
+    if (!fieldList.isEmpty()) {
+      FieldConfig fieldConfig = fieldList.get(0);
+      sb.append(
+          String.format("    %s=(%s)value;",
+              fieldConfig.getName(),
+              fieldConfig.getRawType().getTypeName()));
+    }
+
+    sb.append("}");
+
+    return sb.toString();
+  }
+
+  private static CtField createCtField(ClassPool pool, CtClass ctClass, FieldConfig field) throws Exception {
+    Class<?> fieldType = field.getRawType();
+
+    CtField ctField = new CtField(pool.getCtClass(fieldType.getName()), field.getName(), ctClass);
+    if (field.getGenericSignature() != null) {
+      ctField.setGenericSignature(field.getGenericSignature());
+    }
+    ctField.setModifiers(Modifier.PUBLIC);
+    return ctField;
+  }
+
+  public static String getNameForGenerateCode(JavaType javaType) {
+    if (byte[].class.equals(javaType.getRawClass())) {
+      return "byte[]";
+    }
+
+    if (!javaType.isArrayType()) {
+      Class<?> rawClass = ClassUtils.resolvePrimitiveIfNecessary(javaType.getRawClass());
+      return rawClass.getTypeName();
+    }
+
+    return javaType.getContentType().getRawClass().getName() + "[]";
+  }
+
+  // for test
+  public static void detach(String clsName) {
+    try {
+      ClassPool classPool = getOrCreateClassPool(Thread.currentThread().getContextClassLoader());
+      classPool.getCtClass(clsName).detach();
+    } catch (NotFoundException e) {
+      // do nothing.
+    }
+  }
+}
diff --git a/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/MethodConfig.java b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/MethodConfig.java
new file mode 100644
index 0000000..aa0b773
--- /dev/null
+++ b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/MethodConfig.java
@@ -0,0 +1,121 @@
+/*
+ * 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.common.javassist;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.fasterxml.jackson.databind.JavaType;
+
+public class MethodConfig {
+  private String name;
+
+  private JavaType result;
+
+  private List<ParameterConfig> parameterList = new ArrayList<>();
+
+  // 不包括前后的{}
+  private String bodySource;
+
+  // 根据上面的信息,生成下面两个字段
+  // 包括method声明和body
+  // 如果是接口,则只是method声明
+  private String source;
+
+  // 泛型声明,如果method参数及应答中没有泛型类型,则此字段应该为null
+  private String genericSignature;
+
+  public String getSource() {
+    return source;
+  }
+
+  public void setSource(String source) {
+    this.source = source;
+  }
+
+  public String getGenericSignature() {
+    return genericSignature;
+  }
+
+  public void setGenericSignature(String genericSignature) {
+    this.genericSignature = genericSignature;
+  }
+
+  public void setName(String name) {
+    this.name = name;
+  }
+
+  public void setResult(JavaType result) {
+    this.result = result;
+  }
+
+  public void addParameter(String name, JavaType type) {
+    ParameterConfig parameterConfig = new ParameterConfig();
+    parameterConfig.setName(name);
+    parameterConfig.setType(type);
+    parameterList.add(parameterConfig);
+  }
+
+  public void setBodySource(String bodySource) {
+    this.bodySource = bodySource;
+  }
+
+  void init() {
+    if (source != null) {
+      return;
+    }
+
+    StringBuilder sbMethod = new StringBuilder();
+    StringBuilder sbMethodGenericSignature = new StringBuilder();
+
+    sbMethod.append("public ");
+    sbMethod.append(result == null ? "void" : JavassistUtils.getNameForGenerateCode(result));
+    sbMethod.append(" ")
+        .append(name)
+        .append("(");
+    sbMethodGenericSignature.append("(");
+
+    boolean hasGenericSignature = result == null ? false : result.hasGenericTypes();
+    for (ParameterConfig parameter : parameterList) {
+      hasGenericSignature = hasGenericSignature || parameter.getType().hasGenericTypes();
+
+      String paramTypeName = JavassistUtils.getNameForGenerateCode(parameter.getType());
+      String code = String.format("%s %s,", paramTypeName, parameter.getName());
+      sbMethod.append(code);
+      sbMethodGenericSignature.append(parameter.getType().getGenericSignature());
+    }
+
+    if (!parameterList.isEmpty()) {
+      sbMethod.setLength(sbMethod.length() - 1);
+    }
+    sbMethod.append(")");
+    sbMethodGenericSignature.append(")");
+    sbMethodGenericSignature.append(result == null ? "V" : result.getGenericSignature());
+
+    if (bodySource != null) {
+      sbMethod.append("{").append(bodySource).append("}");
+    } else {
+      sbMethod.append(";");
+    }
+
+    source = sbMethod.toString();
+    if (hasGenericSignature) {
+      genericSignature = sbMethodGenericSignature.toString();
+    }
+  }
+}
diff --git a/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/MultiWrapper.java b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/MultiWrapper.java
new file mode 100644
index 0000000..4449e04
--- /dev/null
+++ b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/MultiWrapper.java
@@ -0,0 +1,24 @@
+/*
+ * 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.common.javassist;
+
+public interface MultiWrapper {
+  void writeFields(Object[] values);
+
+  Object[] readFields();
+}
diff --git a/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/ParameterConfig.java b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/ParameterConfig.java
new file mode 100644
index 0000000..d7281e6
--- /dev/null
+++ b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/ParameterConfig.java
@@ -0,0 +1,41 @@
+/*
+ * 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.common.javassist;
+
+import com.fasterxml.jackson.databind.JavaType;
+
+public class ParameterConfig {
+  private String name;
+
+  private JavaType type;
+
+  public String getName() {
+    return name;
+  }
+
+  public void setName(String name) {
+    this.name = name;
+  }
+
+  public JavaType getType() {
+    return type;
+  }
+
+  public void setType(JavaType type) {
+    this.type = type;
+  }
+}
diff --git a/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/SingleWrapper.java b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/SingleWrapper.java
new file mode 100644
index 0000000..26590b0
--- /dev/null
+++ b/common/common-javassist/src/main/java/org/apache/servicecomb/common/javassist/SingleWrapper.java
@@ -0,0 +1,24 @@
+/*
+ * 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.common.javassist;
+
+public interface SingleWrapper {
+  void writeField(Object value);
+
+  Object readField();
+}
diff --git a/common/common-javassist/src/test/java/io/servicecomb/common/javassist/TestJavassistUtils.java b/common/common-javassist/src/test/java/io/servicecomb/common/javassist/TestJavassistUtils.java
deleted file mode 100644
index 8efb6e6..0000000
--- a/common/common-javassist/src/test/java/io/servicecomb/common/javassist/TestJavassistUtils.java
+++ /dev/null
@@ -1,206 +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 io.servicecomb.common.javassist;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.type.TypeFactory;
-
-import io.servicecomb.foundation.common.utils.ReflectUtils;
-import javassist.ClassPool;
-import mockit.Deencapsulation;
-
-public class TestJavassistUtils {
-  @Test
-  public void testField() throws Exception {
-    ClassConfig classConfig = new ClassConfig();
-    classConfig.setClassName("cse.ut.testField");
-
-    FieldConfig fieldConfig = classConfig.addField("intField", int.class);
-    fieldConfig.setGenGetter(true);
-    fieldConfig.setGenSetter(true);
-
-    fieldConfig = classConfig.addField("intArrayField", int[].class);
-    fieldConfig.setGenGetter(true);
-    fieldConfig.setGenSetter(true);
-
-    fieldConfig = classConfig.addField("listStringField",
-        TypeFactory.defaultInstance().constructCollectionType(List.class, String.class));
-    fieldConfig.setGenGetter(true);
-    fieldConfig.setGenSetter(true);
-
-    Class<?> cls = JavassistUtils.createClass(classConfig);
-
-    Field field = cls.getField("intField");
-    Assert.assertEquals(Integer.class, field.getType());
-
-    Method method = cls.getMethod("getIntField");
-    Assert.assertEquals(Integer.class, method.getReturnType());
-
-    field = cls.getField("intArrayField");
-    Assert.assertEquals(int[].class, field.getType());
-
-    method = cls.getMethod("getIntArrayField");
-    Assert.assertEquals(int[].class, method.getReturnType());
-
-    field = cls.getField("listStringField");
-    Assert.assertEquals("java.util.List<java.lang.String>", field.getGenericType().getTypeName());
-
-    method = cls.getMethod("getListStringField");
-    Assert.assertEquals("java.util.List<java.lang.String>", method.getGenericReturnType().getTypeName());
-  }
-
-  @Test
-  public void testAddParameter() {
-    ClassConfig classConfig = new ClassConfig();
-    classConfig.setIntf(true);
-    String intfName = "cse.ut.TestAddParameter";
-    classConfig.setClassName(intfName);
-
-    MethodConfig methodConfig = new MethodConfig();
-    methodConfig.setName("method");
-    methodConfig.setResult(TypeFactory.defaultInstance().constructCollectionType(List.class, String.class));
-    methodConfig.addParameter("map",
-        TypeFactory.defaultInstance().constructMapType(Map.class, String.class, String.class));
-    methodConfig.addParameter("set",
-        TypeFactory.defaultInstance().constructCollectionType(Set.class, String.class));
-    classConfig.addMethod(methodConfig);
-
-    Class<?> intf = JavassistUtils.createClass(classConfig);
-
-    Assert.assertEquals(intfName, intf.getName());
-    Method method = ReflectUtils.findMethod(intf, "method");
-    Assert.assertEquals("method", method.getName());
-    Assert.assertEquals("java.util.List<java.lang.String>", method.getGenericReturnType().getTypeName());
-
-    Type[] types = method.getGenericParameterTypes();
-    Assert.assertEquals("java.util.Map<java.lang.String, java.lang.String>", types[0].getTypeName());
-    Assert.assertEquals("java.util.Set<java.lang.String>", types[1].getTypeName());
-  }
-
-  @Test
-  public void testInterface() throws Exception {
-    ClassConfig classConfig = new ClassConfig();
-    classConfig.setIntf(true);
-    String intfName = "cse.ut.TestInterface";
-    classConfig.setClassName(intfName);
-
-    String source = "java.util.List method(java.util.Map map, java.util.Set set);";
-    String genericSignature =
-        "(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Set<Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;";
-    classConfig.addMethod(source, genericSignature);
-
-    Class<?> intf = JavassistUtils.createClass(classConfig);
-
-    Assert.assertEquals(intfName, intf.getName());
-    Method method = ReflectUtils.findMethod(intf, "method");
-    Assert.assertEquals("method", method.getName());
-    Assert.assertEquals("java.util.List<java.lang.String>", method.getGenericReturnType().getTypeName());
-
-    Type[] types = method.getGenericParameterTypes();
-    Assert.assertEquals("java.util.Map<java.lang.String, java.lang.String>", types[0].getTypeName());
-    Assert.assertEquals("java.util.Set<java.lang.String>", types[1].getTypeName());
-  }
-
-  @Test
-  public void singleWrapperInt() throws Exception {
-    ClassConfig classConfig = new ClassConfig();
-    classConfig.setClassName("cse.ut.single.IntWrapper");
-    classConfig.addField("intField", TypeFactory.defaultInstance().constructType(int.class));
-
-    JavassistUtils.genSingleWrapperInterface(classConfig);
-
-    Class<?> wrapperClass = JavassistUtils.createClass(classConfig);
-
-    SingleWrapper instance = (SingleWrapper) wrapperClass.newInstance();
-    instance.writeField(100);
-    int intFieldValue = (int) instance.readField();
-    Assert.assertEquals(100, intFieldValue);
-  }
-
-  @Test
-  public void multiWrapper() throws Exception {
-    ClassConfig classConfig = new ClassConfig();
-    classConfig.setClassName("cse.ut.multi.Wrapper");
-    classConfig.addField("intField", (Type) int.class);
-    classConfig.addField("strField", String.class);
-
-    JavassistUtils.genMultiWrapperInterface(classConfig);
-
-    Class<?> wrapperClass = JavassistUtils.createClass(classConfig);
-
-    MultiWrapper instance = (MultiWrapper) wrapperClass.newInstance();
-    instance.writeFields(new Object[] {100, "test"});
-    Object[] fieldValues = (Object[]) instance.readFields();
-    Assert.assertEquals(100, fieldValues[0]);
-    Assert.assertEquals("test", fieldValues[1]);
-  }
-
-  @Test
-  public void testEnum() throws Exception {
-    @SuppressWarnings("rawtypes")
-    Class<? extends Enum> cls = JavassistUtils.createEnum("cse.ut.EnumAbc", "a", "b");
-    Method method = cls.getMethod("values");
-    Enum<?>[] values = (Enum<?>[]) method.invoke(null);
-
-    Assert.assertEquals("cse.ut.EnumAbc", cls.getName());
-    Assert.assertEquals(2, values.length);
-    Assert.assertEquals("a", values[0].name());
-    Assert.assertEquals(0, values[0].ordinal());
-    Assert.assertEquals("b", values[1].name());
-    Assert.assertEquals(1, values[1].ordinal());
-  }
-
-  @Test
-  public void testGetNameForGenerateCode() {
-    JavaType jt = TypeFactory.defaultInstance().constructType(byte[].class);
-    String name = JavassistUtils.getNameForGenerateCode(jt);
-    Assert.assertEquals("byte[]", name);
-
-    jt = TypeFactory.defaultInstance().constructType(Byte[].class);
-    name = JavassistUtils.getNameForGenerateCode(jt);
-    Assert.assertEquals("java.lang.Byte[]", name);
-
-    jt = TypeFactory.defaultInstance().constructType(Object[].class);
-    name = JavassistUtils.getNameForGenerateCode(jt);
-    Assert.assertEquals("java.lang.Object[]", name);
-  }
-
-  @Test
-  public void managerClassPool() {
-    ClassLoader classLoader1 = new ClassLoader() { };
-    ClassLoader classLoader2 = new ClassLoader() { };
-
-    ClassPool p1 = Deencapsulation.invoke(JavassistUtils.class, "getOrCreateClassPool", classLoader1);
-    ClassPool p2 = Deencapsulation.invoke(JavassistUtils.class, "getOrCreateClassPool", classLoader2);
-    Assert.assertNotSame(p1, p2);
-
-    Map<ClassLoader, ClassPool> CLASSPOOLS = Deencapsulation.getField(JavassistUtils.class, "CLASSPOOLS");
-    JavassistUtils.clearByClassLoader(classLoader1);
-    Assert.assertNull(CLASSPOOLS.get(classLoader1));
-  }
-}
diff --git a/common/common-javassist/src/test/java/org/apache/servicecomb/common/javassist/TestJavassistUtils.java b/common/common-javassist/src/test/java/org/apache/servicecomb/common/javassist/TestJavassistUtils.java
new file mode 100644
index 0000000..f7f11bb
--- /dev/null
+++ b/common/common-javassist/src/test/java/org/apache/servicecomb/common/javassist/TestJavassistUtils.java
@@ -0,0 +1,206 @@
+/*
+ * 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.common.javassist;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.servicecomb.foundation.common.utils.ReflectUtils;
+import org.junit.Assert;
+import org.junit.Test;
+
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.type.TypeFactory;
+
+import javassist.ClassPool;
+import mockit.Deencapsulation;
+
+public class TestJavassistUtils {
+  @Test
+  public void testField() throws Exception {
+    ClassConfig classConfig = new ClassConfig();
+    classConfig.setClassName("cse.ut.testField");
+
+    FieldConfig fieldConfig = classConfig.addField("intField", int.class);
+    fieldConfig.setGenGetter(true);
+    fieldConfig.setGenSetter(true);
+
+    fieldConfig = classConfig.addField("intArrayField", int[].class);
+    fieldConfig.setGenGetter(true);
+    fieldConfig.setGenSetter(true);
+
+    fieldConfig = classConfig.addField("listStringField",
+        TypeFactory.defaultInstance().constructCollectionType(List.class, String.class));
+    fieldConfig.setGenGetter(true);
+    fieldConfig.setGenSetter(true);
+
+    Class<?> cls = JavassistUtils.createClass(classConfig);
+
+    Field field = cls.getField("intField");
+    Assert.assertEquals(Integer.class, field.getType());
+
+    Method method = cls.getMethod("getIntField");
+    Assert.assertEquals(Integer.class, method.getReturnType());
+
+    field = cls.getField("intArrayField");
+    Assert.assertEquals(int[].class, field.getType());
+
+    method = cls.getMethod("getIntArrayField");
+    Assert.assertEquals(int[].class, method.getReturnType());
+
+    field = cls.getField("listStringField");
+    Assert.assertEquals("java.util.List<java.lang.String>", field.getGenericType().getTypeName());
+
+    method = cls.getMethod("getListStringField");
+    Assert.assertEquals("java.util.List<java.lang.String>", method.getGenericReturnType().getTypeName());
+  }
+
+  @Test
+  public void testAddParameter() {
+    ClassConfig classConfig = new ClassConfig();
+    classConfig.setIntf(true);
+    String intfName = "cse.ut.TestAddParameter";
+    classConfig.setClassName(intfName);
+
+    MethodConfig methodConfig = new MethodConfig();
+    methodConfig.setName("method");
+    methodConfig.setResult(TypeFactory.defaultInstance().constructCollectionType(List.class, String.class));
+    methodConfig.addParameter("map",
+        TypeFactory.defaultInstance().constructMapType(Map.class, String.class, String.class));
+    methodConfig.addParameter("set",
+        TypeFactory.defaultInstance().constructCollectionType(Set.class, String.class));
+    classConfig.addMethod(methodConfig);
+
+    Class<?> intf = JavassistUtils.createClass(classConfig);
+
+    Assert.assertEquals(intfName, intf.getName());
+    Method method = ReflectUtils.findMethod(intf, "method");
+    Assert.assertEquals("method", method.getName());
+    Assert.assertEquals("java.util.List<java.lang.String>", method.getGenericReturnType().getTypeName());
+
+    Type[] types = method.getGenericParameterTypes();
+    Assert.assertEquals("java.util.Map<java.lang.String, java.lang.String>", types[0].getTypeName());
+    Assert.assertEquals("java.util.Set<java.lang.String>", types[1].getTypeName());
+  }
+
+  @Test
+  public void testInterface() throws Exception {
+    ClassConfig classConfig = new ClassConfig();
+    classConfig.setIntf(true);
+    String intfName = "cse.ut.TestInterface";
+    classConfig.setClassName(intfName);
+
+    String source = "java.util.List method(java.util.Map map, java.util.Set set);";
+    String genericSignature =
+        "(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Set<Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;";
+    classConfig.addMethod(source, genericSignature);
+
+    Class<?> intf = JavassistUtils.createClass(classConfig);
+
+    Assert.assertEquals(intfName, intf.getName());
+    Method method = ReflectUtils.findMethod(intf, "method");
+    Assert.assertEquals("method", method.getName());
+    Assert.assertEquals("java.util.List<java.lang.String>", method.getGenericReturnType().getTypeName());
+
+    Type[] types = method.getGenericParameterTypes();
+    Assert.assertEquals("java.util.Map<java.lang.String, java.lang.String>", types[0].getTypeName());
+    Assert.assertEquals("java.util.Set<java.lang.String>", types[1].getTypeName());
+  }
+
+  @Test
+  public void singleWrapperInt() throws Exception {
+    ClassConfig classConfig = new ClassConfig();
+    classConfig.setClassName("cse.ut.single.IntWrapper");
+    classConfig.addField("intField", TypeFactory.defaultInstance().constructType(int.class));
+
+    JavassistUtils.genSingleWrapperInterface(classConfig);
+
+    Class<?> wrapperClass = JavassistUtils.createClass(classConfig);
+
+    SingleWrapper instance = (SingleWrapper) wrapperClass.newInstance();
+    instance.writeField(100);
+    int intFieldValue = (int) instance.readField();
+    Assert.assertEquals(100, intFieldValue);
+  }
+
+  @Test
+  public void multiWrapper() throws Exception {
+    ClassConfig classConfig = new ClassConfig();
+    classConfig.setClassName("cse.ut.multi.Wrapper");
+    classConfig.addField("intField", (Type) int.class);
+    classConfig.addField("strField", String.class);
+
+    JavassistUtils.genMultiWrapperInterface(classConfig);
+
+    Class<?> wrapperClass = JavassistUtils.createClass(classConfig);
+
+    MultiWrapper instance = (MultiWrapper) wrapperClass.newInstance();
+    instance.writeFields(new Object[] {100, "test"});
+    Object[] fieldValues = (Object[]) instance.readFields();
+    Assert.assertEquals(100, fieldValues[0]);
+    Assert.assertEquals("test", fieldValues[1]);
+  }
+
+  @Test
+  public void testEnum() throws Exception {
+    @SuppressWarnings("rawtypes")
+    Class<? extends Enum> cls = JavassistUtils.createEnum("cse.ut.EnumAbc", "a", "b");
+    Method method = cls.getMethod("values");
+    Enum<?>[] values = (Enum<?>[]) method.invoke(null);
+
+    Assert.assertEquals("cse.ut.EnumAbc", cls.getName());
+    Assert.assertEquals(2, values.length);
+    Assert.assertEquals("a", values[0].name());
+    Assert.assertEquals(0, values[0].ordinal());
+    Assert.assertEquals("b", values[1].name());
+    Assert.assertEquals(1, values[1].ordinal());
+  }
+
+  @Test
+  public void testGetNameForGenerateCode() {
+    JavaType jt = TypeFactory.defaultInstance().constructType(byte[].class);
+    String name = JavassistUtils.getNameForGenerateCode(jt);
+    Assert.assertEquals("byte[]", name);
+
+    jt = TypeFactory.defaultInstance().constructType(Byte[].class);
+    name = JavassistUtils.getNameForGenerateCode(jt);
+    Assert.assertEquals("java.lang.Byte[]", name);
+
+    jt = TypeFactory.defaultInstance().constructType(Object[].class);
+    name = JavassistUtils.getNameForGenerateCode(jt);
+    Assert.assertEquals("java.lang.Object[]", name);
+  }
+
+  @Test
+  public void managerClassPool() {
+    ClassLoader classLoader1 = new ClassLoader() { };
+    ClassLoader classLoader2 = new ClassLoader() { };
+
+    ClassPool p1 = Deencapsulation.invoke(JavassistUtils.class, "getOrCreateClassPool", classLoader1);
+    ClassPool p2 = Deencapsulation.invoke(JavassistUtils.class, "getOrCreateClassPool", classLoader2);
+    Assert.assertNotSame(p1, p2);
+
+    Map<ClassLoader, ClassPool> CLASSPOOLS = Deencapsulation.getField(JavassistUtils.class, "CLASSPOOLS");
+    JavassistUtils.clearByClassLoader(classLoader1);
+    Assert.assertNull(CLASSPOOLS.get(classLoader1));
+  }
+}
diff --git a/common/common-protobuf/pom.xml b/common/common-protobuf/pom.xml
index ed1b333..f9f1026 100644
--- a/common/common-protobuf/pom.xml
+++ b/common/common-protobuf/pom.xml
@@ -16,53 +16,53 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>io.servicecomb</groupId>
-		<artifactId>common</artifactId>
-		<version>0.6.0-SNAPSHOT</version>
-	</parent>
-	<artifactId>common-protobuf</artifactId>
-	<name>Java Chassis::Common::Protobuf</name>
-	
-	<dependencies>
-		<dependency>
-			<groupId>io.servicecomb</groupId>
-			<artifactId>java-chassis-core</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>io.protostuff</groupId>
-			<artifactId>protostuff-core</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>io.protostuff</groupId>
-			<artifactId>protostuff-runtime</artifactId>
-		</dependency>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>io.servicecomb</groupId>
+    <artifactId>common</artifactId>
+    <version>0.6.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>common-protobuf</artifactId>
+  <name>Java Chassis::Common::Protobuf</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>io.servicecomb</groupId>
+      <artifactId>java-chassis-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.protostuff</groupId>
+      <artifactId>protostuff-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.protostuff</groupId>
+      <artifactId>protostuff-runtime</artifactId>
+    </dependency>
 		<!-- 当前没作用,但是后续还是要改回jackson插件机制的,相关代码先保留吧 -->
-		<dependency>
-			<groupId>com.fasterxml.jackson.dataformat</groupId>
-			<artifactId>jackson-dataformat-protobuf</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>io.servicecomb</groupId>
-			<artifactId>common-javassist</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>com.google.protobuf</groupId>
-			<artifactId>protobuf-java</artifactId>
-			<version>3.3.0</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-log4j12</artifactId>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<scope>test</scope>
-		</dependency>
-	</dependencies>
+    <dependency>
+      <groupId>com.fasterxml.jackson.dataformat</groupId>
+      <artifactId>jackson-dataformat-protobuf</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.servicecomb</groupId>
+      <artifactId>common-javassist</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.google.protobuf</groupId>
+      <artifactId>protobuf-java</artifactId>
+      <version>3.3.0</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
 </project>
diff --git a/common/common-protobuf/src/main/java/io/protostuff/runtime/ProtobufCompatibleUtils.java b/common/common-protobuf/src/main/java/io/protostuff/runtime/ProtobufCompatibleUtils.java
index c9c5cc3..ac625b7 100644
--- a/common/common-protobuf/src/main/java/io/protostuff/runtime/ProtobufCompatibleUtils.java
+++ b/common/common-protobuf/src/main/java/io/protostuff/runtime/ProtobufCompatibleUtils.java
@@ -19,11 +19,12 @@ package io.protostuff.runtime;
 import java.io.IOException;
 import java.util.Map;
 
+import org.apache.servicecomb.foundation.common.utils.ReflectUtils;
+
 import io.protostuff.Input;
 import io.protostuff.Output;
 import io.protostuff.Pipe;
 import io.protostuff.WireFormat.FieldType;
-import io.servicecomb.foundation.common.utils.ReflectUtils;
 
 /**
  * protostuff实现protobuf逻辑时,关于map的编码与protobuf不兼容
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/AbstractCodec.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/AbstractCodec.java
deleted file mode 100644
index c4ddeea..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/AbstractCodec.java
+++ /dev/null
@@ -1,40 +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 io.servicecomb.codec.protobuf.codec;
-
-import java.lang.reflect.Type;
-
-import com.fasterxml.jackson.databind.ObjectReader;
-import com.fasterxml.jackson.databind.ObjectWriter;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-public abstract class AbstractCodec {
-  protected ObjectWriter writer;
-
-  protected ObjectReader reader;
-
-  public ObjectWriter getWriter() {
-    return writer;
-  }
-
-  public ObjectReader getReader() {
-    return reader;
-  }
-
-  public abstract void init(ProtobufSchema schema, Type... types);
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/AbstractFieldCodec.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/AbstractFieldCodec.java
deleted file mode 100644
index 7cfbaaf..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/AbstractFieldCodec.java
+++ /dev/null
@@ -1,82 +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 io.servicecomb.codec.protobuf.codec;
-
-import java.lang.reflect.Type;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.fasterxml.jackson.databind.type.TypeFactory;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufField;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-import io.servicecomb.codec.protobuf.jackson.CseObjectReader;
-
-public class AbstractFieldCodec extends AbstractCodec {
-  public static class ReaderHelpData {
-    // 在reader返回的Object[]中的下标
-    private int index;
-
-    private JsonDeserializer<Object> deser;
-
-    public int getIndex() {
-      return index;
-    }
-
-    public void setIndex(int index) {
-      this.index = index;
-    }
-
-    public JsonDeserializer<Object> getDeser() {
-      return deser;
-    }
-
-    public void setDeser(JsonDeserializer<Object> deser) {
-      this.deser = deser;
-    }
-  }
-
-  // key为field name
-  protected Map<String, ReaderHelpData> readerHelpDataMap = new HashMap<>();
-
-  @Override
-  public void init(ProtobufSchema schema, Type... types) {
-    initFieldMap(schema, types);
-  }
-
-  private void initFieldMap(ProtobufSchema schema, Type[] types) {
-    Iterator<ProtobufField> fieldIter = schema.getRootType().fields().iterator();
-    for (int idx = 0; idx < schema.getRootType().getFieldCount(); idx++) {
-      JavaType type = TypeFactory.defaultInstance().constructType(types[idx]);
-      ProtobufField field = fieldIter.next();
-
-      ReaderHelpData helpData = new ReaderHelpData();
-      helpData.index = idx;
-      helpData.deser = ((CseObjectReader) reader).findDeserializer(type);
-
-      readerHelpDataMap.put(field.name, helpData);
-    }
-  }
-
-  public ReaderHelpData findInfo(String name) {
-    return readerHelpDataMap.get(name);
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/ParamFieldCodec.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/ParamFieldCodec.java
deleted file mode 100644
index 7a00c05..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/ParamFieldCodec.java
+++ /dev/null
@@ -1,39 +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 io.servicecomb.codec.protobuf.codec;
-
-import java.lang.reflect.Type;
-
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-import io.servicecomb.codec.protobuf.definition.ProtobufManager;
-import io.servicecomb.codec.protobuf.jackson.CseObjectReader;
-import io.servicecomb.codec.protobuf.jackson.CseObjectWriter;
-import io.servicecomb.codec.protobuf.jackson.ParamDeserializer;
-import io.servicecomb.codec.protobuf.jackson.ParamSerializer;
-
-public class ParamFieldCodec extends AbstractFieldCodec {
-  @Override
-  public void init(ProtobufSchema schema, Type... types) {
-    writer = new CseObjectWriter(ProtobufManager.getWriter(), schema, new ParamSerializer());
-    reader =
-        new CseObjectReader(ProtobufManager.getReader(), schema, new ParamDeserializer(readerHelpDataMap));
-
-    super.init(schema, types);
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/ResultFieldCodec.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/ResultFieldCodec.java
deleted file mode 100644
index d9a998a..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/ResultFieldCodec.java
+++ /dev/null
@@ -1,39 +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 io.servicecomb.codec.protobuf.codec;
-
-import java.lang.reflect.Type;
-
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-import io.servicecomb.codec.protobuf.definition.ProtobufManager;
-import io.servicecomb.codec.protobuf.jackson.CseObjectReader;
-import io.servicecomb.codec.protobuf.jackson.CseObjectWriter;
-import io.servicecomb.codec.protobuf.jackson.ResultDeserializer;
-import io.servicecomb.codec.protobuf.jackson.ResultSerializer;
-
-public class ResultFieldCodec extends AbstractFieldCodec {
-  @Override
-  public void init(ProtobufSchema schema, Type... types) {
-    writer = new CseObjectWriter(ProtobufManager.getWriter(), schema, new ResultSerializer());
-    reader =
-        new CseObjectReader(ProtobufManager.getReader(), schema, new ResultDeserializer(readerHelpDataMap));
-
-    super.init(schema, types);
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/StandardParamCodec.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/StandardParamCodec.java
deleted file mode 100644
index c96cf9a..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/StandardParamCodec.java
+++ /dev/null
@@ -1,43 +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 io.servicecomb.codec.protobuf.codec;
-
-import java.lang.reflect.Type;
-
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.type.TypeFactory;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-import io.servicecomb.codec.protobuf.definition.ProtobufManager;
-import io.servicecomb.codec.protobuf.jackson.StandardObjectReader;
-import io.servicecomb.codec.protobuf.jackson.StandardObjectWriter;
-
-public class StandardParamCodec extends AbstractCodec {
-  @Override
-  public void init(ProtobufSchema schema, Type... types) {
-    writer = ProtobufManager.getMapper().writer(schema);
-    reader = ProtobufManager.getMapper().reader(schema);
-
-    // 需要考虑没参数的场景
-    if (types.length == 1) {
-      JavaType javaType = TypeFactory.defaultInstance().constructType(types[0]);
-      writer = new StandardObjectWriter(writer.forType(javaType));
-      reader = new StandardObjectReader(reader.forType(javaType));
-    }
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/StandardResultCodec.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/StandardResultCodec.java
deleted file mode 100644
index c477c28..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/codec/StandardResultCodec.java
+++ /dev/null
@@ -1,41 +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 io.servicecomb.codec.protobuf.codec;
-
-import java.lang.reflect.Type;
-
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.type.TypeFactory;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-import io.servicecomb.codec.protobuf.definition.ProtobufManager;
-
-public class StandardResultCodec extends AbstractCodec {
-  @Override
-  public void init(ProtobufSchema schema, Type... types) {
-    writer = ProtobufManager.getMapper().writer(schema);
-    reader = ProtobufManager.getMapper().reader(schema);
-
-    // 需要考虑void场景
-    if (types.length == 1) {
-      JavaType javaType = TypeFactory.defaultInstance().constructType(types[0]);
-      writer = writer.forType(javaType);
-      reader = reader.forType(javaType);
-    }
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/definition/OperationProtobuf.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/definition/OperationProtobuf.java
deleted file mode 100644
index bd21aa5..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/definition/OperationProtobuf.java
+++ /dev/null
@@ -1,66 +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 io.servicecomb.codec.protobuf.definition;
-
-import java.lang.reflect.Method;
-
-import javax.ws.rs.core.Response.Status.Family;
-
-import io.servicecomb.codec.protobuf.utils.ProtobufSchemaUtils;
-import io.servicecomb.codec.protobuf.utils.WrapSchema;
-import io.servicecomb.core.definition.OperationMeta;
-import io.servicecomb.swagger.invocation.response.ResponseMeta;
-
-public class OperationProtobuf {
-  private OperationMeta operationMeta;
-
-  private WrapSchema requestSchema;
-
-  private WrapSchema responseSchema;
-
-  public OperationProtobuf(OperationMeta operationMeta)
-      throws Exception {
-    this.operationMeta = operationMeta;
-
-    requestSchema = ProtobufSchemaUtils.getOrCreateArgsSchema(operationMeta);
-
-    Method method = operationMeta.getMethod();
-    responseSchema = ProtobufSchemaUtils.getOrCreateSchema(method.getGenericReturnType());
-  }
-
-  public OperationMeta getOperationMeta() {
-    return operationMeta;
-  }
-
-  public WrapSchema getRequestSchema() {
-    return requestSchema;
-  }
-
-  public WrapSchema getResponseSchema() {
-    return responseSchema;
-  }
-
-  public WrapSchema findResponseSchema(int statusCode) {
-    if (Family.SUCCESSFUL.equals(Family.familyOf(statusCode))) {
-      return responseSchema;
-    }
-
-    ResponseMeta responseMeta = operationMeta.findResponseMeta(statusCode);
-    return ProtobufSchemaUtils.getOrCreateSchema(responseMeta.getJavaType());
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/definition/ProtobufManager.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/definition/ProtobufManager.java
deleted file mode 100644
index 834c3f0..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/definition/ProtobufManager.java
+++ /dev/null
@@ -1,78 +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 io.servicecomb.codec.protobuf.definition;
-
-import com.fasterxml.jackson.databind.ObjectReader;
-import com.fasterxml.jackson.databind.ObjectWriter;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.dataformat.protobuf.ProtobufMapper;
-
-import io.servicecomb.core.definition.OperationMeta;
-
-public final class ProtobufManager {
-  private static ProtobufManager instance = new ProtobufManager();
-
-  private static ProtobufMapper mapper = new ProtobufMapper();
-
-  private static ObjectWriter writer = mapper.writer();
-
-  private static ObjectReader reader = mapper.reader();
-
-  public static final String EXT_ID = "protobuf";
-
-  private static final Object LOCK = new Object();
-
-  static {
-    // 支持在idl中定义empty message
-    mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
-  }
-
-  private ProtobufManager() {
-  }
-
-  public static OperationProtobuf getOrCreateOperation(OperationMeta operationMeta) throws Exception {
-    OperationProtobuf operationProtobuf = operationMeta.getExtData(ProtobufManager.EXT_ID);
-    if (operationProtobuf == null) {
-      synchronized (LOCK) {
-        operationProtobuf = operationMeta.getExtData(ProtobufManager.EXT_ID);
-        if (operationProtobuf == null) {
-          operationProtobuf = new OperationProtobuf(operationMeta);
-          operationMeta.putExtData(EXT_ID, operationProtobuf);
-        }
-      }
-    }
-
-    return operationProtobuf;
-  }
-
-  public static ProtobufManager getInstance() {
-    return instance;
-  }
-
-  public static ProtobufMapper getMapper() {
-    return mapper;
-  }
-
-  public static ObjectWriter getWriter() {
-    return writer;
-  }
-
-  public static ObjectReader getReader() {
-    return reader;
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/AbstractDeserializer.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/AbstractDeserializer.java
deleted file mode 100644
index bcf089b..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/AbstractDeserializer.java
+++ /dev/null
@@ -1,67 +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 io.servicecomb.codec.protobuf.jackson;
-
-import java.io.IOException;
-import java.util.Map;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-
-import io.servicecomb.codec.protobuf.codec.AbstractFieldCodec.ReaderHelpData;
-
-public abstract class AbstractDeserializer extends JsonDeserializer<Object> {
-  protected Map<String, ReaderHelpData> readerHelpDataMap;
-
-  public AbstractDeserializer(Map<String, ReaderHelpData> readerHelpDataMap) {
-    this.readerHelpDataMap = readerHelpDataMap;
-  }
-
-  @Override
-  public Object deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
-    Object result = createResult();
-    for (String fieldName = p.nextFieldName(); fieldName != null; fieldName = p.nextFieldName()) {
-      // p实际是ProtobufParser,其内部是可以直接取到proto field的,理论上可以根据id来索引
-      // 可是field默认没暴露出来,所以,直接用name索引了
-      ReaderHelpData helpData = readerHelpDataMap.get(fieldName);
-      if (helpData == null) {
-        continue;
-      }
-
-      JsonToken t = p.nextToken();
-      // Note: must handle null explicitly here; value deserializers won't
-      Object value = null;
-      if (t == JsonToken.VALUE_NULL) {
-        value = helpData.getDeser().getNullValue(ctxt);
-      } else {
-        value = helpData.getDeser().deserialize(p, ctxt);
-      }
-
-      result = updateResult(result, value, helpData);
-    }
-
-    return result;
-  }
-
-  protected abstract Object createResult();
-
-  protected abstract Object updateResult(Object result, Object value, ReaderHelpData helpData);
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/CseObjectReader.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/CseObjectReader.java
deleted file mode 100644
index b397ca6..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/CseObjectReader.java
+++ /dev/null
@@ -1,35 +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 io.servicecomb.codec.protobuf.jackson;
-
-import com.fasterxml.jackson.core.FormatSchema;
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.fasterxml.jackson.databind.ObjectReader;
-
-public class CseObjectReader extends ObjectReader {
-  private static final long serialVersionUID = -4154834940923475928L;
-
-  public CseObjectReader(ObjectReader base, FormatSchema schema, JsonDeserializer<Object> rootDeser) {
-    super(base, base.getConfig(), null, rootDeser, null, schema, null, null);
-  }
-
-  public JsonDeserializer<Object> findDeserializer(JavaType valueType) {
-    return _prefetchRootDeserializer(valueType);
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/CseObjectWriter.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/CseObjectWriter.java
deleted file mode 100644
index 4cbda8d..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/CseObjectWriter.java
+++ /dev/null
@@ -1,57 +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 io.servicecomb.codec.protobuf.jackson;
-
-import java.lang.reflect.Constructor;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.core.FormatSchema;
-import com.fasterxml.jackson.databind.JsonSerializer;
-import com.fasterxml.jackson.databind.ObjectWriter;
-
-@SuppressWarnings("unchecked")
-public class CseObjectWriter extends ObjectWriter {
-
-  private static final Logger LOGGER = LoggerFactory.getLogger(CseObjectWriter.class);
-
-  private static final long serialVersionUID = -6435897284942268001L;
-
-  private static Constructor<Prefetch> prefetchConstructor;
-
-  static {
-    prefetchConstructor = (Constructor<Prefetch>) Prefetch.class.getDeclaredConstructors()[0];
-    prefetchConstructor.setAccessible(true);
-  }
-
-  private static Prefetch createPrefetch(JsonSerializer<Object> valueSerializer) {
-    try {
-      return prefetchConstructor.newInstance(null, valueSerializer, null);
-    } catch (Exception e) {
-      LOGGER.error("create prefetch error:", e);
-    }
-    return null;
-  }
-
-  public CseObjectWriter(ObjectWriter base, FormatSchema schema, JsonSerializer<Object> valueSerializer) {
-
-    super(base, base.getConfig(), new GeneratorSettings(null, schema, null, null),
-        createPrefetch(valueSerializer));
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ParamDeserializer.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ParamDeserializer.java
deleted file mode 100644
index f373de4..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ParamDeserializer.java
+++ /dev/null
@@ -1,40 +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 io.servicecomb.codec.protobuf.jackson;
-
-import java.util.Map;
-
-import io.servicecomb.codec.protobuf.codec.AbstractFieldCodec.ReaderHelpData;
-
-public class ParamDeserializer extends AbstractDeserializer {
-
-  public ParamDeserializer(Map<String, ReaderHelpData> readerHelpDataMap) {
-    super(readerHelpDataMap);
-  }
-
-  @Override
-  protected Object createResult() {
-    return new Object[readerHelpDataMap.size()];
-  }
-
-  @Override
-  protected Object updateResult(Object result, Object value, ReaderHelpData helpData) {
-    ((Object[]) result)[helpData.getIndex()] = value;
-    return result;
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ParamSerializer.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ParamSerializer.java
deleted file mode 100644
index 1311f47..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ParamSerializer.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 io.servicecomb.codec.protobuf.jackson;
-
-import java.io.IOException;
-import java.util.Iterator;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonSerializer;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.fasterxml.jackson.dataformat.protobuf.ProtobufGenerator;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufField;
-
-public class ParamSerializer extends JsonSerializer<Object> {
-  @Override
-  public void serialize(Object value, JsonGenerator gen,
-      SerializerProvider serializers) throws IOException, JsonProcessingException {
-    gen.writeStartObject();
-
-    ProtobufGenerator protobufGenerator = (ProtobufGenerator) gen;
-    Iterator<ProtobufField> iter = protobufGenerator.getSchema().getRootType().fields().iterator();
-    Object[] values = (Object[]) value;
-    for (Object value1 : values) {
-      gen.writeObjectField(iter.next().name, value1);
-    }
-
-    gen.writeEndObject();
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ResultDeserializer.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ResultDeserializer.java
deleted file mode 100644
index 9174ada..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ResultDeserializer.java
+++ /dev/null
@@ -1,39 +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 io.servicecomb.codec.protobuf.jackson;
-
-import java.util.Map;
-
-import io.servicecomb.codec.protobuf.codec.AbstractFieldCodec.ReaderHelpData;
-
-public class ResultDeserializer extends AbstractDeserializer {
-
-  public ResultDeserializer(Map<String, ReaderHelpData> readerHelpDataMap) {
-    super(readerHelpDataMap);
-  }
-
-  @Override
-  protected Object createResult() {
-    return null;
-  }
-
-  @Override
-  protected Object updateResult(Object result, Object value, ReaderHelpData helpData) {
-    return value;
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ResultSerializer.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ResultSerializer.java
deleted file mode 100644
index 8b864be..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/ResultSerializer.java
+++ /dev/null
@@ -1,41 +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 io.servicecomb.codec.protobuf.jackson;
-
-import java.io.IOException;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonSerializer;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.fasterxml.jackson.dataformat.protobuf.ProtobufGenerator;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufField;
-
-public class ResultSerializer extends JsonSerializer<Object> {
-  @Override
-  public void serialize(Object value, JsonGenerator gen,
-      SerializerProvider serializers) throws IOException, JsonProcessingException {
-    gen.writeStartObject();
-
-    ProtobufGenerator protobufGenerator = (ProtobufGenerator) gen;
-    ProtobufField field = protobufGenerator.getSchema().getRootType().firstField();
-    gen.writeObjectField(field.name, value);
-
-    gen.writeEndObject();
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/StandardObjectReader.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/StandardObjectReader.java
deleted file mode 100644
index 755fcd2..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/StandardObjectReader.java
+++ /dev/null
@@ -1,39 +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 io.servicecomb.codec.protobuf.jackson;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectReader;
-
-public class StandardObjectReader extends ObjectReader {
-  private static final long serialVersionUID = -8162644250351645123L;
-
-  public StandardObjectReader(ObjectReader base) {
-    super(base, base.getConfig());
-  }
-
-  @SuppressWarnings("unchecked")
-  @Override
-  public <T> T readValue(InputStream src) throws IOException, JsonProcessingException {
-    T result = super.readValue(src);
-    return (T) new Object[] {result};
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/StandardObjectWriter.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/StandardObjectWriter.java
deleted file mode 100644
index bad0675..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/jackson/StandardObjectWriter.java
+++ /dev/null
@@ -1,40 +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 io.servicecomb.codec.protobuf.jackson;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import com.fasterxml.jackson.core.JsonGenerationException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectWriter;
-
-public class StandardObjectWriter extends ObjectWriter {
-  private static final long serialVersionUID = -8162644250351645123L;
-
-  public StandardObjectWriter(ObjectWriter base) {
-    super(base, base.getConfig());
-  }
-
-  @Override
-  public void writeValue(OutputStream out,
-      Object value) throws IOException, JsonGenerationException, JsonMappingException {
-    Object[] values = (Object[]) value;
-    super.writeValue(out, values[0]);
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/ProtobufSchemaUtils.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/ProtobufSchemaUtils.java
deleted file mode 100644
index cf3f9e5..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/ProtobufSchemaUtils.java
+++ /dev/null
@@ -1,160 +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 io.servicecomb.codec.protobuf.utils;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Parameter;
-import java.lang.reflect.Type;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.springframework.util.ClassUtils;
-
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.type.TypeFactory;
-
-import io.protostuff.Schema;
-import io.protostuff.runtime.ProtobufCompatibleUtils;
-import io.protostuff.runtime.RuntimeSchema;
-import io.servicecomb.codec.protobuf.utils.schema.WrapSchemaFactory;
-import io.servicecomb.common.javassist.JavassistUtils;
-import io.servicecomb.core.definition.OperationMeta;
-
-public final class ProtobufSchemaUtils {
-  private static volatile Map<String, WrapSchema> schemaCache = new ConcurrentHashMap<>();
-
-  static {
-    ProtobufCompatibleUtils.init();
-  }
-
-  private interface SchemaCreator {
-    WrapSchema create() throws Exception;
-  }
-
-  private ProtobufSchemaUtils() {
-  }
-
-  private static WrapSchema getOrCreateSchema(String className, SchemaCreator creator) {
-    WrapSchema schema = schemaCache.get(className);
-    if (schema != null) {
-      return schema;
-    }
-
-    synchronized (ProtobufSchemaUtils.class) {
-      schema = schemaCache.get(className);
-      if (schema != null) {
-        return schema;
-      }
-
-      try {
-        schema = creator.create();
-      } catch (Exception e) {
-        throw new Error(e);
-      }
-      schemaCache.put(className, schema);
-      return schema;
-    }
-  }
-
-  private static boolean isArgsNeedWrap(Method method) {
-    if (method.getParameterCount() != 1) {
-      return true;
-    }
-
-    // 单参数时,需要根据实际情况判断
-    return isNeedWrap(method.getParameterTypes()[0]);
-  }
-
-  private static boolean isNeedWrap(Class<?> cls) {
-    // protobuf不支持原子类型、enum、string、数组、collection等等作为msg,只有Object类型才可以
-    return ClassUtils.isPrimitiveOrWrapper(cls) || cls.isArray() || cls.isEnum()
-        || String.class.isAssignableFrom(cls)
-        || Collection.class.isAssignableFrom(cls)
-        || Map.class.isAssignableFrom(cls)
-        || Date.class.isAssignableFrom(cls);
-  }
-
-  // 为了支持method args的场景,全部实现ProtobufMessageWrapper接口,有的场景有点浪费,不过无关紧要
-  private static WrapSchema createWrapSchema(WrapClassConfig config) throws Exception {
-    Class<?> cls = JavassistUtils.createClass(config);
-    Schema<?> schema = RuntimeSchema.createFrom(cls);
-    return WrapSchemaFactory.createSchema(schema, config.getType());
-  }
-
-  // 适用于将单个类型包装的场景
-  // 比如return
-  public static WrapSchema getOrCreateSchema(Type type) {
-    JavaType javaType = TypeFactory.defaultInstance().constructType(type);
-    // List<String> -> java.util.List<java.lang.String>
-    // List<List<String>> -> java.util.List<java.util.List<java.lang.String>>
-    String key = javaType.toCanonical();
-    return getOrCreateSchema(key, () -> {
-      if (!isNeedWrap(javaType.getRawClass())) {
-        // 可以直接使用
-        Schema<?> schema = RuntimeSchema.createFrom(javaType.getRawClass());
-        return WrapSchemaFactory.createSchema(schema, WrapType.NOT_WRAP);
-      }
-
-      // 需要包装
-      WrapClassConfig config = new WrapClassConfig();
-      config.setType(WrapType.NORMAL_WRAP);
-
-      config.setClassName("gen.wrap.protobuf." + key.replaceAll("[<>]", "_").replace("[", "array_"));
-      if (!Void.TYPE.isAssignableFrom(javaType.getRawClass())) {
-        config.addField("field0", javaType);
-      }
-
-      JavassistUtils.genSingleWrapperInterface(config);
-
-      return createWrapSchema(config);
-    });
-  }
-
-  public static WrapSchema getOrCreateArgsSchema(OperationMeta operationMeta) {
-    Method method = operationMeta.getMethod();
-    String type = "gen." + method.getDeclaringClass().getName() + "." + method.getName() + ".Args";
-
-    return getOrCreateSchema(type, () -> {
-      if (!isArgsNeedWrap(method)) {
-        // 可以直接使用
-        Class<?> cls = (Class<?>) method.getParameterTypes()[0];
-        Schema<?> schema = RuntimeSchema.createFrom(cls);
-        return WrapSchemaFactory.createSchema(schema, WrapType.ARGS_NOT_WRAP);
-      }
-
-      // 需要包装
-      WrapClassConfig config = new WrapClassConfig();
-      config.setType(WrapType.ARGS_WRAP);
-      config.setClassName(type);
-
-      Parameter[] params = method.getParameters();
-      for (int idx = 0; idx < params.length; idx++) {
-        Parameter param = params[idx];
-        String paramName = io.servicecomb.swagger.generator.core.utils.ClassUtils
-            .correctMethodParameterName(operationMeta.getParamName(idx));
-        config.addField(paramName, param.getParameterizedType());
-      }
-
-      JavassistUtils.genMultiWrapperInterface(config);
-
-      return createWrapSchema(config);
-    });
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/WrapClassConfig.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/WrapClassConfig.java
deleted file mode 100644
index 6a56a8c..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/WrapClassConfig.java
+++ /dev/null
@@ -1,32 +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 io.servicecomb.codec.protobuf.utils;
-
-import io.servicecomb.common.javassist.ClassConfig;
-
-public class WrapClassConfig extends ClassConfig {
-  private WrapType type;
-
-  public WrapType getType() {
-    return type;
-  }
-
-  public void setType(WrapType type) {
-    this.type = type;
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/WrapSchema.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/WrapSchema.java
deleted file mode 100644
index 40a05f8..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/WrapSchema.java
+++ /dev/null
@@ -1,63 +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 io.servicecomb.codec.protobuf.utils;
-
-import java.nio.ByteBuffer;
-
-import io.protostuff.ByteBufferInput;
-import io.protostuff.Input;
-import io.protostuff.Output;
-import io.protostuff.runtime.ProtobufFeature;
-import io.protostuff.runtime.ProtobufFeatureUtils;
-import io.vertx.core.buffer.Buffer;
-
-public interface WrapSchema {
-  @SuppressWarnings("unchecked")
-  default <T> T readObject(Buffer buffer, ProtobufFeature protobufFeature) throws Exception {
-    if (buffer == null || buffer.length() == 0) {
-      // void以及函数入参为null的场景
-      // 空串时,protobuf至少为编码为1字节
-      return (T) readFromEmpty();
-    }
-
-    ByteBuffer nioBuffer = buffer.getByteBuf().nioBuffer();
-    Input input = new ByteBufferInput(nioBuffer, false);
-
-    ProtobufFeatureUtils.setProtobufFeature(protobufFeature);
-    try {
-      return (T) readObject(input);
-    } finally {
-      ProtobufFeatureUtils.removeProtobufFeature();
-    }
-  }
-
-  default void writeObject(Output output, Object value, ProtobufFeature protobufFeature) throws Exception {
-    ProtobufFeatureUtils.setProtobufFeature(protobufFeature);
-    try {
-      writeObject(output, value);
-    } finally {
-      ProtobufFeatureUtils.removeProtobufFeature();
-    }
-  }
-
-  Object readFromEmpty();
-
-  Object readObject(Input input) throws Exception;
-
-  void writeObject(Output output, Object value) throws Exception;
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/WrapType.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/WrapType.java
deleted file mode 100644
index 0224772..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/WrapType.java
+++ /dev/null
@@ -1,25 +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 io.servicecomb.codec.protobuf.utils;
-
-public enum WrapType {
-  NOT_WRAP,
-  NORMAL_WRAP,
-  ARGS_NOT_WRAP,
-  ARGS_WRAP
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/AbstractWrapSchema.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/AbstractWrapSchema.java
deleted file mode 100644
index 658ec48..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/AbstractWrapSchema.java
+++ /dev/null
@@ -1,25 +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 io.servicecomb.codec.protobuf.utils.schema;
-
-import io.protostuff.Schema;
-import io.servicecomb.codec.protobuf.utils.WrapSchema;
-
-public abstract class AbstractWrapSchema implements WrapSchema {
-  protected Schema<Object> schema;
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/ArgsNotWrapSchema.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/ArgsNotWrapSchema.java
deleted file mode 100644
index a25f74a..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/ArgsNotWrapSchema.java
+++ /dev/null
@@ -1,53 +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 io.servicecomb.codec.protobuf.utils.schema;
-
-import java.io.IOException;
-
-import io.protostuff.Input;
-import io.protostuff.Output;
-import io.protostuff.Schema;
-
-public class ArgsNotWrapSchema extends AbstractWrapSchema {
-
-  @SuppressWarnings("unchecked")
-  public ArgsNotWrapSchema(Schema<?> schema) {
-    this.schema = (Schema<Object>) schema;
-  }
-
-  @Override
-  public Object readFromEmpty() {
-    return new Object[] {null};
-  }
-
-  public Object readObject(Input input) throws IOException {
-    Object readValue = schema.newMessage();
-    schema.mergeFrom(input, readValue);
-
-    return new Object[] {readValue};
-  }
-
-  public void writeObject(Output output, Object value) throws IOException {
-    Object writeValue = ((Object[]) value)[0];
-    if (writeValue == null) {
-      return;
-    }
-
-    schema.writeTo(output, writeValue);
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/ArgsWrapSchema.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/ArgsWrapSchema.java
deleted file mode 100644
index 0c5abae..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/ArgsWrapSchema.java
+++ /dev/null
@@ -1,53 +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 io.servicecomb.codec.protobuf.utils.schema;
-
-import java.io.IOException;
-
-import io.protostuff.Input;
-import io.protostuff.Output;
-import io.protostuff.Schema;
-import io.servicecomb.common.javassist.MultiWrapper;
-
-public class ArgsWrapSchema extends AbstractWrapSchema {
-
-  @SuppressWarnings("unchecked")
-  public ArgsWrapSchema(Schema<?> schema) {
-    this.schema = (Schema<Object>) schema;
-  }
-
-  @Override
-  public Object readFromEmpty() {
-    MultiWrapper wrapper = (MultiWrapper) schema.newMessage();
-    return wrapper.readFields();
-  }
-
-  public Object readObject(Input input) throws IOException {
-    MultiWrapper wrapper = (MultiWrapper) schema.newMessage();
-    schema.mergeFrom(input, wrapper);
-
-    return wrapper.readFields();
-  }
-
-  public void writeObject(Output output, Object value) throws IOException {
-    MultiWrapper wrapper = (MultiWrapper) schema.newMessage();
-    wrapper.writeFields((Object[]) value);
-
-    schema.writeTo(output, wrapper);
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/NormalWrapSchema.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/NormalWrapSchema.java
deleted file mode 100644
index fcc58e6..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/NormalWrapSchema.java
+++ /dev/null
@@ -1,57 +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 io.servicecomb.codec.protobuf.utils.schema;
-
-import java.io.IOException;
-
-import io.protostuff.Input;
-import io.protostuff.Output;
-import io.protostuff.Schema;
-import io.servicecomb.common.javassist.SingleWrapper;
-
-public class NormalWrapSchema extends AbstractWrapSchema {
-
-  @SuppressWarnings("unchecked")
-  public NormalWrapSchema(Schema<?> schema) {
-    this.schema = (Schema<Object>) schema;
-  }
-
-  @Override
-  public Object readFromEmpty() {
-    SingleWrapper wrapper = (SingleWrapper) schema.newMessage();
-    return wrapper.readField();
-  }
-
-  public Object readObject(Input input) throws IOException {
-    SingleWrapper wrapper = (SingleWrapper) schema.newMessage();
-    schema.mergeFrom(input, wrapper);
-
-    return wrapper.readField();
-  }
-
-  public void writeObject(Output output, Object value) throws IOException {
-    if (value == null) {
-      return;
-    }
-
-    SingleWrapper wrapper = (SingleWrapper) schema.newMessage();
-    wrapper.writeField(value);
-
-    schema.writeTo(output, wrapper);
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/NotWrapSchema.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/NotWrapSchema.java
deleted file mode 100644
index 4252f59..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/NotWrapSchema.java
+++ /dev/null
@@ -1,52 +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 io.servicecomb.codec.protobuf.utils.schema;
-
-import java.io.IOException;
-
-import io.protostuff.Input;
-import io.protostuff.Output;
-import io.protostuff.Schema;
-
-public class NotWrapSchema extends AbstractWrapSchema {
-
-  @SuppressWarnings("unchecked")
-  public NotWrapSchema(Schema<?> schema) {
-    this.schema = (Schema<Object>) schema;
-  }
-
-  @Override
-  public Object readFromEmpty() {
-    return null;
-  }
-
-  public Object readObject(Input input) throws IOException {
-    Object value = schema.newMessage();
-    schema.mergeFrom(input, value);
-
-    return value;
-  }
-
-  public void writeObject(Output output, Object value) throws IOException {
-    if (value == null) {
-      return;
-    }
-
-    schema.writeTo(output, value);
-  }
-}
diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/WrapSchemaFactory.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/WrapSchemaFactory.java
deleted file mode 100644
index 9707094..0000000
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/schema/WrapSchemaFactory.java
+++ /dev/null
@@ -1,42 +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 io.servicecomb.codec.protobuf.utils.schema;
-
-import io.protostuff.Schema;
-import io.servicecomb.codec.protobuf.utils.WrapSchema;
-import io.servicecomb.codec.protobuf.utils.WrapType;
-
-public final class WrapSchemaFactory {
-  public static WrapSchema createSchema(Schema<?> schema, WrapType type) {
-    switch (type) {
-      case NOT_WRAP:
-        return new NotWrapSchema(schema);
-      case NORMAL_WRAP:
-        return new NormalWrapSchema(schema);
-      case ARGS_NOT_WRAP:
-        return new ArgsNotWrapSchema(schema);
-      case ARGS_WRAP:
-        return new ArgsWrapSchema(schema);
-      default:
-        throw new Error("impossible");
-    }
-  }
-
-  private WrapSchemaFactory() {
-  }
-}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/AbstractCodec.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/AbstractCodec.java
new file mode 100644
index 0000000..3098b19
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/AbstractCodec.java
@@ -0,0 +1,40 @@
+/*
+ * 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.codec.protobuf.codec;
+
+import java.lang.reflect.Type;
+
+import com.fasterxml.jackson.databind.ObjectReader;
+import com.fasterxml.jackson.databind.ObjectWriter;
+import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
+
+public abstract class AbstractCodec {
+  protected ObjectWriter writer;
+
+  protected ObjectReader reader;
+
+  public ObjectWriter getWriter() {
+    return writer;
+  }
+
+  public ObjectReader getReader() {
+    return reader;
+  }
+
+  public abstract void init(ProtobufSchema schema, Type... types);
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/AbstractFieldCodec.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/AbstractFieldCodec.java
new file mode 100644
index 0000000..be664e3
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/AbstractFieldCodec.java
@@ -0,0 +1,82 @@
+/*
+ * 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.codec.protobuf.codec;
+
+import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.apache.servicecomb.codec.protobuf.jackson.CseObjectReader;
+
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import com.fasterxml.jackson.databind.type.TypeFactory;
+import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufField;
+import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
+
+public class AbstractFieldCodec extends AbstractCodec {
+  public static class ReaderHelpData {
+    // 在reader返回的Object[]中的下标
+    private int index;
+
+    private JsonDeserializer<Object> deser;
+
+    public int getIndex() {
+      return index;
+    }
+
+    public void setIndex(int index) {
+      this.index = index;
+    }
+
+    public JsonDeserializer<Object> getDeser() {
+      return deser;
+    }
+
+    public void setDeser(JsonDeserializer<Object> deser) {
+      this.deser = deser;
+    }
+  }
+
+  // key为field name
+  protected Map<String, ReaderHelpData> readerHelpDataMap = new HashMap<>();
+
+  @Override
+  public void init(ProtobufSchema schema, Type... types) {
+    initFieldMap(schema, types);
+  }
+
+  private void initFieldMap(ProtobufSchema schema, Type[] types) {
+    Iterator<ProtobufField> fieldIter = schema.getRootType().fields().iterator();
+    for (int idx = 0; idx < schema.getRootType().getFieldCount(); idx++) {
+      JavaType type = TypeFactory.defaultInstance().constructType(types[idx]);
+      ProtobufField field = fieldIter.next();
+
+      ReaderHelpData helpData = new ReaderHelpData();
+      helpData.index = idx;
+      helpData.deser = ((CseObjectReader) reader).findDeserializer(type);
+
+      readerHelpDataMap.put(field.name, helpData);
+    }
+  }
+
+  public ReaderHelpData findInfo(String name) {
+    return readerHelpDataMap.get(name);
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/ParamFieldCodec.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/ParamFieldCodec.java
new file mode 100644
index 0000000..356e01a
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/ParamFieldCodec.java
@@ -0,0 +1,39 @@
+/*
+ * 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.codec.protobuf.codec;
+
+import java.lang.reflect.Type;
+
+import org.apache.servicecomb.codec.protobuf.definition.ProtobufManager;
+import org.apache.servicecomb.codec.protobuf.jackson.CseObjectReader;
+import org.apache.servicecomb.codec.protobuf.jackson.CseObjectWriter;
+import org.apache.servicecomb.codec.protobuf.jackson.ParamDeserializer;
+import org.apache.servicecomb.codec.protobuf.jackson.ParamSerializer;
+
+import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
+
+public class ParamFieldCodec extends AbstractFieldCodec {
+  @Override
+  public void init(ProtobufSchema schema, Type... types) {
+    writer = new CseObjectWriter(ProtobufManager.getWriter(), schema, new ParamSerializer());
+    reader =
+        new CseObjectReader(ProtobufManager.getReader(), schema, new ParamDeserializer(readerHelpDataMap));
+
+    super.init(schema, types);
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/ResultFieldCodec.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/ResultFieldCodec.java
new file mode 100644
index 0000000..819c8c9
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/ResultFieldCodec.java
@@ -0,0 +1,39 @@
+/*
+ * 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.codec.protobuf.codec;
+
+import java.lang.reflect.Type;
+
+import org.apache.servicecomb.codec.protobuf.definition.ProtobufManager;
+import org.apache.servicecomb.codec.protobuf.jackson.CseObjectReader;
+import org.apache.servicecomb.codec.protobuf.jackson.CseObjectWriter;
+import org.apache.servicecomb.codec.protobuf.jackson.ResultDeserializer;
+import org.apache.servicecomb.codec.protobuf.jackson.ResultSerializer;
+
+import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
+
+public class ResultFieldCodec extends AbstractFieldCodec {
+  @Override
+  public void init(ProtobufSchema schema, Type... types) {
+    writer = new CseObjectWriter(ProtobufManager.getWriter(), schema, new ResultSerializer());
+    reader =
+        new CseObjectReader(ProtobufManager.getReader(), schema, new ResultDeserializer(readerHelpDataMap));
+
+    super.init(schema, types);
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/StandardParamCodec.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/StandardParamCodec.java
new file mode 100644
index 0000000..a62a408
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/StandardParamCodec.java
@@ -0,0 +1,43 @@
+/*
+ * 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.codec.protobuf.codec;
+
+import java.lang.reflect.Type;
+
+import org.apache.servicecomb.codec.protobuf.definition.ProtobufManager;
+import org.apache.servicecomb.codec.protobuf.jackson.StandardObjectReader;
+import org.apache.servicecomb.codec.protobuf.jackson.StandardObjectWriter;
+
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.type.TypeFactory;
+import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
+
+public class StandardParamCodec extends AbstractCodec {
+  @Override
+  public void init(ProtobufSchema schema, Type... types) {
+    writer = ProtobufManager.getMapper().writer(schema);
+    reader = ProtobufManager.getMapper().reader(schema);
+
+    // 需要考虑没参数的场景
+    if (types.length == 1) {
+      JavaType javaType = TypeFactory.defaultInstance().constructType(types[0]);
+      writer = new StandardObjectWriter(writer.forType(javaType));
+      reader = new StandardObjectReader(reader.forType(javaType));
+    }
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/StandardResultCodec.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/StandardResultCodec.java
new file mode 100644
index 0000000..bffb135
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/codec/StandardResultCodec.java
@@ -0,0 +1,41 @@
+/*
+ * 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.codec.protobuf.codec;
+
+import java.lang.reflect.Type;
+
+import org.apache.servicecomb.codec.protobuf.definition.ProtobufManager;
+
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.type.TypeFactory;
+import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
+
+public class StandardResultCodec extends AbstractCodec {
+  @Override
+  public void init(ProtobufSchema schema, Type... types) {
+    writer = ProtobufManager.getMapper().writer(schema);
+    reader = ProtobufManager.getMapper().reader(schema);
+
+    // 需要考虑void场景
+    if (types.length == 1) {
+      JavaType javaType = TypeFactory.defaultInstance().constructType(types[0]);
+      writer = writer.forType(javaType);
+      reader = reader.forType(javaType);
+    }
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/definition/OperationProtobuf.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/definition/OperationProtobuf.java
new file mode 100644
index 0000000..fe97a7a
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/definition/OperationProtobuf.java
@@ -0,0 +1,66 @@
+/*
+ * 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.codec.protobuf.definition;
+
+import java.lang.reflect.Method;
+
+import javax.ws.rs.core.Response.Status.Family;
+
+import org.apache.servicecomb.codec.protobuf.utils.ProtobufSchemaUtils;
+import org.apache.servicecomb.codec.protobuf.utils.WrapSchema;
+import org.apache.servicecomb.core.definition.OperationMeta;
+import org.apache.servicecomb.swagger.invocation.response.ResponseMeta;
+
+public class OperationProtobuf {
+  private OperationMeta operationMeta;
+
+  private WrapSchema requestSchema;
+
+  private WrapSchema responseSchema;
+
+  public OperationProtobuf(OperationMeta operationMeta)
+      throws Exception {
+    this.operationMeta = operationMeta;
+
+    requestSchema = ProtobufSchemaUtils.getOrCreateArgsSchema(operationMeta);
+
+    Method method = operationMeta.getMethod();
+    responseSchema = ProtobufSchemaUtils.getOrCreateSchema(method.getGenericReturnType());
+  }
+
+  public OperationMeta getOperationMeta() {
+    return operationMeta;
+  }
+
+  public WrapSchema getRequestSchema() {
+    return requestSchema;
+  }
+
+  public WrapSchema getResponseSchema() {
+    return responseSchema;
+  }
+
+  public WrapSchema findResponseSchema(int statusCode) {
+    if (Family.SUCCESSFUL.equals(Family.familyOf(statusCode))) {
+      return responseSchema;
+    }
+
+    ResponseMeta responseMeta = operationMeta.findResponseMeta(statusCode);
+    return ProtobufSchemaUtils.getOrCreateSchema(responseMeta.getJavaType());
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/definition/ProtobufManager.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/definition/ProtobufManager.java
new file mode 100644
index 0000000..92ce73a
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/definition/ProtobufManager.java
@@ -0,0 +1,78 @@
+/*
+ * 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.codec.protobuf.definition;
+
+import org.apache.servicecomb.core.definition.OperationMeta;
+
+import com.fasterxml.jackson.databind.ObjectReader;
+import com.fasterxml.jackson.databind.ObjectWriter;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.dataformat.protobuf.ProtobufMapper;
+
+public final class ProtobufManager {
+  private static ProtobufManager instance = new ProtobufManager();
+
+  private static ProtobufMapper mapper = new ProtobufMapper();
+
+  private static ObjectWriter writer = mapper.writer();
+
+  private static ObjectReader reader = mapper.reader();
+
+  public static final String EXT_ID = "protobuf";
+
+  private static final Object LOCK = new Object();
+
+  static {
+    // 支持在idl中定义empty message
+    mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
+  }
+
+  private ProtobufManager() {
+  }
+
+  public static OperationProtobuf getOrCreateOperation(OperationMeta operationMeta) throws Exception {
+    OperationProtobuf operationProtobuf = operationMeta.getExtData(ProtobufManager.EXT_ID);
+    if (operationProtobuf == null) {
+      synchronized (LOCK) {
+        operationProtobuf = operationMeta.getExtData(ProtobufManager.EXT_ID);
+        if (operationProtobuf == null) {
+          operationProtobuf = new OperationProtobuf(operationMeta);
+          operationMeta.putExtData(EXT_ID, operationProtobuf);
+        }
+      }
+    }
+
+    return operationProtobuf;
+  }
+
+  public static ProtobufManager getInstance() {
+    return instance;
+  }
+
+  public static ProtobufMapper getMapper() {
+    return mapper;
+  }
+
+  public static ObjectWriter getWriter() {
+    return writer;
+  }
+
+  public static ObjectReader getReader() {
+    return reader;
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/AbstractDeserializer.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/AbstractDeserializer.java
new file mode 100644
index 0000000..591aee5
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/AbstractDeserializer.java
@@ -0,0 +1,67 @@
+/*
+ * 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.codec.protobuf.jackson;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.apache.servicecomb.codec.protobuf.codec.AbstractFieldCodec.ReaderHelpData;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+
+public abstract class AbstractDeserializer extends JsonDeserializer<Object> {
+  protected Map<String, ReaderHelpData> readerHelpDataMap;
+
+  public AbstractDeserializer(Map<String, ReaderHelpData> readerHelpDataMap) {
+    this.readerHelpDataMap = readerHelpDataMap;
+  }
+
+  @Override
+  public Object deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
+    Object result = createResult();
+    for (String fieldName = p.nextFieldName(); fieldName != null; fieldName = p.nextFieldName()) {
+      // p实际是ProtobufParser,其内部是可以直接取到proto field的,理论上可以根据id来索引
+      // 可是field默认没暴露出来,所以,直接用name索引了
+      ReaderHelpData helpData = readerHelpDataMap.get(fieldName);
+      if (helpData == null) {
+        continue;
+      }
+
+      JsonToken t = p.nextToken();
+      // Note: must handle null explicitly here; value deserializers won't
+      Object value = null;
+      if (t == JsonToken.VALUE_NULL) {
+        value = helpData.getDeser().getNullValue(ctxt);
+      } else {
+        value = helpData.getDeser().deserialize(p, ctxt);
+      }
+
+      result = updateResult(result, value, helpData);
+    }
+
+    return result;
+  }
+
+  protected abstract Object createResult();
+
+  protected abstract Object updateResult(Object result, Object value, ReaderHelpData helpData);
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/CseObjectReader.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/CseObjectReader.java
new file mode 100644
index 0000000..9e1d6cf
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/CseObjectReader.java
@@ -0,0 +1,35 @@
+/*
+ * 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.codec.protobuf.jackson;
+
+import com.fasterxml.jackson.core.FormatSchema;
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import com.fasterxml.jackson.databind.ObjectReader;
+
+public class CseObjectReader extends ObjectReader {
+  private static final long serialVersionUID = -4154834940923475928L;
+
+  public CseObjectReader(ObjectReader base, FormatSchema schema, JsonDeserializer<Object> rootDeser) {
+    super(base, base.getConfig(), null, rootDeser, null, schema, null, null);
+  }
+
+  public JsonDeserializer<Object> findDeserializer(JavaType valueType) {
+    return _prefetchRootDeserializer(valueType);
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/CseObjectWriter.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/CseObjectWriter.java
new file mode 100644
index 0000000..c2c1330
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/CseObjectWriter.java
@@ -0,0 +1,57 @@
+/*
+ * 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.codec.protobuf.jackson;
+
+import java.lang.reflect.Constructor;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.fasterxml.jackson.core.FormatSchema;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.ObjectWriter;
+
+@SuppressWarnings("unchecked")
+public class CseObjectWriter extends ObjectWriter {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(CseObjectWriter.class);
+
+  private static final long serialVersionUID = -6435897284942268001L;
+
+  private static Constructor<Prefetch> prefetchConstructor;
+
+  static {
+    prefetchConstructor = (Constructor<Prefetch>) Prefetch.class.getDeclaredConstructors()[0];
+    prefetchConstructor.setAccessible(true);
+  }
+
+  private static Prefetch createPrefetch(JsonSerializer<Object> valueSerializer) {
+    try {
+      return prefetchConstructor.newInstance(null, valueSerializer, null);
+    } catch (Exception e) {
+      LOGGER.error("create prefetch error:", e);
+    }
+    return null;
+  }
+
+  public CseObjectWriter(ObjectWriter base, FormatSchema schema, JsonSerializer<Object> valueSerializer) {
+
+    super(base, base.getConfig(), new GeneratorSettings(null, schema, null, null),
+        createPrefetch(valueSerializer));
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ParamDeserializer.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ParamDeserializer.java
new file mode 100644
index 0000000..34c9997
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ParamDeserializer.java
@@ -0,0 +1,40 @@
+/*
+ * 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.codec.protobuf.jackson;
+
+import java.util.Map;
+
+import org.apache.servicecomb.codec.protobuf.codec.AbstractFieldCodec.ReaderHelpData;
+
+public class ParamDeserializer extends AbstractDeserializer {
+
+  public ParamDeserializer(Map<String, ReaderHelpData> readerHelpDataMap) {
+    super(readerHelpDataMap);
+  }
+
+  @Override
+  protected Object createResult() {
+    return new Object[readerHelpDataMap.size()];
+  }
+
+  @Override
+  protected Object updateResult(Object result, Object value, ReaderHelpData helpData) {
+    ((Object[]) result)[helpData.getIndex()] = value;
+    return result;
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ParamSerializer.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ParamSerializer.java
new file mode 100644
index 0000000..4e959b6
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ParamSerializer.java
@@ -0,0 +1,45 @@
+/*
+ * 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.codec.protobuf.jackson;
+
+import java.io.IOException;
+import java.util.Iterator;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.dataformat.protobuf.ProtobufGenerator;
+import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufField;
+
+public class ParamSerializer extends JsonSerializer<Object> {
+  @Override
+  public void serialize(Object value, JsonGenerator gen,
+      SerializerProvider serializers) throws IOException, JsonProcessingException {
+    gen.writeStartObject();
+
+    ProtobufGenerator protobufGenerator = (ProtobufGenerator) gen;
+    Iterator<ProtobufField> iter = protobufGenerator.getSchema().getRootType().fields().iterator();
+    Object[] values = (Object[]) value;
+    for (Object value1 : values) {
+      gen.writeObjectField(iter.next().name, value1);
+    }
+
+    gen.writeEndObject();
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ResultDeserializer.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ResultDeserializer.java
new file mode 100644
index 0000000..a5e261f
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ResultDeserializer.java
@@ -0,0 +1,39 @@
+/*
+ * 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.codec.protobuf.jackson;
+
+import java.util.Map;
+
+import org.apache.servicecomb.codec.protobuf.codec.AbstractFieldCodec.ReaderHelpData;
+
+public class ResultDeserializer extends AbstractDeserializer {
+
+  public ResultDeserializer(Map<String, ReaderHelpData> readerHelpDataMap) {
+    super(readerHelpDataMap);
+  }
+
+  @Override
+  protected Object createResult() {
+    return null;
+  }
+
+  @Override
+  protected Object updateResult(Object result, Object value, ReaderHelpData helpData) {
+    return value;
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ResultSerializer.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ResultSerializer.java
new file mode 100644
index 0000000..8bdf231
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/ResultSerializer.java
@@ -0,0 +1,41 @@
+/*
+ * 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.codec.protobuf.jackson;
+
+import java.io.IOException;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.dataformat.protobuf.ProtobufGenerator;
+import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufField;
+
+public class ResultSerializer extends JsonSerializer<Object> {
+  @Override
+  public void serialize(Object value, JsonGenerator gen,
+      SerializerProvider serializers) throws IOException, JsonProcessingException {
+    gen.writeStartObject();
+
+    ProtobufGenerator protobufGenerator = (ProtobufGenerator) gen;
+    ProtobufField field = protobufGenerator.getSchema().getRootType().firstField();
+    gen.writeObjectField(field.name, value);
+
+    gen.writeEndObject();
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/StandardObjectReader.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/StandardObjectReader.java
new file mode 100644
index 0000000..bc11834
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/StandardObjectReader.java
@@ -0,0 +1,39 @@
+/*
+ * 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.codec.protobuf.jackson;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectReader;
+
+public class StandardObjectReader extends ObjectReader {
+  private static final long serialVersionUID = -8162644250351645123L;
+
+  public StandardObjectReader(ObjectReader base) {
+    super(base, base.getConfig());
+  }
+
+  @SuppressWarnings("unchecked")
+  @Override
+  public <T> T readValue(InputStream src) throws IOException, JsonProcessingException {
+    T result = super.readValue(src);
+    return (T) new Object[] {result};
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/StandardObjectWriter.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/StandardObjectWriter.java
new file mode 100644
index 0000000..59d5d6e
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/jackson/StandardObjectWriter.java
@@ -0,0 +1,40 @@
+/*
+ * 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.codec.protobuf.jackson;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectWriter;
+
+public class StandardObjectWriter extends ObjectWriter {
+  private static final long serialVersionUID = -8162644250351645123L;
+
+  public StandardObjectWriter(ObjectWriter base) {
+    super(base, base.getConfig());
+  }
+
+  @Override
+  public void writeValue(OutputStream out,
+      Object value) throws IOException, JsonGenerationException, JsonMappingException {
+    Object[] values = (Object[]) value;
+    super.writeValue(out, values[0]);
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/ProtobufSchemaUtils.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/ProtobufSchemaUtils.java
new file mode 100644
index 0000000..9006354
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/ProtobufSchemaUtils.java
@@ -0,0 +1,160 @@
+/*
+ * 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.codec.protobuf.utils;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Parameter;
+import java.lang.reflect.Type;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.servicecomb.codec.protobuf.utils.schema.WrapSchemaFactory;
+import org.apache.servicecomb.common.javassist.JavassistUtils;
+import org.apache.servicecomb.core.definition.OperationMeta;
+import org.springframework.util.ClassUtils;
+
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.type.TypeFactory;
+
+import io.protostuff.Schema;
+import io.protostuff.runtime.ProtobufCompatibleUtils;
+import io.protostuff.runtime.RuntimeSchema;
+
+public final class ProtobufSchemaUtils {
+  private static volatile Map<String, WrapSchema> schemaCache = new ConcurrentHashMap<>();
+
+  static {
+    ProtobufCompatibleUtils.init();
+  }
+
+  private interface SchemaCreator {
+    WrapSchema create() throws Exception;
+  }
+
+  private ProtobufSchemaUtils() {
+  }
+
+  private static WrapSchema getOrCreateSchema(String className, SchemaCreator creator) {
+    WrapSchema schema = schemaCache.get(className);
+    if (schema != null) {
+      return schema;
+    }
+
+    synchronized (ProtobufSchemaUtils.class) {
+      schema = schemaCache.get(className);
+      if (schema != null) {
+        return schema;
+      }
+
+      try {
+        schema = creator.create();
+      } catch (Exception e) {
+        throw new Error(e);
+      }
+      schemaCache.put(className, schema);
+      return schema;
+    }
+  }
+
+  private static boolean isArgsNeedWrap(Method method) {
+    if (method.getParameterCount() != 1) {
+      return true;
+    }
+
+    // 单参数时,需要根据实际情况判断
+    return isNeedWrap(method.getParameterTypes()[0]);
+  }
+
+  private static boolean isNeedWrap(Class<?> cls) {
+    // protobuf不支持原子类型、enum、string、数组、collection等等作为msg,只有Object类型才可以
+    return ClassUtils.isPrimitiveOrWrapper(cls) || cls.isArray() || cls.isEnum()
+        || String.class.isAssignableFrom(cls)
+        || Collection.class.isAssignableFrom(cls)
+        || Map.class.isAssignableFrom(cls)
+        || Date.class.isAssignableFrom(cls);
+  }
+
+  // 为了支持method args的场景,全部实现ProtobufMessageWrapper接口,有的场景有点浪费,不过无关紧要
+  private static WrapSchema createWrapSchema(WrapClassConfig config) throws Exception {
+    Class<?> cls = JavassistUtils.createClass(config);
+    Schema<?> schema = RuntimeSchema.createFrom(cls);
+    return WrapSchemaFactory.createSchema(schema, config.getType());
+  }
+
+  // 适用于将单个类型包装的场景
+  // 比如return
+  public static WrapSchema getOrCreateSchema(Type type) {
+    JavaType javaType = TypeFactory.defaultInstance().constructType(type);
+    // List<String> -> java.util.List<java.lang.String>
+    // List<List<String>> -> java.util.List<java.util.List<java.lang.String>>
+    String key = javaType.toCanonical();
+    return getOrCreateSchema(key, () -> {
+      if (!isNeedWrap(javaType.getRawClass())) {
+        // 可以直接使用
+        Schema<?> schema = RuntimeSchema.createFrom(javaType.getRawClass());
+        return WrapSchemaFactory.createSchema(schema, WrapType.NOT_WRAP);
+      }
+
+      // 需要包装
+      WrapClassConfig config = new WrapClassConfig();
+      config.setType(WrapType.NORMAL_WRAP);
+
+      config.setClassName("gen.wrap.protobuf." + key.replaceAll("[<>]", "_").replace("[", "array_"));
+      if (!Void.TYPE.isAssignableFrom(javaType.getRawClass())) {
+        config.addField("field0", javaType);
+      }
+
+      JavassistUtils.genSingleWrapperInterface(config);
+
+      return createWrapSchema(config);
+    });
+  }
+
+  public static WrapSchema getOrCreateArgsSchema(OperationMeta operationMeta) {
+    Method method = operationMeta.getMethod();
+    String type = "gen." + method.getDeclaringClass().getName() + "." + method.getName() + ".Args";
+
+    return getOrCreateSchema(type, () -> {
+      if (!isArgsNeedWrap(method)) {
+        // 可以直接使用
+        Class<?> cls = (Class<?>) method.getParameterTypes()[0];
+        Schema<?> schema = RuntimeSchema.createFrom(cls);
+        return WrapSchemaFactory.createSchema(schema, WrapType.ARGS_NOT_WRAP);
+      }
+
+      // 需要包装
+      WrapClassConfig config = new WrapClassConfig();
+      config.setType(WrapType.ARGS_WRAP);
+      config.setClassName(type);
+
+      Parameter[] params = method.getParameters();
+      for (int idx = 0; idx < params.length; idx++) {
+        Parameter param = params[idx];
+        String paramName = org.apache.servicecomb.swagger.generator.core.utils.ClassUtils
+            .correctMethodParameterName(operationMeta.getParamName(idx));
+        config.addField(paramName, param.getParameterizedType());
+      }
+
+      JavassistUtils.genMultiWrapperInterface(config);
+
+      return createWrapSchema(config);
+    });
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/WrapClassConfig.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/WrapClassConfig.java
new file mode 100644
index 0000000..3c1b536
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/WrapClassConfig.java
@@ -0,0 +1,32 @@
+/*
+ * 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.codec.protobuf.utils;
+
+import org.apache.servicecomb.common.javassist.ClassConfig;
+
+public class WrapClassConfig extends ClassConfig {
+  private WrapType type;
+
+  public WrapType getType() {
+    return type;
+  }
+
+  public void setType(WrapType type) {
+    this.type = type;
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/WrapSchema.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/WrapSchema.java
new file mode 100644
index 0000000..c24b5c2
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/WrapSchema.java
@@ -0,0 +1,63 @@
+/*
+ * 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.codec.protobuf.utils;
+
+import java.nio.ByteBuffer;
+
+import io.protostuff.ByteBufferInput;
+import io.protostuff.Input;
+import io.protostuff.Output;
+import io.protostuff.runtime.ProtobufFeature;
+import io.protostuff.runtime.ProtobufFeatureUtils;
+import io.vertx.core.buffer.Buffer;
+
+public interface WrapSchema {
+  @SuppressWarnings("unchecked")
+  default <T> T readObject(Buffer buffer, ProtobufFeature protobufFeature) throws Exception {
+    if (buffer == null || buffer.length() == 0) {
+      // void以及函数入参为null的场景
+      // 空串时,protobuf至少为编码为1字节
+      return (T) readFromEmpty();
+    }
+
+    ByteBuffer nioBuffer = buffer.getByteBuf().nioBuffer();
+    Input input = new ByteBufferInput(nioBuffer, false);
+
+    ProtobufFeatureUtils.setProtobufFeature(protobufFeature);
+    try {
+      return (T) readObject(input);
+    } finally {
+      ProtobufFeatureUtils.removeProtobufFeature();
+    }
+  }
+
+  default void writeObject(Output output, Object value, ProtobufFeature protobufFeature) throws Exception {
+    ProtobufFeatureUtils.setProtobufFeature(protobufFeature);
+    try {
+      writeObject(output, value);
+    } finally {
+      ProtobufFeatureUtils.removeProtobufFeature();
+    }
+  }
+
+  Object readFromEmpty();
+
+  Object readObject(Input input) throws Exception;
+
+  void writeObject(Output output, Object value) throws Exception;
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/WrapType.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/WrapType.java
new file mode 100644
index 0000000..7d049ed
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/WrapType.java
@@ -0,0 +1,25 @@
+/*
+ * 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.codec.protobuf.utils;
+
+public enum WrapType {
+  NOT_WRAP,
+  NORMAL_WRAP,
+  ARGS_NOT_WRAP,
+  ARGS_WRAP
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/AbstractWrapSchema.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/AbstractWrapSchema.java
new file mode 100644
index 0000000..b8f5ed3
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/AbstractWrapSchema.java
@@ -0,0 +1,26 @@
+/*
+ * 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.codec.protobuf.utils.schema;
+
+import org.apache.servicecomb.codec.protobuf.utils.WrapSchema;
+
+import io.protostuff.Schema;
+
+public abstract class AbstractWrapSchema implements WrapSchema {
+  protected Schema<Object> schema;
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/ArgsNotWrapSchema.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/ArgsNotWrapSchema.java
new file mode 100644
index 0000000..5d76039
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/ArgsNotWrapSchema.java
@@ -0,0 +1,53 @@
+/*
+ * 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.codec.protobuf.utils.schema;
+
+import java.io.IOException;
+
+import io.protostuff.Input;
+import io.protostuff.Output;
+import io.protostuff.Schema;
+
+public class ArgsNotWrapSchema extends AbstractWrapSchema {
+
+  @SuppressWarnings("unchecked")
+  public ArgsNotWrapSchema(Schema<?> schema) {
+    this.schema = (Schema<Object>) schema;
+  }
+
+  @Override
+  public Object readFromEmpty() {
+    return new Object[] {null};
+  }
+
+  public Object readObject(Input input) throws IOException {
+    Object readValue = schema.newMessage();
+    schema.mergeFrom(input, readValue);
+
+    return new Object[] {readValue};
+  }
+
+  public void writeObject(Output output, Object value) throws IOException {
+    Object writeValue = ((Object[]) value)[0];
+    if (writeValue == null) {
+      return;
+    }
+
+    schema.writeTo(output, writeValue);
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/ArgsWrapSchema.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/ArgsWrapSchema.java
new file mode 100644
index 0000000..16360a3
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/ArgsWrapSchema.java
@@ -0,0 +1,54 @@
+/*
+ * 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.codec.protobuf.utils.schema;
+
+import java.io.IOException;
+
+import org.apache.servicecomb.common.javassist.MultiWrapper;
+
+import io.protostuff.Input;
+import io.protostuff.Output;
+import io.protostuff.Schema;
+
+public class ArgsWrapSchema extends AbstractWrapSchema {
+
+  @SuppressWarnings("unchecked")
+  public ArgsWrapSchema(Schema<?> schema) {
+    this.schema = (Schema<Object>) schema;
+  }
+
+  @Override
+  public Object readFromEmpty() {
+    MultiWrapper wrapper = (MultiWrapper) schema.newMessage();
+    return wrapper.readFields();
+  }
+
+  public Object readObject(Input input) throws IOException {
+    MultiWrapper wrapper = (MultiWrapper) schema.newMessage();
+    schema.mergeFrom(input, wrapper);
+
+    return wrapper.readFields();
+  }
+
+  public void writeObject(Output output, Object value) throws IOException {
+    MultiWrapper wrapper = (MultiWrapper) schema.newMessage();
+    wrapper.writeFields((Object[]) value);
+
+    schema.writeTo(output, wrapper);
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/NormalWrapSchema.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/NormalWrapSchema.java
new file mode 100644
index 0000000..f69f8e9
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/NormalWrapSchema.java
@@ -0,0 +1,58 @@
+/*
+ * 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.codec.protobuf.utils.schema;
+
+import java.io.IOException;
+
+import org.apache.servicecomb.common.javassist.SingleWrapper;
+
+import io.protostuff.Input;
+import io.protostuff.Output;
+import io.protostuff.Schema;
+
+public class NormalWrapSchema extends AbstractWrapSchema {
+
+  @SuppressWarnings("unchecked")
+  public NormalWrapSchema(Schema<?> schema) {
+    this.schema = (Schema<Object>) schema;
+  }
+
+  @Override
+  public Object readFromEmpty() {
+    SingleWrapper wrapper = (SingleWrapper) schema.newMessage();
+    return wrapper.readField();
+  }
+
+  public Object readObject(Input input) throws IOException {
+    SingleWrapper wrapper = (SingleWrapper) schema.newMessage();
+    schema.mergeFrom(input, wrapper);
+
+    return wrapper.readField();
+  }
+
+  public void writeObject(Output output, Object value) throws IOException {
+    if (value == null) {
+      return;
+    }
+
+    SingleWrapper wrapper = (SingleWrapper) schema.newMessage();
+    wrapper.writeField(value);
+
+    schema.writeTo(output, wrapper);
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/NotWrapSchema.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/NotWrapSchema.java
new file mode 100644
index 0000000..697fe98
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/NotWrapSchema.java
@@ -0,0 +1,52 @@
+/*
+ * 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.codec.protobuf.utils.schema;
+
+import java.io.IOException;
+
+import io.protostuff.Input;
+import io.protostuff.Output;
+import io.protostuff.Schema;
+
+public class NotWrapSchema extends AbstractWrapSchema {
+
+  @SuppressWarnings("unchecked")
+  public NotWrapSchema(Schema<?> schema) {
+    this.schema = (Schema<Object>) schema;
+  }
+
+  @Override
+  public Object readFromEmpty() {
+    return null;
+  }
+
+  public Object readObject(Input input) throws IOException {
+    Object value = schema.newMessage();
+    schema.mergeFrom(input, value);
+
+    return value;
+  }
+
+  public void writeObject(Output output, Object value) throws IOException {
+    if (value == null) {
+      return;
+    }
+
+    schema.writeTo(output, value);
+  }
+}
diff --git a/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/WrapSchemaFactory.java b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/WrapSchemaFactory.java
new file mode 100644
index 0000000..30923aa
--- /dev/null
+++ b/common/common-protobuf/src/main/java/org/apache/servicecomb/codec/protobuf/utils/schema/WrapSchemaFactory.java
@@ -0,0 +1,43 @@
+/*
+ * 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.codec.protobuf.utils.schema;
+
+import org.apache.servicecomb.codec.protobuf.utils.WrapSchema;
+import org.apache.servicecomb.codec.protobuf.utils.WrapType;
+
+import io.protostuff.Schema;
+
+public final class WrapSchemaFactory {
+  public static WrapSchema createSchema(Schema<?> schema, WrapType type) {
+    switch (type) {
+      case NOT_WRAP:
+        return new NotWrapSchema(schema);
+      case NORMAL_WRAP:
+        return new NormalWrapSchema(schema);
+      case ARGS_NOT_WRAP:
+        return new ArgsNotWrapSchema(schema);
+      case ARGS_WRAP:
+        return new ArgsWrapSchema(schema);
+      default:
+        throw new Error("impossible");
+    }
+  }
+
+  private WrapSchemaFactory() {
+  }
+}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestAbstractCodec.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestAbstractCodec.java
deleted file mode 100644
index eae94d9..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestAbstractCodec.java
+++ /dev/null
@@ -1,57 +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 io.servicecomb.codec.protobuf.codec;
-
-import java.lang.reflect.Type;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-public class TestAbstractCodec extends AbstractCodec {
-
-  private AbstractCodec abstractCodecTest = null;
-
-  @Before
-  public void setUp() throws Exception {
-    abstractCodecTest = new TestAbstractCodec();
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    abstractCodecTest = null;
-  }
-
-  @Test
-  public void testGetWriter() {
-    Assert.assertNull(abstractCodecTest.getWriter());
-  }
-
-  @Test
-  public void testGetReader() {
-    Assert.assertNull(abstractCodecTest.getReader());
-  }
-
-  @Override
-  public void init(ProtobufSchema schema, Type... types) {
-    /* Do not worry, overridden method*/
-  }
-}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestAbstractFieldCodec.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestAbstractFieldCodec.java
deleted file mode 100644
index 539e650..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestAbstractFieldCodec.java
+++ /dev/null
@@ -1,111 +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 io.servicecomb.codec.protobuf.codec;
-
-import java.lang.reflect.Type;
-import java.util.Arrays;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.fasterxml.jackson.databind.ObjectReader;
-import com.fasterxml.jackson.databind.ObjectWriter;
-import com.fasterxml.jackson.dataformat.protobuf.protoparser.protoparser.FieldElement;
-import com.fasterxml.jackson.dataformat.protobuf.schema.FieldType;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufField;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufMessage;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-import io.servicecomb.codec.protobuf.definition.ProtobufManager;
-import io.servicecomb.codec.protobuf.jackson.CseObjectReader;
-import io.servicecomb.codec.protobuf.jackson.CseObjectWriter;
-import io.servicecomb.codec.protobuf.jackson.ParamDeserializer;
-import io.servicecomb.codec.protobuf.jackson.ParamSerializer;
-
-public class TestAbstractFieldCodec extends AbstractFieldCodec {
-
-  private AbstractFieldCodec abstractFieldCodec = null;
-
-  private ProtobufSchema schema = null;
-
-  @Before
-  public void setUp() throws Exception {
-    abstractFieldCodec = new TestAbstractFieldCodec();
-    schema = Mockito.mock(ProtobufSchema.class);
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    abstractFieldCodec = null;
-    schema = null;
-  }
-
-  @Override
-  public ObjectWriter getWriter() {
-    return writer;
-  }
-
-  @Override
-  public ObjectReader getReader() {
-    return reader;
-  }
-
-  @Test
-  public void testInit() {
-    ProtobufField[] protobufFieldArray = new ProtobufField[5];
-    FieldElement rawType = null;
-    FieldType type = FieldType.STRING;
-    ProtobufField p = new ProtobufField(rawType, type);
-    protobufFieldArray[0] = p;
-    Type[] types = new Type[1];
-    types[0] = Integer.TYPE;
-
-    Mockito.when(schema.getRootType()).thenReturn(Mockito.mock(ProtobufMessage.class));
-    Mockito.when(schema.getRootType().getFieldCount()).thenReturn(1);
-    Mockito.when(schema.getRootType().fields()).thenReturn(Arrays.asList(protobufFieldArray));
-    abstractFieldCodec.init(schema, types);
-    Assert.assertNotNull(abstractFieldCodec.readerHelpDataMap.get("UNKNOWN"));
-  }
-
-  @Test
-  public void testFindInfo() {
-    Assert.assertNull(abstractFieldCodec.findInfo("name"));
-  }
-
-  @Override
-  public void init(ProtobufSchema schema, Type... types) {
-    writer = new CseObjectWriter(ProtobufManager.getWriter(), schema, new ParamSerializer());
-    reader = new CseObjectReader(ProtobufManager.getReader(), schema, new ParamDeserializer(readerHelpDataMap));
-    super.init(schema, types);
-  }
-
-  @Test
-  public void testReaderHelpData() {
-    ReaderHelpData ReaderHelpData = new ReaderHelpData();
-    ReaderHelpData.setIndex(10);
-    ReaderHelpData.getDeser();
-    @SuppressWarnings("unchecked")
-    JsonDeserializer<Object> j = Mockito.mock(JsonDeserializer.class);
-    ReaderHelpData.setDeser(j);
-    Assert.assertEquals(10, ReaderHelpData.getIndex());
-  }
-}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestParamFieldCodec.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestParamFieldCodec.java
deleted file mode 100644
index f2db8ba..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestParamFieldCodec.java
+++ /dev/null
@@ -1,74 +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 io.servicecomb.codec.protobuf.codec;
-
-import java.lang.reflect.Type;
-import java.util.Arrays;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import com.fasterxml.jackson.dataformat.protobuf.protoparser.protoparser.FieldElement;
-import com.fasterxml.jackson.dataformat.protobuf.schema.FieldType;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufField;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufMessage;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-public class TestParamFieldCodec {
-
-  private ParamFieldCodec paramFieldCodec = null;
-
-  private ProtobufSchema schema = null;
-
-  @Before
-  public void setUp() throws Exception {
-    paramFieldCodec = new ParamFieldCodec();
-    schema = Mockito.mock(ProtobufSchema.class);
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    paramFieldCodec = null;
-    schema = null;
-  }
-
-  @Test
-  public void testInit() {
-    Assert.assertNotNull(paramFieldCodec);
-
-    ProtobufField[] protobufFieldArray = new ProtobufField[5];
-    FieldElement rawType = null;
-    FieldType type = FieldType.STRING;
-    ProtobufField p = new ProtobufField(rawType, type);
-    protobufFieldArray[0] = p;
-    Type[] types = new Type[10];
-    types[0] = Integer.TYPE;
-
-    Mockito.when(schema.getRootType()).thenReturn(Mockito.mock(ProtobufMessage.class));
-    Mockito.when(schema.getRootType().getFieldCount()).thenReturn(1);
-    Mockito.when(schema.getRootType().fields()).thenReturn(Arrays.asList(protobufFieldArray));
-    Assert.assertNull(paramFieldCodec.reader);
-    Assert.assertNull(paramFieldCodec.writer);
-    paramFieldCodec.init(schema, types);
-    Assert.assertNotNull(paramFieldCodec.reader);
-    Assert.assertNotNull(paramFieldCodec.writer);
-  }
-}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestResultFieldCodec.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestResultFieldCodec.java
deleted file mode 100644
index 539cca2..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestResultFieldCodec.java
+++ /dev/null
@@ -1,73 +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 io.servicecomb.codec.protobuf.codec;
-
-import java.lang.reflect.Type;
-import java.util.Arrays;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import com.fasterxml.jackson.dataformat.protobuf.protoparser.protoparser.FieldElement;
-import com.fasterxml.jackson.dataformat.protobuf.schema.FieldType;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufField;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufMessage;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-public class TestResultFieldCodec {
-  private ResultFieldCodec resultFieldCodec = null;
-
-  private ProtobufSchema schema = null;
-
-  @Before
-  public void setUp() throws Exception {
-    resultFieldCodec = new ResultFieldCodec();
-    schema = Mockito.mock(ProtobufSchema.class);
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    resultFieldCodec = null;
-    schema = null;
-  }
-
-  @Test
-  public void testInit() {
-    Assert.assertNotNull(resultFieldCodec);
-
-    ProtobufField[] protobufFieldArray = new ProtobufField[5];
-    FieldElement rawType = null;
-    FieldType type = FieldType.STRING;
-    ProtobufField p = new ProtobufField(rawType, type);
-    protobufFieldArray[0] = p;
-    Type[] types = new Type[10];
-    types[0] = Integer.TYPE;
-
-    Mockito.when(schema.getRootType()).thenReturn(Mockito.mock(ProtobufMessage.class));
-    Mockito.when(schema.getRootType().getFieldCount()).thenReturn(1);
-    Mockito.when(schema.getRootType().fields()).thenReturn(Arrays.asList(protobufFieldArray));
-    Assert.assertNull(resultFieldCodec.reader);
-    Assert.assertNull(resultFieldCodec.writer);
-    resultFieldCodec.init(schema, types);
-    Assert.assertNotNull(resultFieldCodec.reader);
-    Assert.assertNotNull(resultFieldCodec.writer);
-  }
-}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestStandardParamCodec.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestStandardParamCodec.java
deleted file mode 100644
index 10e0879..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestStandardParamCodec.java
+++ /dev/null
@@ -1,75 +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 io.servicecomb.codec.protobuf.codec;
-
-import java.lang.reflect.Type;
-import java.util.Arrays;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import com.fasterxml.jackson.dataformat.protobuf.protoparser.protoparser.FieldElement;
-import com.fasterxml.jackson.dataformat.protobuf.schema.FieldType;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufField;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufMessage;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-public class TestStandardParamCodec {
-  public final static String FORMAT_NAME_PROTOBUF = "protobuf";
-
-  private StandardParamCodec standardParamCodec = null;
-
-  private ProtobufSchema schema = null;
-
-  @Before
-  public void setUp() throws Exception {
-    standardParamCodec = new StandardParamCodec();
-    schema = Mockito.mock(ProtobufSchema.class);
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    standardParamCodec = null;
-    schema = null;
-  }
-
-  @Test
-  public void testInit() {
-    Assert.assertNotNull(standardParamCodec);
-    ProtobufField[] protobufFieldArray = new ProtobufField[5];
-    FieldElement rawType = null;
-    FieldType type = FieldType.STRING;
-    ProtobufField p = new ProtobufField(rawType, type);
-    protobufFieldArray[0] = p;
-    Type[] types = new Type[1];
-    types[0] = Integer.TYPE;
-
-    Mockito.when(schema.getSchemaType()).thenReturn(FORMAT_NAME_PROTOBUF);
-    Mockito.when(schema.getRootType()).thenReturn(Mockito.mock(ProtobufMessage.class));
-    Mockito.when(schema.getRootType().getFieldCount()).thenReturn(1);
-    Mockito.when(schema.getRootType().fields()).thenReturn(Arrays.asList(protobufFieldArray));
-    Assert.assertNull(standardParamCodec.writer);
-    Assert.assertNull(standardParamCodec.reader);
-    standardParamCodec.init(schema, types);
-    Assert.assertNotNull(standardParamCodec.writer);
-    Assert.assertNotNull(standardParamCodec.reader);
-  }
-}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestStandardResultCodec.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestStandardResultCodec.java
deleted file mode 100644
index d5c7a64..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/codec/TestStandardResultCodec.java
+++ /dev/null
@@ -1,77 +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 io.servicecomb.codec.protobuf.codec;
-
-import java.lang.reflect.Type;
-import java.util.Arrays;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import com.fasterxml.jackson.dataformat.protobuf.protoparser.protoparser.FieldElement;
-import com.fasterxml.jackson.dataformat.protobuf.schema.FieldType;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufField;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufMessage;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-public class TestStandardResultCodec {
-
-  private StandardResultCodec standardResultCodec = null;
-
-  private ProtobufSchema schema = null;
-
-  public final static String FORMAT_NAME_PROTOBUF = "protobuf";
-
-  @Before
-  public void setUp() throws Exception {
-    standardResultCodec = new StandardResultCodec();
-    schema = Mockito.mock(ProtobufSchema.class);
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    standardResultCodec = null;
-    schema = null;
-  }
-
-  @Test
-  public void testInit() {
-    Assert.assertNotNull(standardResultCodec);
-
-    ProtobufField[] protobufFieldArray = new ProtobufField[5];
-    FieldElement rawType = null;
-    FieldType type = FieldType.STRING;
-    ProtobufField p = new ProtobufField(rawType, type);
-    protobufFieldArray[0] = p;
-    Type[] types = new Type[1];
-    types[0] = Integer.TYPE;
-
-    Mockito.when(schema.getSchemaType()).thenReturn(FORMAT_NAME_PROTOBUF);
-    Mockito.when(schema.getRootType()).thenReturn(Mockito.mock(ProtobufMessage.class));
-    Mockito.when(schema.getRootType().getFieldCount()).thenReturn(1);
-    Mockito.when(schema.getRootType().fields()).thenReturn(Arrays.asList(protobufFieldArray));
-    Assert.assertNull(standardResultCodec.reader);
-    Assert.assertNull(standardResultCodec.writer);
-    standardResultCodec.init(schema, types);
-    Assert.assertNotNull(standardResultCodec.reader);
-    Assert.assertNotNull(standardResultCodec.writer);
-  }
-}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/definition/TestOperationProtobuf.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/definition/TestOperationProtobuf.java
deleted file mode 100644
index 330126a..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/definition/TestOperationProtobuf.java
+++ /dev/null
@@ -1,57 +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 io.servicecomb.codec.protobuf.definition;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import io.servicecomb.codec.protobuf.utils.WrapSchema;
-import io.servicecomb.codec.protobuf.utils.schema.ArgsNotWrapSchema;
-import io.servicecomb.codec.protobuf.utils.schema.NormalWrapSchema;
-import io.servicecomb.core.definition.OperationMeta;
-import io.servicecomb.core.definition.SchemaMeta;
-import io.servicecomb.core.unittest.UnitTestMeta;
-import io.swagger.annotations.ApiResponse;
-
-public class TestOperationProtobuf {
-  class Impl {
-    @ApiResponse(code = 300, response = String.class, message = "")
-    public int test(int x) {
-      return 100;
-    }
-  }
-
-  @Test
-  public void testOperationProtobuf() throws Exception {
-    UnitTestMeta meta = new UnitTestMeta();
-    SchemaMeta schemaMeta = meta.getOrCreateSchemaMeta(Impl.class);
-    OperationMeta operationMeta = schemaMeta.findOperation("test");
-
-    OperationProtobuf operationProtobuf = ProtobufManager.getOrCreateOperation(operationMeta);
-    Assert.assertEquals(operationMeta, operationProtobuf.getOperationMeta());
-    Assert.assertEquals(ArgsNotWrapSchema.class, operationProtobuf.getRequestSchema().getClass());
-    Assert.assertEquals(NormalWrapSchema.class, operationProtobuf.getResponseSchema().getClass());
-
-    WrapSchema responseSchema = operationProtobuf.findResponseSchema(200);
-    Assert.assertEquals(operationProtobuf.getResponseSchema(), responseSchema);
-
-    responseSchema = operationProtobuf.findResponseSchema(300);
-    Assert.assertNotNull(responseSchema);
-    Assert.assertNotEquals(operationProtobuf.getResponseSchema(), responseSchema);
-  }
-}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestAbstractDeserializer.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestAbstractDeserializer.java
deleted file mode 100644
index 582fdd6..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestAbstractDeserializer.java
+++ /dev/null
@@ -1,105 +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 io.servicecomb.codec.protobuf.jackson;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-
-import io.servicecomb.codec.protobuf.codec.AbstractFieldCodec.ReaderHelpData;
-
-public class TestAbstractDeserializer extends AbstractDeserializer {
-
-  private AbstractDeserializer abstractDeserializer = null;
-
-  private JsonParser jsonParser = Mockito.mock(JsonParser.class);
-
-  static ReaderHelpData readerHelpData = Mockito.mock(ReaderHelpData.class);
-
-  static Map<String, ReaderHelpData> readerHelpDataMap = new HashMap<>();
-
-  public static void setReaderHelpDataMap(Map<String, ReaderHelpData> readerHelpDataMap) {
-    TestAbstractDeserializer.readerHelpDataMap = readerHelpDataMap;
-    readerHelpDataMap.put("abc", readerHelpData);
-    readerHelpDataMap.put("null", readerHelpData);
-  }
-
-  static {
-    TestAbstractDeserializer.setReaderHelpDataMap(readerHelpDataMap);
-  }
-
-  public TestAbstractDeserializer() {
-    super(readerHelpDataMap);
-  }
-
-  @Before
-  public void setUp() throws Exception {
-    abstractDeserializer = new TestAbstractDeserializer();
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    abstractDeserializer = null;
-    jsonParser = null;
-  }
-
-  @SuppressWarnings("unchecked")
-  @Test
-  public void testDeserialize() {
-    boolean status = false;
-    try {
-      DeserializationContext ctxt = Mockito.mock(DeserializationContext.class);
-      @SuppressWarnings("rawtypes")
-      JsonDeserializer JsonDeserializer = Mockito.mock(JsonDeserializer.class);
-      Object object = null;
-      Mockito.when(jsonParser.nextFieldName()).thenReturn("abc", (String) null);
-      Mockito.when(readerHelpData.getDeser()).thenReturn(JsonDeserializer);
-      Mockito.when(JsonDeserializer.deserialize(jsonParser, ctxt)).thenReturn(object);
-      Object deserializeObject = abstractDeserializer.deserialize(jsonParser, ctxt);
-      Assert.assertNotNull(deserializeObject);
-    } catch (Exception e) {
-      status = true;
-    }
-    Assert.assertFalse(status);
-  }
-
-  @Override
-  protected Object createResult() {
-    return null;
-  }
-
-  @Override
-  protected Object updateResult(Object result, Object value, ReaderHelpData helpData) {
-    /* Do not worry, overridden method*/
-    try {
-      Mockito.when(jsonParser.nextToken()).thenReturn(JsonToken.VALUE_NULL);
-    } catch (Exception e) {
-    }
-    return new Object();
-  }
-}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestParamDeserializer.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestParamDeserializer.java
deleted file mode 100644
index fa9c365..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestParamDeserializer.java
+++ /dev/null
@@ -1,62 +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 io.servicecomb.codec.protobuf.jackson;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-import io.servicecomb.codec.protobuf.codec.AbstractFieldCodec.ReaderHelpData;
-
-public class TestParamDeserializer {
-
-  private ParamDeserializer paramDeserializer = null;
-
-  private Map<String, ReaderHelpData> readerHelpDataMap = new HashMap<>();
-
-  @Before
-  public void setUp() throws Exception {
-    paramDeserializer = new ParamDeserializer(readerHelpDataMap);
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    paramDeserializer = null;
-  }
-
-  @Test
-  public void testCreateResult() {
-    Object object = paramDeserializer.createResult();
-    Assert.assertNotNull(object);
-    // object is created but no values inside to assert
-  }
-
-  @Test
-  public void testUpdateResult() {
-    String[] stringArray = new String[1];
-    stringArray[0] = "abc";
-    Object[] object = new Object[1];
-    Object paramObject = paramDeserializer.updateResult(object, stringArray, new ReaderHelpData());
-    Assert.assertNotNull(paramObject);
-    Assert.assertEquals(paramObject, object);
-  }
-}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestParamSerializer.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestParamSerializer.java
deleted file mode 100644
index 272a0b7..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestParamSerializer.java
+++ /dev/null
@@ -1,130 +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 io.servicecomb.codec.protobuf.jackson;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.core.ObjectCodec;
-import com.fasterxml.jackson.core.io.IOContext;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.fasterxml.jackson.dataformat.protobuf.ProtobufGenerator;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufField;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufMessage;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-import mockit.Mock;
-import mockit.MockUp;
-
-public class TestParamSerializer {
-
-  private ParamSerializer paramSerializer = null;
-
-  @Before
-  public void setUp() throws Exception {
-    paramSerializer = new ParamSerializer();
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    paramSerializer = null;
-  }
-
-  @Test
-  public void testSerialize() {
-    boolean status = true;
-    Assert.assertNotNull(paramSerializer);
-    String[] stringArray = new String[1];
-    stringArray[0] = "abc";
-
-    ProtobufGenerator obj = null;
-    try {
-      obj = new ProtobufGenerator(Mockito.mock(IOContext.class), 2, Mockito.mock(ObjectCodec.class),
-          Mockito.mock(OutputStream.class));
-    } catch (IOException exce) {
-    }
-
-    Assert.assertNotNull(obj);
-    new MockUp<ProtobufGenerator>() {
-
-      @Mock
-      public void writeStartObject() throws IOException {
-
-      }
-
-      ProtobufSchema protobufSchema = new ProtobufSchema(null, null);
-
-      @Mock
-      public ProtobufSchema getSchema() {
-        return protobufSchema;
-      }
-    };
-
-    ProtobufMessage protobufMessage = new ProtobufMessage(null, null);
-    new MockUp<ProtobufSchema>() {
-      @Mock
-      public ProtobufMessage getRootType() {
-        return protobufMessage;
-      }
-    };
-
-    List<ProtobufField> listProtobufField = new ArrayList<>();
-    listProtobufField.add(Mockito.mock(ProtobufField.class));
-
-    new MockUp<ProtobufMessage>() {
-      @Mock
-      public Iterable<ProtobufField> fields() {
-        return listProtobufField;
-      }
-    };
-
-    new MockUp<JsonGenerator>() {
-      @Mock
-      public void writeObjectField(String fieldName, Object pojo) throws IOException {
-
-      }
-    };
-
-    new MockUp<ProtobufGenerator>() {
-
-      @Mock
-      public void writeEndObject() throws IOException {
-
-      }
-    };
-
-    try {
-      paramSerializer.serialize(stringArray,
-          obj,
-          Mockito.mock(SerializerProvider.class));
-    } catch (IOException e) {
-      status = false;
-    }
-
-    Assert.assertTrue(status);
-  }
-}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestResultSerializer.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestResultSerializer.java
deleted file mode 100644
index e2e8d72..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestResultSerializer.java
+++ /dev/null
@@ -1,130 +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 io.servicecomb.codec.protobuf.jackson;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.core.ObjectCodec;
-import com.fasterxml.jackson.core.io.IOContext;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.fasterxml.jackson.dataformat.protobuf.ProtobufGenerator;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufField;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufMessage;
-import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
-
-import io.servicecomb.foundation.vertx.stream.BufferOutputStream;
-import mockit.Mock;
-import mockit.MockUp;
-
-public class TestResultSerializer {
-
-  private ResultSerializer resultSerializer = null;
-
-  OutputStream outputStream = null;
-
-  @Before
-  public void setUp() throws Exception {
-    resultSerializer = new ResultSerializer();
-    outputStream = new BufferOutputStream();
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    resultSerializer = null;
-    outputStream = null;
-  }
-
-  @Test
-  public void testSerialize() {
-    boolean status = true;
-    Assert.assertNotNull(resultSerializer);
-    String[] stringArray = new String[1];
-    stringArray[0] = "abc";
-
-    ProtobufGenerator obj = null;
-    try {
-      obj = new ProtobufGenerator(Mockito.mock(IOContext.class), 2, Mockito.mock(ObjectCodec.class),
-          outputStream);
-    } catch (IOException exce) {
-    }
-
-    Assert.assertNotNull(obj);
-
-    new MockUp<ProtobufGenerator>() {
-
-      @Mock
-      public void writeStartObject() throws IOException {
-
-      }
-
-      ProtobufSchema protobufSchema = new ProtobufSchema(null, null);
-
-      @Mock
-      public ProtobufSchema getSchema() {
-        return protobufSchema;
-      }
-    };
-    ProtobufMessage protobufMessage = new ProtobufMessage(null, null);
-    new MockUp<ProtobufSchema>() {
-      @Mock
-      public ProtobufMessage getRootType() {
-        return protobufMessage;
-      }
-    };
-
-    new MockUp<ProtobufMessage>() {
-      @Mock
-      public ProtobufField firstField() {
-        return Mockito.mock(ProtobufField.class);
-      }
-    };
-
-    new MockUp<JsonGenerator>() {
-      @Mock
-      public void writeObjectField(String fieldName, Object pojo) throws IOException {
-
-      }
-    };
-
-    new MockUp<ProtobufGenerator>() {
-
-      @Mock
-      public void writeEndObject() throws IOException {
-
-      }
-    };
-
-    try {
-      resultSerializer.serialize(stringArray,
-          obj,
-          Mockito.mock(SerializerProvider.class));
-    } catch (IOException e) {
-      status = false;
-    }
-
-    Assert.assertTrue(status);
-  }
-}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestStandardObjectWriter.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestStandardObjectWriter.java
deleted file mode 100644
index 9b04d6b..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/jackson/TestStandardObjectWriter.java
+++ /dev/null
@@ -1,77 +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 io.servicecomb.codec.protobuf.jackson;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import com.fasterxml.jackson.core.JsonGenerationException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectWriter;
-
-import io.servicecomb.foundation.vertx.stream.BufferOutputStream;
-import mockit.Mock;
-import mockit.MockUp;
-
-public class TestStandardObjectWriter {
-
-  private StandardObjectWriter StandardObjectWriter = null;
-
-  private OutputStream outputStream = null;
-
-  @Before
-  public void setUp() throws Exception {
-    StandardObjectWriter = new StandardObjectWriter(Mockito.mock(ObjectWriter.class));
-    outputStream = new BufferOutputStream();
-  }
-
-  @After
-  public void tearDown() throws Exception {
-    StandardObjectWriter = null;
-    outputStream = null;
-  }
-
-  @Test
-  public void testWriteValueOutputStreamObject() {
-    boolean status = true;
-    String[] stringArray = new String[1];
-    stringArray[0] = "abc";
-
-    new MockUp<ObjectWriter>() {
-      @Mock
-      public void writeValue(OutputStream out,
-          Object value) throws IOException, JsonGenerationException, JsonMappingException {
-
-      }
-    };
-    try {
-      StandardObjectWriter.writeValue(outputStream,
-          stringArray);
-    } catch (IOException e) {
-      status = false;
-    }
-
-    Assert.assertTrue(status);
-  }
-}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/utils/TestProtobufSchemaUtils.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/utils/TestProtobufSchemaUtils.java
deleted file mode 100644
index 1045195..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/utils/TestProtobufSchemaUtils.java
+++ /dev/null
@@ -1,120 +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 io.servicecomb.codec.protobuf.utils;
-
-import java.lang.reflect.Array;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import io.protostuff.ByteArrayInput;
-import io.protostuff.Input;
-import io.protostuff.LinkedBuffer;
-import io.protostuff.ProtobufOutput;
-import io.servicecomb.common.javassist.FieldConfig;
-
-public class TestProtobufSchemaUtils {
-  public static class TestMap {
-    public Map<String, String> map = new HashMap<>();
-
-    public TestMap() {
-      map.put("asdf", "jjj");
-    }
-  }
-
-  @Test
-  public void testMap() throws Exception {
-    TestMap tm = new TestMap();
-    TestMap tmResult = writeThenRead(tm);
-    Assert.assertEquals(tm.map, tmResult.map);
-
-    Map<String, String> map = new HashMap<>();
-    map.put("aaa", "bbb");
-    testSchema(map);
-  }
-
-  @Test
-  public void wrapPrimitive() throws Exception {
-    Assert.assertNotNull(WrapType.ARGS_WRAP);
-    Assert.assertNotNull(WrapType.NORMAL_WRAP);
-    testSchema((int) 1);
-    testSchema("test");
-    testSchema(WrapType.ARGS_WRAP);
-    Assert.assertTrue(true);
-  }
-
-  @Test
-  public void wrapArray() throws Exception {
-    Assert.assertNotNull(WrapType.ARGS_WRAP);
-    Assert.assertNotNull(WrapType.NORMAL_WRAP);
-    testArraySchema(new byte[] {0, 1, 2});
-    testArraySchema(new int[] {0, 1, 2});
-    testArraySchema(new String[] {"a", "b"});
-    testArraySchema(new WrapType[] {WrapType.ARGS_WRAP, WrapType.NORMAL_WRAP});
-    Assert.assertTrue(true);
-  }
-
-  @Test
-  public void notWrap() throws Exception {
-    FieldConfig expect = new FieldConfig();
-    expect.setName("test");
-
-    FieldConfig result = (FieldConfig) writeThenRead(expect);
-    Assert.assertEquals(expect.getName(), result.getName());
-  }
-
-  private void testSchema(Object expect) throws Exception {
-    Object result = writeThenRead(expect);
-    Assert.assertEquals(expect, result);
-  }
-
-  private void testArraySchema(Object expect) throws Exception {
-    Object result = writeThenRead(expect);
-
-    int expectLen = Array.getLength(expect);
-    Assert.assertEquals(expectLen, Array.getLength(result));
-    for (int idx = 0; idx < expectLen; idx++) {
-      Assert.assertEquals(Array.get(expect, idx), Array.get(result, idx));
-    }
-  }
-
-  @SuppressWarnings("unchecked")
-  private <T> T writeThenRead(T value) throws Exception {
-    WrapSchema schema = ProtobufSchemaUtils.getOrCreateSchema(value.getClass());
-
-    byte[] bytes = toByteArray(schema, value);
-    Object result = toObject(schema, bytes);
-    return (T) result;
-  }
-
-  private byte[] toByteArray(WrapSchema schema, Object value) throws Exception {
-    LinkedBuffer linkedBuffer = LinkedBuffer.allocate();
-    ProtobufOutput output = new ProtobufOutput(linkedBuffer);
-
-    schema.writeObject(output, value);
-    return output.toByteArray();
-  }
-
-  private Object toObject(WrapSchema schema, byte[] bytes) throws Exception {
-    Input input = new ByteArrayInput(bytes, false);
-
-    return schema.readObject(input);
-  }
-}
diff --git a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/utils/schema/TestArgsNotWrapSchema.java b/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/utils/schema/TestArgsNotWrapSchema.java
deleted file mode 100644
index 5dda6e7..0000000
--- a/common/common-protobuf/src/test/java/io/servicecomb/codec/protobuf/utils/schema/TestArgsNotWrapSchema.java
+++ /dev/null
@@ -1,95 +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 io.servicecomb.codec.protobuf.utils.schema;
... 265543 lines suppressed ...

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

[incubator-servicecomb-java-chassis] 03/06: SCB-230 change maven groupId from io.servicecomb to org.apache.servicecomb

Posted by ni...@apache.org.
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 d15d9b508192340dfdbb139c8eabc3f1007bd1d2
Author: wujimin <wu...@huawei.com>
AuthorDate: Sat Jan 13 11:06:36 2018 +0800

    SCB-230 change maven groupId from io.servicecomb to org.apache.servicecomb
---
 README.md                                          |   6 +-
 common/common-javassist/pom.xml                    |   4 +-
 common/common-protobuf/pom.xml                     |   6 +-
 common/common-rest/pom.xml                         |   6 +-
 common/pom.xml                                     |   2 +-
 core/pom.xml                                       |  10 +-
 coverage-reports/pom.xml                           | 108 ++++++++++-----------
 demo/demo-crossapp/crossapp-client/pom.xml         |  10 +-
 demo/demo-crossapp/crossapp-server/pom.xml         |   8 +-
 demo/demo-crossapp/pom.xml                         |   2 +-
 demo/demo-edge/authentication/pom.xml              |   6 +-
 demo/demo-edge/edge-service/pom.xml                |   8 +-
 demo/demo-edge/hiboard-business-1-1-0/pom.xml      |  10 +-
 demo/demo-edge/hiboard-business-1.0.0/pom.xml      |  10 +-
 demo/demo-edge/hiboard-business-2.0.0/pom.xml      |  10 +-
 demo/demo-edge/hiboard-consumer/pom.xml            |  12 +--
 demo/demo-edge/hiboard-model/pom.xml               |   4 +-
 demo/demo-edge/pom.xml                             |   2 +-
 demo/demo-jaxrs/jaxrs-client/pom.xml               |   8 +-
 demo/demo-jaxrs/jaxrs-server/pom.xml               |   8 +-
 demo/demo-jaxrs/pom.xml                            |   2 +-
 demo/demo-local/pom.xml                            |   6 +-
 demo/demo-multiple/a-client/pom.xml                |   2 +-
 demo/demo-multiple/a-server/pom.xml                |   2 +-
 demo/demo-multiple/b-client/pom.xml                |   2 +-
 demo/demo-multiple/b-server/pom.xml                |   2 +-
 demo/demo-multiple/multiple-client/pom.xml         |   8 +-
 demo/demo-multiple/multiple-server/pom.xml         |   8 +-
 demo/demo-multiple/pom.xml                         |  14 +--
 demo/demo-pojo/pojo-client/pom.xml                 |   8 +-
 demo/demo-pojo/pojo-server/pom.xml                 |   8 +-
 demo/demo-pojo/pojo-tests/pom.xml                  |   6 +-
 demo/demo-pojo/pom.xml                             |   2 +-
 demo/demo-schema/pom.xml                           |  18 ++--
 demo/demo-server-servlet/pom.xml                   |   4 +-
 demo/demo-signature/pom.xml                        |   4 +-
 .../demo-spring-boot-discovery-client/pom.xml      |   8 +-
 .../demo-spring-boot-discovery-server/pom.xml      |  10 +-
 .../demo-spring-boot-zuul-proxy/pom.xml            |   8 +-
 demo/demo-spring-boot-discovery/pom.xml            |   6 +-
 .../demo-spring-boot-jaxrs-client/pom.xml          |   6 +-
 .../demo-spring-boot-jaxrs-server/pom.xml          |   6 +-
 .../demo-spring-boot-springmvc-client/pom.xml      |   6 +-
 .../demo-spring-boot-springmvc-server/pom.xml      |   6 +-
 demo/demo-spring-boot-provider/pom.xml             |   4 +-
 .../demo-spring-boot-pojo-client/pom.xml           |   6 +-
 .../demo-spring-boot-pojo-server/pom.xml           |   6 +-
 demo/demo-spring-boot-transport/pom.xml            |   2 +-
 demo/demo-springmvc/pom.xml                        |   2 +-
 demo/demo-springmvc/springmvc-client/pom.xml       |  12 +--
 demo/demo-springmvc/springmvc-server/pom.xml       |  10 +-
 demo/docker-build-config/pom.xml                   |   2 +-
 demo/docker-run-config/pom.xml                     |   2 +-
 demo/perf/pom.xml                                  |  12 +--
 demo/pom.xml                                       |  32 +++---
 dynamic-config/config-apollo/pom.xml               |   6 +-
 dynamic-config/pom.xml                             |   2 +-
 edge/edge-core/pom.xml                             |   8 +-
 edge/pom.xml                                       |   2 +-
 foundations/foundation-common/pom.xml              |   2 +-
 foundations/foundation-config-cc/pom.xml           |   8 +-
 foundations/foundation-config/pom.xml              |   6 +-
 foundations/foundation-metrics/pom.xml             |   4 +-
 foundations/foundation-ssl/pom.xml                 |   4 +-
 foundations/foundation-test-scaffolding/pom.xml    |   2 +-
 foundations/foundation-vertx/pom.xml               |   8 +-
 foundations/pom.xml                                |   2 +-
 handlers/handler-bizkeeper/pom.xml                 |   6 +-
 handlers/handler-flowcontrol-qps/pom.xml           |   4 +-
 handlers/handler-loadbalance/pom.xml               |   6 +-
 handlers/handler-publickey-auth/pom.xml            |   4 +-
 handlers/handler-tracing-zipkin/pom.xml            |   8 +-
 handlers/pom.xml                                   |   2 +-
 integration-tests/jaxrs-tests/pom.xml              |   8 +-
 integration-tests/pojo-test/pom.xml                |   8 +-
 integration-tests/pom.xml                          |  18 ++--
 integration-tests/spring-jaxrs-tests/pom.xml       |  10 +-
 integration-tests/spring-pojo-tests/pom.xml        |   8 +-
 integration-tests/spring-springmvc-tests/pom.xml   |   8 +-
 .../spring-zuul-tracing-tests/pom.xml              |  10 +-
 integration-tests/springmvc-tests/pom.xml          |   8 +-
 integration-tests/test-common/pom.xml              |   8 +-
 integration-tests/tracing-tests/pom.xml            |  16 +--
 java-chassis-dependencies/pom.xml                  |  94 +++++++++---------
 java-chassis-distribution/pom.xml                  |  76 +++++++--------
 metrics/metrics-common/pom.xml                     |   2 +-
 metrics/metrics-core/pom.xml                       |   6 +-
 metrics/metrics-extension/pom.xml                  |   2 +-
 .../metrics-integration/metrics-prometheus/pom.xml |   4 +-
 metrics/metrics-integration/pom.xml                |   2 +-
 metrics/pom.xml                                    |   2 +-
 parent/pom.xml                                     |   2 +-
 pom.xml                                            |   2 +-
 providers/pom.xml                                  |   2 +-
 providers/provider-jaxrs/pom.xml                   |   8 +-
 providers/provider-pojo/pom.xml                    |   6 +-
 providers/provider-rest-common/pom.xml             |   6 +-
 providers/provider-springmvc/pom.xml               |   8 +-
 samples/auth-sample/auth-consumer/pom.xml          |  16 +--
 samples/auth-sample/auth-provider/pom.xml          |  12 +--
 samples/auth-sample/pom.xml                        |   2 +-
 samples/bmi/calculator/pom.xml                     |  10 +-
 samples/bmi/pom.xml                                |   4 +-
 samples/bmi/webapp/pom.xml                         |  10 +-
 .../codefirst-sample/codefirst-consumer/pom.xml    |  10 +-
 .../codefirst-sample/codefirst-provider/pom.xml    |  12 +--
 samples/codefirst-sample/pom.xml                   |   2 +-
 samples/common-schema/pom.xml                      |   2 +-
 samples/config-apollo-sample/pom.xml               |   6 +-
 .../custom-handler-consumer/pom.xml                |  14 +--
 .../custom-handler-provider/pom.xml                |  14 +--
 samples/custom-handler-sample/pom.xml              |   2 +-
 samples/jaxrs-sample/jaxrs-consumer/pom.xml        |  16 +--
 samples/jaxrs-sample/jaxrs-provider/pom.xml        |  16 +--
 samples/jaxrs-sample/pom.xml                       |   2 +-
 samples/metrics-extend-healthcheck/pom.xml         |   6 +-
 .../metrics-write-file-log4j-springboot/pom.xml    |  12 +--
 .../metrics-write-file-log4j2-springboot/pom.xml   |  12 +--
 .../metrics-write-file/pom.xml                     |   4 +-
 samples/metrics-write-file-sample/pom.xml          |   6 +-
 samples/pojo-sample/pojo-consumer/pom.xml          |  16 +--
 samples/pojo-sample/pojo-provider/pom.xml          |  16 +--
 samples/pojo-sample/pom.xml                        |   2 +-
 samples/pom.xml                                    |   6 +-
 samples/springmvc-sample/pom.xml                   |   2 +-
 .../springmvc-sample/springmvc-consumer/pom.xml    |  18 ++--
 .../springmvc-sample/springmvc-provider/pom.xml    |  16 +--
 scripts/change_pom.py                              |   4 +-
 service-registry/pom.xml                           |  10 +-
 spring-boot-starter/pom.xml                        |   2 +-
 .../spring-boot-starter-configuration/pom.xml      |   6 +-
 .../spring-boot-starter-discovery/pom.xml          |   4 +-
 .../spring-boot-starter-provider/pom.xml           |   6 +-
 .../spring-boot-starter-registry/pom.xml           |   4 +-
 .../spring-boot-starter-servicecomb/pom.xml        |  16 +--
 .../spring-boot-starter-transport/pom.xml          |   8 +-
 .../spring-cloud-zuul-zipkin/pom.xml               |   4 +-
 spring-boot-starter/spring-cloud-zuul/pom.xml      |   8 +-
 swagger/pom.xml                                    |   2 +-
 swagger/swagger-generator/generator-core/pom.xml   |   8 +-
 swagger/swagger-generator/generator-jaxrs/pom.xml  |   4 +-
 .../swagger-generator/generator-springmvc/pom.xml  |   4 +-
 swagger/swagger-generator/pom.xml                  |   2 +-
 swagger/swagger-invocation/invocation-core/pom.xml |   6 +-
 .../swagger-invocation/invocation-jaxrs/pom.xml    |   4 +-
 .../invocation-springmvc/pom.xml                   |   4 +-
 swagger/swagger-invocation/pom.xml                 |   2 +-
 tracing/README.md                                  |   2 +-
 tracing/pom.xml                                    |   2 +-
 tracing/tracing-common/pom.xml                     |   2 +-
 tracing/tracing-zipkin/pom.xml                     |   4 +-
 transports/pom.xml                                 |   2 +-
 transports/transport-highway/pom.xml               |  10 +-
 transports/transport-rest/pom.xml                  |   2 +-
 .../transport-rest/transport-rest-client/pom.xml   |   6 +-
 .../transport-rest/transport-rest-servlet/pom.xml  |   6 +-
 .../transport-rest/transport-rest-vertx/pom.xml    |   6 +-
 157 files changed, 653 insertions(+), 653 deletions(-)

diff --git a/README.md b/README.md
index 954cdd4..e07cee9 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
 # Java Chassis [![Build Status](https://travis-ci.org/apache/incubator-servicecomb-java-chassis.svg?branch=master)](https://travis-ci.org/apache/incubator-servicecomb-java-chassis?branch=master)[![Coverage Status](https://coveralls.io/repos/github/apache/incubator-servicecomb-java-chassis/badge.svg?branch=master)](https://coveralls.io/github/apache/incubator-servicecomb-java-chassis?branch=master)
-[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.servicecomb/java-chassis-core/badge.svg)](http://search.maven.org/#search%7Cga%7C1%7Cio.servicecomb)
+[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.servicecomb/java-chassis-core/badge.svg)](http://search.maven.org/#search%7Cga%7C1%7Corg.apache.servicecomb)
 [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
 
 Apache ServiceComb (incubating) Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features
@@ -8,7 +8,7 @@ Apache ServiceComb (incubating) Java Chassis is a Software Development Kit (SDK)
 
 Provider service:
 ```java
-import io.servicecomb.*;
+import org.apache.servicecomb.*;
 @RpcSchema(schemaId = "helloworld")
 public class HelloWorldProvider implements HelloWorld {
     public String sayHello(String name) {
@@ -19,7 +19,7 @@ public class HelloWorldProvider implements HelloWorld {
 
 Consumer service:
 ```java
-import io.servicecomb.*;
+import org.apache.servicecomb.*;
 @Component
 public class HelloWorldConsumer  {
 	@RpcReference(microserviceName = "pojo", schemaId = "helloworld")
diff --git a/common/common-javassist/pom.xml b/common/common-javassist/pom.xml
index 63fb9bd..b669999 100644
--- a/common/common-javassist/pom.xml
+++ b/common/common-javassist/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>common</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -32,7 +32,7 @@
       <artifactId>javassist</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-common</artifactId>
     </dependency>
     <dependency>
diff --git a/common/common-protobuf/pom.xml b/common/common-protobuf/pom.xml
index f9f1026..f86c1d9 100644
--- a/common/common-protobuf/pom.xml
+++ b/common/common-protobuf/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>common</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -28,7 +28,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>java-chassis-core</artifactId>
     </dependency>
     <dependency>
@@ -45,7 +45,7 @@
       <artifactId>jackson-dataformat-protobuf</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>common-javassist</artifactId>
     </dependency>
     <dependency>
diff --git a/common/common-rest/pom.xml b/common/common-rest/pom.xml
index 5dd4327..d97d944 100644
--- a/common/common-rest/pom.xml
+++ b/common/common-rest/pom.xml
@@ -21,7 +21,7 @@
   xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>common</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -31,7 +31,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>java-chassis-core</artifactId>
     </dependency>
     <dependency>
@@ -50,7 +50,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-metrics</artifactId>
     </dependency>
   </dependencies>
diff --git a/common/pom.xml b/common/pom.xml
index 88e9bbf..75eebea 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
diff --git a/core/pom.xml b/core/pom.xml
index 7f5eeb5..c4e690b 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
@@ -29,15 +29,15 @@
   
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>service-registry</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>swagger-invocation-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-metrics</artifactId>
     </dependency>
     <dependency>
@@ -70,7 +70,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
   </dependencies>
diff --git a/coverage-reports/pom.xml b/coverage-reports/pom.xml
index 35f59b8..7608697 100644
--- a/coverage-reports/pom.xml
+++ b/coverage-reports/pom.xml
@@ -19,7 +19,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
@@ -31,232 +31,232 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-common</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-ssl</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-config</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-vertx</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-metrics</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>java-chassis-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-bizkeeper</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-loadbalance</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-publickey-auth</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-flowcontrol-qps</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>common-rest</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-client</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-servlet</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>common-protobuf</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>common-javassist</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>swagger-generator-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>swagger-generator-jaxrs</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>swagger-generator-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>swagger-invocation-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>swagger-invocation-jaxrs</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>swagger-invocation-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>service-registry</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-rest-common</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-jaxrs</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-highway</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-configuration</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-provider</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-transport</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-discovery</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-registry</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-tracing-zipkin</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>config-apollo</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>pojo-client</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>pojo-server</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>jaxrs-client</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>jaxrs-server</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>springmvc-client</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>springmvc-server</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>crossapp-client</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>crossapp-server</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-spring-boot-jaxrs-server</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-spring-boot-jaxrs-client</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-spring-boot-pojo-client</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-spring-boot-pojo-server</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-spring-boot-discovery-server</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-spring-boot-discovery-client</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-spring-boot-zuul-proxy</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.tests</groupId>
+      <groupId>org.apache.servicecomb.tests</groupId>
       <artifactId>jaxrs-tests</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.tests</groupId>
+      <groupId>org.apache.servicecomb.tests</groupId>
       <artifactId>springmvc-tests</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.tests</groupId>
+      <groupId>org.apache.servicecomb.tests</groupId>
       <artifactId>tracing-tests</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
diff --git a/demo/demo-crossapp/crossapp-client/pom.xml b/demo/demo-crossapp/crossapp-client/pom.xml
index 6b98e01..a031db0 100644
--- a/demo/demo-crossapp/crossapp-client/pom.xml
+++ b/demo/demo-crossapp/crossapp-client/pom.xml
@@ -21,7 +21,7 @@
   xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-crossapp</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -30,15 +30,15 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-schema</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
   </dependencies>
@@ -58,7 +58,7 @@
         <configuration>
           <mixins>
             <mixin>
-              <groupId>io.servicecomb.demo</groupId>
+              <groupId>org.apache.servicecomb.demo</groupId>
               <artifactId>docker-run-config</artifactId>
               <version>0.6.0-SNAPSHOT</version>
             </mixin>
diff --git a/demo/demo-crossapp/crossapp-server/pom.xml b/demo/demo-crossapp/crossapp-server/pom.xml
index b0123d3..1e08da0 100644
--- a/demo/demo-crossapp/crossapp-server/pom.xml
+++ b/demo/demo-crossapp/crossapp-server/pom.xml
@@ -21,7 +21,7 @@
   xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-crossapp</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -30,11 +30,11 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-schema</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
   </dependencies>
@@ -54,7 +54,7 @@
         <configuration>
           <mixins>
             <mixin>
-              <groupId>io.servicecomb.demo</groupId>
+              <groupId>org.apache.servicecomb.demo</groupId>
               <artifactId>docker-build-config</artifactId>
               <version>0.6.0-SNAPSHOT</version>
             </mixin>
diff --git a/demo/demo-crossapp/pom.xml b/demo/demo-crossapp/pom.xml
index 81e8544..0937f4c 100644
--- a/demo/demo-crossapp/pom.xml
+++ b/demo/demo-crossapp/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/demo/demo-edge/authentication/pom.xml b/demo/demo-edge/authentication/pom.xml
index 9d176e8..5796d87 100644
--- a/demo/demo-edge/authentication/pom.xml
+++ b/demo/demo-edge/authentication/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-edge</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -27,11 +27,11 @@
   <name>Java Chassis::Demo::Edge::Authentication</name>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
   </dependencies>
diff --git a/demo/demo-edge/edge-service/pom.xml b/demo/demo-edge/edge-service/pom.xml
index 2e2b1cc..62f2be4 100644
--- a/demo/demo-edge/edge-service/pom.xml
+++ b/demo/demo-edge/edge-service/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-edge</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -32,15 +32,15 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>edge-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-loadbalance</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
   </dependencies>
diff --git a/demo/demo-edge/hiboard-business-1-1-0/pom.xml b/demo/demo-edge/hiboard-business-1-1-0/pom.xml
index dbff30d..22e2d7b 100644
--- a/demo/demo-edge/hiboard-business-1-1-0/pom.xml
+++ b/demo/demo-edge/hiboard-business-1-1-0/pom.xml
@@ -18,7 +18,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-edge</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -30,19 +30,19 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-servlet</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>hiboard-model</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
diff --git a/demo/demo-edge/hiboard-business-1.0.0/pom.xml b/demo/demo-edge/hiboard-business-1.0.0/pom.xml
index 4b996d2..db80e49 100644
--- a/demo/demo-edge/hiboard-business-1.0.0/pom.xml
+++ b/demo/demo-edge/hiboard-business-1.0.0/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-edge</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -33,19 +33,19 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-servlet</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>hiboard-model</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
diff --git a/demo/demo-edge/hiboard-business-2.0.0/pom.xml b/demo/demo-edge/hiboard-business-2.0.0/pom.xml
index 7e5d20d..590b305 100644
--- a/demo/demo-edge/hiboard-business-2.0.0/pom.xml
+++ b/demo/demo-edge/hiboard-business-2.0.0/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-edge</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -33,19 +33,19 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-servlet</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>hiboard-model</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
diff --git a/demo/demo-edge/hiboard-consumer/pom.xml b/demo/demo-edge/hiboard-consumer/pom.xml
index 6262a95..4bd28aa 100644
--- a/demo/demo-edge/hiboard-consumer/pom.xml
+++ b/demo/demo-edge/hiboard-consumer/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-edge</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -33,23 +33,23 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-servlet</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>hiboard-model</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
diff --git a/demo/demo-edge/hiboard-model/pom.xml b/demo/demo-edge/hiboard-model/pom.xml
index 8351581..136e82f 100644
--- a/demo/demo-edge/hiboard-model/pom.xml
+++ b/demo/demo-edge/hiboard-model/pom.xml
@@ -19,7 +19,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-edge</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -27,7 +27,7 @@
   <name>Java Chassis::Demo::Edge::HiBoard Model</name>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>service-registry</artifactId>
     </dependency>
   </dependencies>
diff --git a/demo/demo-edge/pom.xml b/demo/demo-edge/pom.xml
index 4e210f9..a57abf5 100644
--- a/demo/demo-edge/pom.xml
+++ b/demo/demo-edge/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/demo/demo-jaxrs/jaxrs-client/pom.xml b/demo/demo-jaxrs/jaxrs-client/pom.xml
index 3b65bd3..255bdeb 100644
--- a/demo/demo-jaxrs/jaxrs-client/pom.xml
+++ b/demo/demo-jaxrs/jaxrs-client/pom.xml
@@ -21,7 +21,7 @@
 	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-jaxrs</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -30,15 +30,15 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>demo-schema</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>provider-jaxrs</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>provider-springmvc</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/demo/demo-jaxrs/jaxrs-server/pom.xml b/demo/demo-jaxrs/jaxrs-server/pom.xml
index 71ee3ee..f8dcd78 100644
--- a/demo/demo-jaxrs/jaxrs-server/pom.xml
+++ b/demo/demo-jaxrs/jaxrs-server/pom.xml
@@ -21,7 +21,7 @@
 	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-jaxrs</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -30,11 +30,11 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>demo-schema</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>provider-jaxrs</artifactId>
 		</dependency>
 	</dependencies>
@@ -54,7 +54,7 @@
 				<configuration>
 					<mixins>
 						<mixin>
-							<groupId>io.servicecomb.demo</groupId>
+							<groupId>org.apache.servicecomb.demo</groupId>
 							<artifactId>docker-build-config</artifactId>
 							<version>0.6.0-SNAPSHOT</version>
 						</mixin>
diff --git a/demo/demo-jaxrs/pom.xml b/demo/demo-jaxrs/pom.xml
index 9c123e6..9485e37 100644
--- a/demo/demo-jaxrs/pom.xml
+++ b/demo/demo-jaxrs/pom.xml
@@ -20,7 +20,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-parent</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
diff --git a/demo/demo-local/pom.xml b/demo/demo-local/pom.xml
index fb0dde4..a8bd3d8 100644
--- a/demo/demo-local/pom.xml
+++ b/demo/demo-local/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-parent</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -27,11 +27,11 @@
 	<name>Java Chassis::Demo::Local</name>
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>pojo-server</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>pojo-client</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/demo/demo-multiple/a-client/pom.xml b/demo/demo-multiple/a-client/pom.xml
index 2df5eb6..6364295 100644
--- a/demo/demo-multiple/a-client/pom.xml
+++ b/demo/demo-multiple/a-client/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-multiple</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/demo/demo-multiple/a-server/pom.xml b/demo/demo-multiple/a-server/pom.xml
index 4a55733..5d0f764 100644
--- a/demo/demo-multiple/a-server/pom.xml
+++ b/demo/demo-multiple/a-server/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-multiple</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/demo/demo-multiple/b-client/pom.xml b/demo/demo-multiple/b-client/pom.xml
index 55e9874..b0457e6 100644
--- a/demo/demo-multiple/b-client/pom.xml
+++ b/demo/demo-multiple/b-client/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-multiple</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/demo/demo-multiple/b-server/pom.xml b/demo/demo-multiple/b-server/pom.xml
index dffd339..77daebf 100644
--- a/demo/demo-multiple/b-server/pom.xml
+++ b/demo/demo-multiple/b-server/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-multiple</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/demo/demo-multiple/multiple-client/pom.xml b/demo/demo-multiple/multiple-client/pom.xml
index 620c155..212784e 100644
--- a/demo/demo-multiple/multiple-client/pom.xml
+++ b/demo/demo-multiple/multiple-client/pom.xml
@@ -20,7 +20,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-multiple</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -28,11 +28,11 @@
 	<name>Java Chassis::Demo::Multiple::Client</name>
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>a-client</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>b-client</artifactId>
 		</dependency>
 	</dependencies>
@@ -48,7 +48,7 @@
 				<configuration>
 					<mixins>
 						<mixin>
-							<groupId>io.servicecomb.demo</groupId>
+							<groupId>org.apache.servicecomb.demo</groupId>
 							<artifactId>docker-run-config</artifactId>
 							<version>0.6.0-SNAPSHOT</version>
 						</mixin>
diff --git a/demo/demo-multiple/multiple-server/pom.xml b/demo/demo-multiple/multiple-server/pom.xml
index cce52b3..bc0cc95 100644
--- a/demo/demo-multiple/multiple-server/pom.xml
+++ b/demo/demo-multiple/multiple-server/pom.xml
@@ -20,7 +20,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-multiple</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -28,11 +28,11 @@
 	<name>Java Chassis::Demo::Multiple::Server</name>
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>a-server</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>b-server</artifactId>
 		</dependency>
 	</dependencies>
@@ -48,7 +48,7 @@
 				<configuration>
 					<mixins>
 						<mixin>
-							<groupId>io.servicecomb.demo</groupId>
+							<groupId>org.apache.servicecomb.demo</groupId>
 							<artifactId>docker-build-config</artifactId>
 							<version>0.6.0-SNAPSHOT</version>
 						</mixin>
diff --git a/demo/demo-multiple/pom.xml b/demo/demo-multiple/pom.xml
index c5a07e2..048128a 100644
--- a/demo/demo-multiple/pom.xml
+++ b/demo/demo-multiple/pom.xml
@@ -20,7 +20,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-parent</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -39,22 +39,22 @@
 	<dependencyManagement>
 		<dependencies>
 			<dependency>
-				<groupId>io.servicecomb.demo</groupId>
+				<groupId>org.apache.servicecomb.demo</groupId>
 				<artifactId>a-server</artifactId>
 				<version>0.6.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
-				<groupId>io.servicecomb.demo</groupId>
+				<groupId>org.apache.servicecomb.demo</groupId>
 				<artifactId>a-client</artifactId>
 				<version>0.6.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
-				<groupId>io.servicecomb.demo</groupId>
+				<groupId>org.apache.servicecomb.demo</groupId>
 				<artifactId>b-server</artifactId>
 				<version>0.6.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
-				<groupId>io.servicecomb.demo</groupId>
+				<groupId>org.apache.servicecomb.demo</groupId>
 				<artifactId>b-client</artifactId>
 				<version>0.6.0-SNAPSHOT</version>
 			</dependency>
@@ -63,11 +63,11 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>demo-schema</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>provider-pojo</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/demo/demo-pojo/pojo-client/pom.xml b/demo/demo-pojo/pojo-client/pom.xml
index 4c177d1..8de1e52 100644
--- a/demo/demo-pojo/pojo-client/pom.xml
+++ b/demo/demo-pojo/pojo-client/pom.xml
@@ -20,7 +20,7 @@
   xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-pojo</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -29,11 +29,11 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-schema</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
   </dependencies>
@@ -53,7 +53,7 @@
         <configuration>
           <mixins>
             <mixin>
-              <groupId>io.servicecomb.demo</groupId>
+              <groupId>org.apache.servicecomb.demo</groupId>
               <artifactId>docker-run-config</artifactId>
               <version>0.6.0-SNAPSHOT</version>
             </mixin>
diff --git a/demo/demo-pojo/pojo-server/pom.xml b/demo/demo-pojo/pojo-server/pom.xml
index 903705a..e5f51e7 100644
--- a/demo/demo-pojo/pojo-server/pom.xml
+++ b/demo/demo-pojo/pojo-server/pom.xml
@@ -20,7 +20,7 @@
   xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-pojo</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -29,11 +29,11 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-schema</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
   </dependencies>
@@ -53,7 +53,7 @@
         <configuration>
           <mixins>
             <mixin>
-              <groupId>io.servicecomb.demo</groupId>
+              <groupId>org.apache.servicecomb.demo</groupId>
               <artifactId>docker-build-config</artifactId>
               <version>0.6.0-SNAPSHOT</version>
             </mixin>
diff --git a/demo/demo-pojo/pojo-tests/pom.xml b/demo/demo-pojo/pojo-tests/pom.xml
index 283d071..441cbd1 100644
--- a/demo/demo-pojo/pojo-tests/pom.xml
+++ b/demo/demo-pojo/pojo-tests/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>demo-pojo</artifactId>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -31,11 +31,11 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-schema</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
     <dependency>
diff --git a/demo/demo-pojo/pom.xml b/demo/demo-pojo/pom.xml
index 5dd16a4..2fac91d 100644
--- a/demo/demo-pojo/pom.xml
+++ b/demo/demo-pojo/pom.xml
@@ -20,7 +20,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-parent</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
diff --git a/demo/demo-schema/pom.xml b/demo/demo-schema/pom.xml
index fcfb4d9..d4c3a86 100644
--- a/demo/demo-schema/pom.xml
+++ b/demo/demo-schema/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -29,23 +29,23 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-bizkeeper</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-loadbalance</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-highway</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-servlet</artifactId>
     </dependency>
     <dependency>
@@ -54,15 +54,15 @@
       <scope>compile</scope>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-flowcontrol-qps</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>swagger-generator-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-signature</artifactId>
     </dependency>
   </dependencies>
diff --git a/demo/demo-server-servlet/pom.xml b/demo/demo-server-servlet/pom.xml
index 3dca6a1..8b95247 100644
--- a/demo/demo-server-servlet/pom.xml
+++ b/demo/demo-server-servlet/pom.xml
@@ -21,7 +21,7 @@
 	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-parent</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -32,7 +32,7 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>pojo-server</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/demo/demo-signature/pom.xml b/demo/demo-signature/pom.xml
index e528129..a7e3109 100644
--- a/demo/demo-signature/pom.xml
+++ b/demo/demo-signature/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -29,7 +29,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>common-rest</artifactId>
     </dependency>
   </dependencies>
diff --git a/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/pom.xml b/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/pom.xml
index 316fb08..1932ea4 100644
--- a/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/pom.xml
+++ b/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/pom.xml
@@ -21,7 +21,7 @@
 	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-spring-boot-discovery</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -29,11 +29,11 @@
 	<name>Java Chassis::Demo::Spring Boot Discovery::Client</name>
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>demo-schema</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>spring-boot-starter-discovery</artifactId>
 		</dependency>
 	</dependencies>
@@ -49,7 +49,7 @@
 				<configuration>
 					<mixins>
 						<mixin>
-							<groupId>io.servicecomb.demo</groupId>
+							<groupId>org.apache.servicecomb.demo</groupId>
 							<artifactId>docker-run-config</artifactId>
 							<version>0.6.0-SNAPSHOT</version>
 						</mixin>
diff --git a/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/pom.xml b/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/pom.xml
index f914ac9..0bdae94 100644
--- a/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/pom.xml
+++ b/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/pom.xml
@@ -20,7 +20,7 @@
   xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-spring-boot-discovery</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -28,17 +28,17 @@
   <name>Java Chassis::Demo::Spring Boot Discovery::Server</name>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-schema</artifactId>
       <exclusions>
         <exclusion>
-          <groupId>io.servicecomb.demo</groupId>
+          <groupId>org.apache.servicecomb.demo</groupId>
           <artifactId>demo-signature</artifactId>
         </exclusion>
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
   </dependencies>
@@ -58,7 +58,7 @@
         <configuration>
           <mixins>
             <mixin>
-              <groupId>io.servicecomb.demo</groupId>
+              <groupId>org.apache.servicecomb.demo</groupId>
               <artifactId>docker-build-config</artifactId>
               <version>0.6.0-SNAPSHOT</version>
             </mixin>
diff --git a/demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/pom.xml b/demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/pom.xml
index fe08f64..d84c92a 100644
--- a/demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/pom.xml
+++ b/demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/pom.xml
@@ -21,7 +21,7 @@
 	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-spring-boot-discovery</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -44,11 +44,11 @@
 			<artifactId>spring-cloud-starter-hystrix</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>spring-boot-starter-discovery</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>demo-schema</artifactId>
 		</dependency>
 	</dependencies>
@@ -64,7 +64,7 @@
 				<configuration>
 					<mixins>
 						<mixin>
-							<groupId>io.servicecomb.demo</groupId>
+							<groupId>org.apache.servicecomb.demo</groupId>
 							<artifactId>docker-run-config</artifactId>
 							<version>0.6.0-SNAPSHOT</version>
 						</mixin>
diff --git a/demo/demo-spring-boot-discovery/pom.xml b/demo/demo-spring-boot-discovery/pom.xml
index 7ff9b54..c0ead8a 100644
--- a/demo/demo-spring-boot-discovery/pom.xml
+++ b/demo/demo-spring-boot-discovery/pom.xml
@@ -20,7 +20,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-parent</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -36,11 +36,11 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>spring-boot-starter-provider</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>spring-boot-starter-transport</artifactId>
 		</dependency>
 		<dependency>
diff --git a/demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-client/pom.xml b/demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-client/pom.xml
index 41770c4..9cd0035 100644
--- a/demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-client/pom.xml
+++ b/demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-client/pom.xml
@@ -23,13 +23,13 @@
 	<artifactId>demo-spring-boot-jaxrs-client</artifactId>
 	<name>Java Chassis::Demo::Spring Boot::JAXRS Client</name>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-spring-boot</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>jaxrs-client</artifactId>
 		</dependency>
 		<dependency>
@@ -54,7 +54,7 @@
 				<configuration>
 					<mixins>
 						<mixin>
-							<groupId>io.servicecomb.demo</groupId>
+							<groupId>org.apache.servicecomb.demo</groupId>
 							<artifactId>docker-run-config</artifactId>
 							<version>0.6.0-SNAPSHOT</version>
 						</mixin>
diff --git a/demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-server/pom.xml b/demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-server/pom.xml
index b18c27a..7989c47 100644
--- a/demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-server/pom.xml
+++ b/demo/demo-spring-boot-provider/demo-spring-boot-jaxrs-server/pom.xml
@@ -23,7 +23,7 @@
 	<artifactId>demo-spring-boot-jaxrs-server</artifactId>
 	<name>Java Chassis::Demo::Spring Boot::JAXRS Server</name>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-spring-boot</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -32,7 +32,7 @@
 	</properties>
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>jaxrs-server</artifactId>
 		</dependency>
 		<dependency>
@@ -56,7 +56,7 @@
 				<configuration>
 					<mixins>
 						<mixin>
-							<groupId>io.servicecomb.demo</groupId>
+							<groupId>org.apache.servicecomb.demo</groupId>
 							<artifactId>docker-build-config</artifactId>
 							<version>0.6.0-SNAPSHOT</version>
 						</mixin>
diff --git a/demo/demo-spring-boot-provider/demo-spring-boot-springmvc-client/pom.xml b/demo/demo-spring-boot-provider/demo-spring-boot-springmvc-client/pom.xml
index e6b45b8..90d2897 100644
--- a/demo/demo-spring-boot-provider/demo-spring-boot-springmvc-client/pom.xml
+++ b/demo/demo-spring-boot-provider/demo-spring-boot-springmvc-client/pom.xml
@@ -20,17 +20,17 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
 	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
-	<groupId>io.servicecomb.springboot.springmvc.client</groupId>
+	<groupId>org.apache.servicecomb.springboot.springmvc.client</groupId>
 	<artifactId>demo-spring-boot-springmvc-client</artifactId>
 	<name>Java Chassis::Demo::Spring Boot::Spring MVC Client</name>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-spring-boot</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>springmvc-client</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/demo/demo-spring-boot-provider/demo-spring-boot-springmvc-server/pom.xml b/demo/demo-spring-boot-provider/demo-spring-boot-springmvc-server/pom.xml
index a49ebda..6932a98 100644
--- a/demo/demo-spring-boot-provider/demo-spring-boot-springmvc-server/pom.xml
+++ b/demo/demo-spring-boot-provider/demo-spring-boot-springmvc-server/pom.xml
@@ -20,17 +20,17 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
 	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
-	<groupId>io.servicecomb.springboot.springmvc.server</groupId>
+	<groupId>org.apache.servicecomb.springboot.springmvc.server</groupId>
 	<artifactId>demo-spring-boot-springmvc-server</artifactId>
 	<name>Java Chassis::Demo::Spring Boot::Spring MVC Client</name>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-spring-boot</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>springmvc-server</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/demo/demo-spring-boot-provider/pom.xml b/demo/demo-spring-boot-provider/pom.xml
index cc359f5..49ccf50 100644
--- a/demo/demo-spring-boot-provider/pom.xml
+++ b/demo/demo-spring-boot-provider/pom.xml
@@ -20,7 +20,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-parent</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -36,7 +36,7 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>spring-boot-starter-provider</artifactId>
 		</dependency>
 		<dependency>
diff --git a/demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/pom.xml b/demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/pom.xml
index 74aeefa..c90c22c 100644
--- a/demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/pom.xml
+++ b/demo/demo-spring-boot-transport/demo-spring-boot-pojo-client/pom.xml
@@ -23,7 +23,7 @@
 	<artifactId>demo-spring-boot-pojo-client</artifactId>
 	<name>Java Chassis::Demo::Spring Boot::Transport::POJO Client</name>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-spring-boot-transport</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -33,7 +33,7 @@
 	</properties>
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>spring-boot-starter-provider</artifactId>
 		</dependency>
 		<dependency>
@@ -61,7 +61,7 @@
 				<configuration>
 					<mixins>
 						<mixin>
-							<groupId>io.servicecomb.demo</groupId>
+							<groupId>org.apache.servicecomb.demo</groupId>
 							<artifactId>docker-run-config</artifactId>
 							<version>0.6.0-SNAPSHOT</version>
 						</mixin>
diff --git a/demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/pom.xml b/demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/pom.xml
index f13619f..c53d0ce 100644
--- a/demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/pom.xml
+++ b/demo/demo-spring-boot-transport/demo-spring-boot-pojo-server/pom.xml
@@ -23,7 +23,7 @@
 	<artifactId>demo-spring-boot-pojo-server</artifactId>
 	<name>Java Chassis::Demo::Spring Boot::Transport::POJO Server</name>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-spring-boot-transport</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -49,7 +49,7 @@
 			<artifactId>javax.ws.rs-api</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>spring-boot-starter-transport</artifactId>
 		</dependency>
 	</dependencies>
@@ -65,7 +65,7 @@
 				<configuration>
 					<mixins>
 						<mixin>
-							<groupId>io.servicecomb.demo</groupId>
+							<groupId>org.apache.servicecomb.demo</groupId>
 							<artifactId>docker-build-config</artifactId>
 							<version>0.6.0-SNAPSHOT</version>
 						</mixin>
diff --git a/demo/demo-spring-boot-transport/pom.xml b/demo/demo-spring-boot-transport/pom.xml
index a8fca10..1a3a752 100644
--- a/demo/demo-spring-boot-transport/pom.xml
+++ b/demo/demo-spring-boot-transport/pom.xml
@@ -20,7 +20,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-parent</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
diff --git a/demo/demo-springmvc/pom.xml b/demo/demo-springmvc/pom.xml
index b708e72..763013e 100644
--- a/demo/demo-springmvc/pom.xml
+++ b/demo/demo-springmvc/pom.xml
@@ -20,7 +20,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-parent</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
diff --git a/demo/demo-springmvc/springmvc-client/pom.xml b/demo/demo-springmvc/springmvc-client/pom.xml
index 56bf3e1..884d0c6 100644
--- a/demo/demo-springmvc/springmvc-client/pom.xml
+++ b/demo/demo-springmvc/springmvc-client/pom.xml
@@ -21,7 +21,7 @@
 	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-springmvc</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -30,20 +30,20 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>demo-schema</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>provider-springmvc</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>provider-pojo</artifactId>
 		</dependency>
 
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>metrics-common</artifactId>
 		</dependency>
 
@@ -64,7 +64,7 @@
 				<configuration>
 					<mixins>
 						<mixin>
-							<groupId>io.servicecomb.demo</groupId>
+							<groupId>org.apache.servicecomb.demo</groupId>
 							<artifactId>docker-run-config</artifactId>
 							<version>0.6.0-SNAPSHOT</version>
 						</mixin>
diff --git a/demo/demo-springmvc/springmvc-server/pom.xml b/demo/demo-springmvc/springmvc-server/pom.xml
index 5c26ec7..b0f0cf9 100644
--- a/demo/demo-springmvc/springmvc-server/pom.xml
+++ b/demo/demo-springmvc/springmvc-server/pom.xml
@@ -21,7 +21,7 @@
 	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb.demo</groupId>
+		<groupId>org.apache.servicecomb.demo</groupId>
 		<artifactId>demo-springmvc</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -30,16 +30,16 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb.demo</groupId>
+			<groupId>org.apache.servicecomb.demo</groupId>
 			<artifactId>demo-schema</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>provider-springmvc</artifactId>
 		</dependency>
 
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>metrics-prometheus</artifactId>
 		</dependency>
 
@@ -60,7 +60,7 @@
 				<configuration>
 					<mixins>
 						<mixin>
-							<groupId>io.servicecomb.demo</groupId>
+							<groupId>org.apache.servicecomb.demo</groupId>
 							<artifactId>docker-build-config</artifactId>
 							<version>0.6.0-SNAPSHOT</version>
 						</mixin>
diff --git a/demo/docker-build-config/pom.xml b/demo/docker-build-config/pom.xml
index 64ee27a..135d792 100644
--- a/demo/docker-build-config/pom.xml
+++ b/demo/docker-build-config/pom.xml
@@ -21,7 +21,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <artifactId>demo-parent</artifactId>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <version>0.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/demo/docker-run-config/pom.xml b/demo/docker-run-config/pom.xml
index b688a74..982b87f 100644
--- a/demo/docker-run-config/pom.xml
+++ b/demo/docker-run-config/pom.xml
@@ -20,7 +20,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <artifactId>demo-parent</artifactId>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <version>0.6.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/demo/perf/pom.xml b/demo/perf/pom.xml
index 385c727..72d6f3c 100644
--- a/demo/perf/pom.xml
+++ b/demo/perf/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.demo</groupId>
+    <groupId>org.apache.servicecomb.demo</groupId>
     <artifactId>demo-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -28,19 +28,19 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-highway</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
 
@@ -55,7 +55,7 @@
       <version>3.5.0</version>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>metrics-core</artifactId>
     </dependency>
   </dependencies>
diff --git a/demo/pom.xml b/demo/pom.xml
index b5f2392..7cc4fa5 100644
--- a/demo/pom.xml
+++ b/demo/pom.xml
@@ -20,12 +20,12 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
   </parent>
-  <groupId>io.servicecomb.demo</groupId>
+  <groupId>org.apache.servicecomb.demo</groupId>
   <artifactId>demo-parent</artifactId>
   <name>Java Chassis::Demo</name>
 
@@ -54,67 +54,67 @@
   <dependencyManagement>
     <dependencies>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>demo-signature</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>demo-schema</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>all-client</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>pojo-server</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>jaxrs-server</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>springmvc-server</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>crossapp-server</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>multiple-server</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>multiple-client</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>pojo-client</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>jaxrs-client</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>springmvc-client</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>crossapp-client</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
@@ -208,7 +208,7 @@
                 <configuration>
                   <property>root.dir</property>
                   <project>
-                    <groupId>io.servicecomb</groupId>
+                    <groupId>org.apache.servicecomb</groupId>
                     <artifactId>java-chassis</artifactId>
                   </project>
                 </configuration>
diff --git a/dynamic-config/config-apollo/pom.xml b/dynamic-config/config-apollo/pom.xml
index 3046f17..bb381c9 100644
--- a/dynamic-config/config-apollo/pom.xml
+++ b/dynamic-config/config-apollo/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>dynamic-config</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -29,11 +29,11 @@
   <name>Java Chassis::Dynamic Config::Apollo</name>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-config</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-vertx</artifactId>
     </dependency>
     <dependency>
diff --git a/dynamic-config/pom.xml b/dynamic-config/pom.xml
index 50d7969..e14b77b 100644
--- a/dynamic-config/pom.xml
+++ b/dynamic-config/pom.xml
@@ -21,7 +21,7 @@
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
diff --git a/edge/edge-core/pom.xml b/edge/edge-core/pom.xml
index 1375be0..159bf29 100644
--- a/edge/edge-core/pom.xml
+++ b/edge/edge-core/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>edge</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -28,7 +28,7 @@
   <name>Java Chassis::Edge::Core</name>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
 
@@ -43,12 +43,12 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>swagger-generator-jaxrs</artifactId>
       <scope>test</scope>
     </dependency>
diff --git a/edge/pom.xml b/edge/pom.xml
index 4352e18..741a97e 100644
--- a/edge/pom.xml
+++ b/edge/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
diff --git a/foundations/foundation-common/pom.xml b/foundations/foundation-common/pom.xml
index f33ee65..8b70897 100644
--- a/foundations/foundation-common/pom.xml
+++ b/foundations/foundation-common/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<version>0.6.0-SNAPSHOT</version>
 		<artifactId>foundations</artifactId>
 	</parent>
diff --git a/foundations/foundation-config-cc/pom.xml b/foundations/foundation-config-cc/pom.xml
index ca7368d..79b7797 100644
--- a/foundations/foundation-config-cc/pom.xml
+++ b/foundations/foundation-config-cc/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>foundations</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
 
@@ -30,15 +30,15 @@
   <dependencies>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-config</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-ssl</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-vertx</artifactId>
     </dependency>
   </dependencies>
diff --git a/foundations/foundation-config/pom.xml b/foundations/foundation-config/pom.xml
index 809b2bd..a6cd5f2 100644
--- a/foundations/foundation-config/pom.xml
+++ b/foundations/foundation-config/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>foundations</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -32,7 +32,7 @@
   <name>Java Chassis::Foundations::Config</name>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-common</artifactId>
     </dependency>
     <dependency>
@@ -67,7 +67,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
 
diff --git a/foundations/foundation-metrics/pom.xml b/foundations/foundation-metrics/pom.xml
index 001979f..bd68986 100644
--- a/foundations/foundation-metrics/pom.xml
+++ b/foundations/foundation-metrics/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>foundations</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -28,7 +28,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-common</artifactId>
     </dependency>
     <dependency>
diff --git a/foundations/foundation-ssl/pom.xml b/foundations/foundation-ssl/pom.xml
index 82806a0..6468919 100644
--- a/foundations/foundation-ssl/pom.xml
+++ b/foundations/foundation-ssl/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>foundations</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -55,7 +55,7 @@
 			<scope>test</scope>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>foundation-config</artifactId>
 			<scope>test</scope>
 		</dependency>
diff --git a/foundations/foundation-test-scaffolding/pom.xml b/foundations/foundation-test-scaffolding/pom.xml
index 6ea2346..7a9f577 100644
--- a/foundations/foundation-test-scaffolding/pom.xml
+++ b/foundations/foundation-test-scaffolding/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>foundations</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/foundations/foundation-vertx/pom.xml b/foundations/foundation-vertx/pom.xml
index d858dce..a14e707 100644
--- a/foundations/foundation-vertx/pom.xml
+++ b/foundations/foundation-vertx/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>foundations</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -36,11 +36,11 @@
       <artifactId>vertx-web</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-ssl</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-common</artifactId>
     </dependency>
     <dependency>
@@ -49,7 +49,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
   </dependencies>
diff --git a/foundations/pom.xml b/foundations/pom.xml
index 7d7665f..1cdc848 100644
--- a/foundations/pom.xml
+++ b/foundations/pom.xml
@@ -18,7 +18,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
diff --git a/handlers/handler-bizkeeper/pom.xml b/handlers/handler-bizkeeper/pom.xml
index 74170d7..8bc3a2b 100644
--- a/handlers/handler-bizkeeper/pom.xml
+++ b/handlers/handler-bizkeeper/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>handlers</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -33,7 +33,7 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>java-chassis-core</artifactId>
 		</dependency>
 
@@ -53,7 +53,7 @@
 			<scope>test</scope>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>foundation-metrics</artifactId>
 		</dependency>
 
diff --git a/handlers/handler-flowcontrol-qps/pom.xml b/handlers/handler-flowcontrol-qps/pom.xml
index 2cd773a..33e8eaf 100644
--- a/handlers/handler-flowcontrol-qps/pom.xml
+++ b/handlers/handler-flowcontrol-qps/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>handlers</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -27,7 +27,7 @@
 	<name>Java Chassis::Handlers::Flow Control QPS</name>
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>java-chassis-core</artifactId>
 		</dependency>
 		<dependency>
diff --git a/handlers/handler-loadbalance/pom.xml b/handlers/handler-loadbalance/pom.xml
index 31d9402..dab92ee 100644
--- a/handlers/handler-loadbalance/pom.xml
+++ b/handlers/handler-loadbalance/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>handlers</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -33,7 +33,7 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>java-chassis-core</artifactId>
 		</dependency>
 		<dependency>
@@ -61,7 +61,7 @@
 			<artifactId>commons-lang</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>foundation-test-scaffolding</artifactId>
 			<scope>test</scope>
 		</dependency>
diff --git a/handlers/handler-publickey-auth/pom.xml b/handlers/handler-publickey-auth/pom.xml
index b6d0963..1790c57 100644
--- a/handlers/handler-publickey-auth/pom.xml
+++ b/handlers/handler-publickey-auth/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>handlers</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -33,7 +33,7 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>java-chassis-core</artifactId>
 		</dependency>
 		<dependency>
diff --git a/handlers/handler-tracing-zipkin/pom.xml b/handlers/handler-tracing-zipkin/pom.xml
index 05daea0..4ade9ef 100644
--- a/handlers/handler-tracing-zipkin/pom.xml
+++ b/handlers/handler-tracing-zipkin/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>handlers</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -31,15 +31,15 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-common</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>java-chassis-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>common-rest</artifactId>
     </dependency>
     <dependency>
diff --git a/handlers/pom.xml b/handlers/pom.xml
index 3a906f7..f0db269 100644
--- a/handlers/pom.xml
+++ b/handlers/pom.xml
@@ -20,7 +20,7 @@
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
diff --git a/integration-tests/jaxrs-tests/pom.xml b/integration-tests/jaxrs-tests/pom.xml
index b184cca..c1c923a 100644
--- a/integration-tests/jaxrs-tests/pom.xml
+++ b/integration-tests/jaxrs-tests/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>integration-tests</artifactId>
-    <groupId>io.servicecomb.tests</groupId>
+    <groupId>org.apache.servicecomb.tests</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -31,17 +31,17 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-schema</artifactId>
       <exclusions>
         <exclusion>
-          <groupId>io.servicecomb.demo</groupId>
+          <groupId>org.apache.servicecomb.demo</groupId>
           <artifactId>demo-signature</artifactId>
         </exclusion>
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-jaxrs</artifactId>
     </dependency>
   </dependencies>
diff --git a/integration-tests/pojo-test/pom.xml b/integration-tests/pojo-test/pom.xml
index ebd28f7..1080878 100644
--- a/integration-tests/pojo-test/pom.xml
+++ b/integration-tests/pojo-test/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>integration-tests</artifactId>
-    <groupId>io.servicecomb.tests</groupId>
+    <groupId>org.apache.servicecomb.tests</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -31,17 +31,17 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-schema</artifactId>
       <exclusions>
         <exclusion>
-          <groupId>io.servicecomb.demo</groupId>
+          <groupId>org.apache.servicecomb.demo</groupId>
           <artifactId>demo-signature</artifactId>
         </exclusion>
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
   </dependencies>
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 55f6086..c5cd398 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -18,14 +18,14 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
-  <groupId>io.servicecomb.tests</groupId>
+  <groupId>org.apache.servicecomb.tests</groupId>
   <artifactId>integration-tests</artifactId>
   <name>Java Chassis::Integration Tests</name>
   <packaging>pom</packaging>
@@ -45,12 +45,12 @@
   <dependencyManagement>
     <dependencies>
       <dependency>
-        <groupId>io.servicecomb.demo</groupId>
+        <groupId>org.apache.servicecomb.demo</groupId>
         <artifactId>demo-schema</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.tests</groupId>
+        <groupId>org.apache.servicecomb.tests</groupId>
         <artifactId>test-common</artifactId>
         <version>0.6.0-SNAPSHOT</version>
         <type>test-jar</type>
@@ -76,15 +76,15 @@
   </dependencyManagement>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-bizkeeper</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-loadbalance</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-highway</artifactId>
     </dependency>
     <dependency>
@@ -92,11 +92,11 @@
       <artifactId>javax.servlet-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-flowcontrol-qps</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>swagger-generator-springmvc</artifactId>
     </dependency>
   </dependencies>
diff --git a/integration-tests/spring-jaxrs-tests/pom.xml b/integration-tests/spring-jaxrs-tests/pom.xml
index 1359561..7d55ed6 100644
--- a/integration-tests/spring-jaxrs-tests/pom.xml
+++ b/integration-tests/spring-jaxrs-tests/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>integration-tests</artifactId>
-    <groupId>io.servicecomb.tests</groupId>
+    <groupId>org.apache.servicecomb.tests</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -31,23 +31,23 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.tests</groupId>
+      <groupId>org.apache.servicecomb.tests</groupId>
       <artifactId>jaxrs-tests</artifactId>
       <version>0.6.0-SNAPSHOT</version>
       <type>test-jar</type>
       <exclusions>
         <exclusion>
-          <groupId>io.servicecomb.demo</groupId>
+          <groupId>org.apache.servicecomb.demo</groupId>
           <artifactId>demo-signature</artifactId>
         </exclusion>
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-jaxrs</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-provider</artifactId>
     </dependency>
     <dependency>
diff --git a/integration-tests/spring-pojo-tests/pom.xml b/integration-tests/spring-pojo-tests/pom.xml
index 641208c..2d92e62 100644
--- a/integration-tests/spring-pojo-tests/pom.xml
+++ b/integration-tests/spring-pojo-tests/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>integration-tests</artifactId>
-    <groupId>io.servicecomb.tests</groupId>
+    <groupId>org.apache.servicecomb.tests</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -31,13 +31,13 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.tests</groupId>
+      <groupId>org.apache.servicecomb.tests</groupId>
       <artifactId>pojo-test</artifactId>
       <version>0.6.0-SNAPSHOT</version>
       <type>test-jar</type>
       <exclusions>
         <exclusion>
-          <groupId>io.servicecomb.demo</groupId>
+          <groupId>org.apache.servicecomb.demo</groupId>
           <artifactId>demo-signature</artifactId>
         </exclusion>
       </exclusions>
@@ -47,7 +47,7 @@
       <artifactId>spring-boot-autoconfigure</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-provider</artifactId>
     </dependency>
     <dependency>
diff --git a/integration-tests/spring-springmvc-tests/pom.xml b/integration-tests/spring-springmvc-tests/pom.xml
index 43e7249..214a4b3 100644
--- a/integration-tests/spring-springmvc-tests/pom.xml
+++ b/integration-tests/spring-springmvc-tests/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>integration-tests</artifactId>
-    <groupId>io.servicecomb.tests</groupId>
+    <groupId>org.apache.servicecomb.tests</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -30,19 +30,19 @@
   <name>Java Chassis::Integration Tests::Spring MVC</name>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.tests</groupId>
+      <groupId>org.apache.servicecomb.tests</groupId>
       <artifactId>springmvc-tests</artifactId>
       <version>0.6.0-SNAPSHOT</version>
       <type>test-jar</type>
       <exclusions>
         <exclusion>
-          <groupId>io.servicecomb.demo</groupId>
+          <groupId>org.apache.servicecomb.demo</groupId>
           <artifactId>demo-signature</artifactId>
         </exclusion>
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-provider</artifactId>
     </dependency>
     <dependency>
diff --git a/integration-tests/spring-zuul-tracing-tests/pom.xml b/integration-tests/spring-zuul-tracing-tests/pom.xml
index 42b6ed5..7f3c2fe 100644
--- a/integration-tests/spring-zuul-tracing-tests/pom.xml
+++ b/integration-tests/spring-zuul-tracing-tests/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>integration-tests</artifactId>
-    <groupId>io.servicecomb.tests</groupId>
+    <groupId>org.apache.servicecomb.tests</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -31,7 +31,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.tests</groupId>
+      <groupId>org.apache.servicecomb.tests</groupId>
       <artifactId>test-common</artifactId>
       <type>test-jar</type>
     </dependency>
@@ -54,15 +54,15 @@
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-provider</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-discovery</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-cloud-zuul-zipkin</artifactId>
     </dependency>
     <dependency>
diff --git a/integration-tests/springmvc-tests/pom.xml b/integration-tests/springmvc-tests/pom.xml
index b560c1c..fcb58b7 100644
--- a/integration-tests/springmvc-tests/pom.xml
+++ b/integration-tests/springmvc-tests/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>integration-tests</artifactId>
-    <groupId>io.servicecomb.tests</groupId>
+    <groupId>org.apache.servicecomb.tests</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -30,17 +30,17 @@
   <name>Java Chassis::Integration Tests::Raw Spring MVC</name>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.demo</groupId>
+      <groupId>org.apache.servicecomb.demo</groupId>
       <artifactId>demo-schema</artifactId>
       <exclusions>
         <exclusion>
-          <groupId>io.servicecomb.demo</groupId>
+          <groupId>org.apache.servicecomb.demo</groupId>
           <artifactId>demo-signature</artifactId>
         </exclusion>
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
   </dependencies>
diff --git a/integration-tests/test-common/pom.xml b/integration-tests/test-common/pom.xml
index b5c91cb..191f409 100644
--- a/integration-tests/test-common/pom.xml
+++ b/integration-tests/test-common/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>integration-tests</artifactId>
-    <groupId>io.servicecomb.tests</groupId>
+    <groupId>org.apache.servicecomb.tests</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -31,15 +31,15 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-rest-common</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-jaxrs</artifactId>
     </dependency>
     <dependency>
diff --git a/integration-tests/tracing-tests/pom.xml b/integration-tests/tracing-tests/pom.xml
index 485132e..ea5f85c 100644
--- a/integration-tests/tracing-tests/pom.xml
+++ b/integration-tests/tracing-tests/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>integration-tests</artifactId>
-    <groupId>io.servicecomb.tests</groupId>
+    <groupId>org.apache.servicecomb.tests</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -31,7 +31,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.tests</groupId>
+      <groupId>org.apache.servicecomb.tests</groupId>
       <artifactId>test-common</artifactId>
       <type>test-jar</type>
     </dependency>
@@ -44,27 +44,27 @@
       <artifactId>log4j</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-jaxrs</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-tracing-zipkin</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>tracing-zipkin</artifactId>
     </dependency>
     <dependency>
diff --git a/java-chassis-dependencies/pom.xml b/java-chassis-dependencies/pom.xml
index b73dc60..203a168 100644
--- a/java-chassis-dependencies/pom.xml
+++ b/java-chassis-dependencies/pom.xml
@@ -21,7 +21,7 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -711,43 +711,43 @@
       </dependency>
 
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>foundation-common</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>foundation-test-scaffolding</artifactId>
         <version>0.6.0-SNAPSHOT</version>
         <scope>test</scope>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>foundation-ssl</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>foundation-config</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
 	<artifactId>foundation-config-cc</artifactId>
 	<version>0.6.0-SNAPSHOT</version>
 	</dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>config-apollo</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
 	<dependency>
-	<groupId>io.servicecomb</groupId>
+	<groupId>org.apache.servicecomb</groupId>
         <artifactId>foundation-vertx</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>foundation-metrics</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
@@ -787,192 +787,192 @@
         <version>${swagger.version}</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>java-chassis-core</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>handler-bizkeeper</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>handler-loadbalance</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>handler-flowcontrol-qps</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>handler-publickey-auth</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>common-rest</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>transport-rest-client</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>transport-rest-vertx</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>transport-rest-servlet</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>common-protobuf</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>common-javassist</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>swagger-generator-core</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>swagger-generator-jaxrs</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>swagger-generator-springmvc</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>swagger-invocation-core</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>swagger-invocation-jaxrs</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>swagger-invocation-springmvc</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>service-registry</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>provider-pojo</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>provider-rest-common</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>provider-jaxrs</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>provider-springmvc</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>transport-highway</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>spring-boot-starter-configuration</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>spring-boot-starter-servicecomb</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>spring-boot-starter-provider</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>spring-boot-starter-discovery</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>spring-boot-starter-registry</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>spring-boot-starter-transport</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>spring-cloud-zuul</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>spring-cloud-zuul-zipkin</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>handler-tracing-zipkin</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>tracing-common</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>tracing-zipkin</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>edge-core</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>metrics-core</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>metrics-common</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>metrics-prometheus</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
diff --git a/java-chassis-distribution/pom.xml b/java-chassis-distribution/pom.xml
index 15260d7..663dfac 100644
--- a/java-chassis-distribution/pom.xml
+++ b/java-chassis-distribution/pom.xml
@@ -19,7 +19,7 @@
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>java-chassis-parent</artifactId>
         <version>0.6.0-SNAPSHOT</version>
         <relativePath>../parent</relativePath>
@@ -29,151 +29,151 @@
     <packaging>pom</packaging>
     <dependencies>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>common-javassist</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>common-protobuf</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>common-rest</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>java-chassis-core</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>spring-boot-starter-configuration</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>spring-boot-starter-provider</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>spring-boot-starter-discovery</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>spring-boot-starter-registry</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>spring-boot-starter-transport</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>swagger-generator-core</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>swagger-generator-jaxrs</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>swagger-generator-springmvc</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>swagger-invocation-core</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>swagger-invocation-jaxrs</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>swagger-invocation-springmvc</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>foundation-common</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>foundation-config</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>foundation-metrics</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>foundation-ssl</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>foundation-vertx</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>foundation-test-scaffolding</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-bizkeeper</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-flowcontrol-qps</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-loadbalance</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-tracing-zipkin</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>provider-jaxrs</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>provider-pojo</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>provider-rest-common</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>provider-springmvc</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>service-registry</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-highway</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-rest-client</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-rest-servlet</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-rest-vertx</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>tracing-zipkin</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>tracing-common</artifactId>
         </dependency>
         <dependency>
-          <groupId>io.servicecomb</groupId>
+          <groupId>org.apache.servicecomb</groupId>
           <artifactId>edge-core</artifactId>
         </dependency>
     </dependencies>
diff --git a/metrics/metrics-common/pom.xml b/metrics/metrics-common/pom.xml
index 097677a..21dddbd 100644
--- a/metrics/metrics-common/pom.xml
+++ b/metrics/metrics-common/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>metrics</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/metrics/metrics-core/pom.xml b/metrics/metrics-core/pom.xml
index 7098991..b59b07f 100644
--- a/metrics/metrics-core/pom.xml
+++ b/metrics/metrics-core/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>metrics</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -35,11 +35,11 @@
       <artifactId>servo-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>metrics-common</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
 
diff --git a/metrics/metrics-extension/pom.xml b/metrics/metrics-extension/pom.xml
index bdbe4f3..1d64230 100644
--- a/metrics/metrics-extension/pom.xml
+++ b/metrics/metrics-extension/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>metrics</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/metrics/metrics-integration/metrics-prometheus/pom.xml b/metrics/metrics-integration/metrics-prometheus/pom.xml
index 70a1ff2..684749a 100644
--- a/metrics/metrics-integration/metrics-prometheus/pom.xml
+++ b/metrics/metrics-integration/metrics-prometheus/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>metrics-integration</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -39,7 +39,7 @@
     </dependency>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>metrics-core</artifactId>
     </dependency>
 
diff --git a/metrics/metrics-integration/pom.xml b/metrics/metrics-integration/pom.xml
index 372f5cc..3237503 100644
--- a/metrics/metrics-integration/pom.xml
+++ b/metrics/metrics-integration/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>metrics</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/metrics/pom.xml b/metrics/pom.xml
index cd27e05..b0b00e9 100644
--- a/metrics/pom.xml
+++ b/metrics/pom.xml
@@ -22,7 +22,7 @@
   <modelVersion>4.0.0</modelVersion>
   <packaging>pom</packaging>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
diff --git a/parent/pom.xml b/parent/pom.xml
index 2014439..3b04bee 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -21,7 +21,7 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-dependencies</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../java-chassis-dependencies</relativePath>
diff --git a/pom.xml b/pom.xml
index e037a24..95063e9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
-  <groupId>io.servicecomb</groupId>
+  <groupId>org.apache.servicecomb</groupId>
   <artifactId>java-chassis</artifactId>
   <version>0.6.0-SNAPSHOT</version>
   <packaging>pom</packaging>
diff --git a/providers/pom.xml b/providers/pom.xml
index e70dade..fdb5ea0 100644
--- a/providers/pom.xml
+++ b/providers/pom.xml
@@ -18,7 +18,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
diff --git a/providers/provider-jaxrs/pom.xml b/providers/provider-jaxrs/pom.xml
index f0c3f84..3599090 100644
--- a/providers/provider-jaxrs/pom.xml
+++ b/providers/provider-jaxrs/pom.xml
@@ -21,7 +21,7 @@
 	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>providers</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -29,15 +29,15 @@
 	<name>Java Chassis::Providers::JAXRS</name>
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>provider-rest-common</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>swagger-invocation-jaxrs</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>swagger-generator-jaxrs</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/providers/provider-pojo/pom.xml b/providers/provider-pojo/pom.xml
index 5cee43b..55f4c2c 100644
--- a/providers/provider-pojo/pom.xml
+++ b/providers/provider-pojo/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>providers</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -27,7 +27,7 @@
 	<name>Java Chassis::Providers::POJO</name>
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>java-chassis-core</artifactId>
 		</dependency>
 		<dependency>
@@ -41,7 +41,7 @@
 			<scope>test</scope>
 		</dependency>
 		<dependency>
-		  <groupId>io.servicecomb</groupId>
+		  <groupId>org.apache.servicecomb</groupId>
 		  <artifactId>foundation-test-scaffolding</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/providers/provider-rest-common/pom.xml b/providers/provider-rest-common/pom.xml
index 72af9ea..dd08019 100644
--- a/providers/provider-rest-common/pom.xml
+++ b/providers/provider-rest-common/pom.xml
@@ -21,7 +21,7 @@
 	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>providers</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -30,7 +30,7 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>common-rest</artifactId>
 		</dependency>
 		<dependency>
@@ -44,7 +44,7 @@
 			<scope>test</scope>
 		</dependency>
 		<dependency>
-		  <groupId>io.servicecomb</groupId>
+		  <groupId>org.apache.servicecomb</groupId>
 		  <artifactId>foundation-test-scaffolding</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/providers/provider-springmvc/pom.xml b/providers/provider-springmvc/pom.xml
index 0ca20e3..429ea3b 100644
--- a/providers/provider-springmvc/pom.xml
+++ b/providers/provider-springmvc/pom.xml
@@ -21,7 +21,7 @@
 	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>providers</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -30,15 +30,15 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>provider-rest-common</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>swagger-invocation-springmvc</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>swagger-generator-springmvc</artifactId>
 		</dependency>
 		<dependency>
diff --git a/samples/auth-sample/auth-consumer/pom.xml b/samples/auth-sample/auth-consumer/pom.xml
index 319d402..e3d3aa5 100644
--- a/samples/auth-sample/auth-consumer/pom.xml
+++ b/samples/auth-sample/auth-consumer/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <artifactId>auth-sample</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -27,27 +27,27 @@
   <name>Java Chassis::Samples::Auth::Consumer</name>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-highway</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-loadbalance</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-publickey-auth</artifactId>
     </dependency>
     <dependency>
@@ -55,7 +55,7 @@
       <artifactId>slf4j-log4j12</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.samples</groupId>
+      <groupId>org.apache.servicecomb.samples</groupId>
       <artifactId>common-schema</artifactId>
     </dependency>
   </dependencies>
diff --git a/samples/auth-sample/auth-provider/pom.xml b/samples/auth-sample/auth-provider/pom.xml
index 7f264e9..f4430fa 100644
--- a/samples/auth-sample/auth-provider/pom.xml
+++ b/samples/auth-sample/auth-provider/pom.xml
@@ -19,26 +19,26 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <artifactId>auth-sample</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <artifactId>auth-provider</artifactId>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-highway</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-publickey-auth</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
     <dependency>
@@ -46,7 +46,7 @@
       <artifactId>slf4j-log4j12</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.samples</groupId>
+      <groupId>org.apache.servicecomb.samples</groupId>
       <artifactId>common-schema</artifactId>
     </dependency>
   </dependencies>
diff --git a/samples/auth-sample/pom.xml b/samples/auth-sample/pom.xml
index ba0c483..d9c28a7 100644
--- a/samples/auth-sample/pom.xml
+++ b/samples/auth-sample/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <artifactId>samples</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/samples/bmi/calculator/pom.xml b/samples/bmi/calculator/pom.xml
index 6a591f1..4525128 100644
--- a/samples/bmi/calculator/pom.xml
+++ b/samples/bmi/calculator/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>bmi</artifactId>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -35,20 +35,20 @@
     </dependency>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-provider</artifactId>
     </dependency>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-flowcontrol-qps</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-bizkeeper</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-tracing-zipkin</artifactId>
     </dependency>
   </dependencies>
diff --git a/samples/bmi/pom.xml b/samples/bmi/pom.xml
index 1843563..4a4b4e97 100644
--- a/samples/bmi/pom.xml
+++ b/samples/bmi/pom.xml
@@ -26,7 +26,7 @@
     <relativePath /> <!-- lookup parent from repository -->
   </parent>
 
-  <groupId>io.servicecomb.samples</groupId>
+  <groupId>org.apache.servicecomb.samples</groupId>
   <artifactId>bmi</artifactId>
   <name>Java Chassis::Samples::BMI</name>
   <version>0.6.0-SNAPSHOT</version>
@@ -49,7 +49,7 @@
   <dependencyManagement>
     <dependencies>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>java-chassis-dependencies</artifactId>
         <version>${java-chassis.version}</version>
         <type>pom</type>
diff --git a/samples/bmi/webapp/pom.xml b/samples/bmi/webapp/pom.xml
index c8aae23..822e804 100644
--- a/samples/bmi/webapp/pom.xml
+++ b/samples/bmi/webapp/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>bmi</artifactId>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -34,19 +34,19 @@
       <artifactId>spring-boot-starter</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-servicecomb</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-discovery</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-cloud-zuul</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-cloud-zuul-zipkin</artifactId>
     </dependency>
   </dependencies>
diff --git a/samples/codefirst-sample/codefirst-consumer/pom.xml b/samples/codefirst-sample/codefirst-consumer/pom.xml
index a0fd628..cad7017 100644
--- a/samples/codefirst-sample/codefirst-consumer/pom.xml
+++ b/samples/codefirst-sample/codefirst-consumer/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <artifactId>codefirst-sample</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -30,19 +30,19 @@
   </properties>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb.samples</groupId>
+      <groupId>org.apache.servicecomb.samples</groupId>
       <artifactId>common-schema</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-highway</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
     <dependency>
diff --git a/samples/codefirst-sample/codefirst-provider/pom.xml b/samples/codefirst-sample/codefirst-provider/pom.xml
index 3661f38..f6897f8 100644
--- a/samples/codefirst-sample/codefirst-provider/pom.xml
+++ b/samples/codefirst-sample/codefirst-provider/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <artifactId>codefirst-sample</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -30,19 +30,19 @@
   </properties>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-springmvc</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-highway</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
     <dependency>
@@ -50,7 +50,7 @@
       <artifactId>slf4j-log4j12</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.samples</groupId>
+      <groupId>org.apache.servicecomb.samples</groupId>
       <artifactId>common-schema</artifactId>
     </dependency>
   </dependencies>
diff --git a/samples/codefirst-sample/pom.xml b/samples/codefirst-sample/pom.xml
index 61802dd..f46c203 100644
--- a/samples/codefirst-sample/pom.xml
+++ b/samples/codefirst-sample/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <artifactId>samples</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/samples/common-schema/pom.xml b/samples/common-schema/pom.xml
index 758b2b0..a428fbb 100644
--- a/samples/common-schema/pom.xml
+++ b/samples/common-schema/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <artifactId>samples</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/samples/config-apollo-sample/pom.xml b/samples/config-apollo-sample/pom.xml
index fe70ff9..4674822 100644
--- a/samples/config-apollo-sample/pom.xml
+++ b/samples/config-apollo-sample/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>samples</artifactId>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -29,7 +29,7 @@
   <artifactId>config-apollo-sample</artifactId>
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-common</artifactId>
     </dependency>
     <dependency>
@@ -37,7 +37,7 @@
       <artifactId>archaius-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>config-apollo</artifactId>
     </dependency>
     <dependency>
diff --git a/samples/custom-handler-sample/custom-handler-consumer/pom.xml b/samples/custom-handler-sample/custom-handler-consumer/pom.xml
index 0d68733..4dabf4c 100644
--- a/samples/custom-handler-sample/custom-handler-consumer/pom.xml
+++ b/samples/custom-handler-sample/custom-handler-consumer/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <artifactId>custom-handler-sample</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -28,25 +28,25 @@
   <dependencies>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-highway</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-bizkeeper</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-loadbalance</artifactId>
     </dependency>
 
@@ -55,7 +55,7 @@
       <artifactId>slf4j-log4j12</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.samples</groupId>
+      <groupId>org.apache.servicecomb.samples</groupId>
       <artifactId>common-schema</artifactId>
     </dependency>
   </dependencies>
diff --git a/samples/custom-handler-sample/custom-handler-provider/pom.xml b/samples/custom-handler-sample/custom-handler-provider/pom.xml
index 25b77ed..2a34822 100644
--- a/samples/custom-handler-sample/custom-handler-provider/pom.xml
+++ b/samples/custom-handler-sample/custom-handler-provider/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <artifactId>custom-handler-sample</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -28,25 +28,25 @@
   <dependencies>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>provider-pojo</artifactId>
     </dependency>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-highway</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-loadbalance</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-flowcontrol-qps</artifactId>
     </dependency>
 
@@ -55,7 +55,7 @@
       <artifactId>slf4j-log4j12</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.samples</groupId>
+      <groupId>org.apache.servicecomb.samples</groupId>
       <artifactId>common-schema</artifactId>
     </dependency>
   </dependencies>
diff --git a/samples/custom-handler-sample/pom.xml b/samples/custom-handler-sample/pom.xml
index b2571e9..8cfa9b8 100644
--- a/samples/custom-handler-sample/pom.xml
+++ b/samples/custom-handler-sample/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <artifactId>samples</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/samples/jaxrs-sample/jaxrs-consumer/pom.xml b/samples/jaxrs-sample/jaxrs-consumer/pom.xml
index 69651ef..3be7df2 100644
--- a/samples/jaxrs-sample/jaxrs-consumer/pom.xml
+++ b/samples/jaxrs-sample/jaxrs-consumer/pom.xml
@@ -19,7 +19,7 @@
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>io.servicecomb.samples</groupId>
+        <groupId>org.apache.servicecomb.samples</groupId>
         <artifactId>jaxrs-sample</artifactId>
         <version>0.6.0-SNAPSHOT</version>
     </parent>
@@ -27,27 +27,27 @@
     <name>Java Chassis::Samples::JAXRS::Consumer</name>
     <dependencies>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-bizkeeper</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-loadbalance</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-highway</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-rest-vertx</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-flowcontrol-qps</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>provider-pojo</artifactId>
         </dependency>
         <dependency>
@@ -55,7 +55,7 @@
             <artifactId>slf4j-log4j12</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb.samples</groupId>
+            <groupId>org.apache.servicecomb.samples</groupId>
             <artifactId>common-schema</artifactId>
         </dependency>
     </dependencies>
diff --git a/samples/jaxrs-sample/jaxrs-provider/pom.xml b/samples/jaxrs-sample/jaxrs-provider/pom.xml
index ea100ec..24e1569 100644
--- a/samples/jaxrs-sample/jaxrs-provider/pom.xml
+++ b/samples/jaxrs-sample/jaxrs-provider/pom.xml
@@ -19,7 +19,7 @@
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>io.servicecomb.samples</groupId>
+        <groupId>org.apache.servicecomb.samples</groupId>
         <artifactId>jaxrs-sample</artifactId>
         <version>0.6.0-SNAPSHOT</version>
     </parent>
@@ -27,27 +27,27 @@
     <name>Java Chassis::Samples::JAXRS::Provider</name>
     <dependencies>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-bizkeeper</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-loadbalance</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-flowcontrol-qps</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-highway</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-rest-vertx</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>provider-rest-common</artifactId>
         </dependency>
         <dependency>
@@ -55,7 +55,7 @@
             <artifactId>slf4j-log4j12</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb.samples</groupId>
+            <groupId>org.apache.servicecomb.samples</groupId>
             <artifactId>common-schema</artifactId>
         </dependency>
     </dependencies>
diff --git a/samples/jaxrs-sample/pom.xml b/samples/jaxrs-sample/pom.xml
index a12f127..d9b8d98 100644
--- a/samples/jaxrs-sample/pom.xml
+++ b/samples/jaxrs-sample/pom.xml
@@ -19,7 +19,7 @@
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>io.servicecomb.samples</groupId>
+        <groupId>org.apache.servicecomb.samples</groupId>
         <artifactId>samples</artifactId>
         <version>0.6.0-SNAPSHOT</version>
     </parent>
diff --git a/samples/metrics-extend-healthcheck/pom.xml b/samples/metrics-extend-healthcheck/pom.xml
index a2cf75e..49b848a 100644
--- a/samples/metrics-extend-healthcheck/pom.xml
+++ b/samples/metrics-extend-healthcheck/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>samples</artifactId>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -36,7 +36,7 @@
     </dependency>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-provider</artifactId>
     </dependency>
 
@@ -46,7 +46,7 @@
     </dependency>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>metrics-core</artifactId>
     </dependency>
   </dependencies>
diff --git a/samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/pom.xml b/samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/pom.xml
index 8d6ecc4..3ef1c9f 100644
--- a/samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/pom.xml
+++ b/samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>metrics-write-file-sample</artifactId>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -45,20 +45,20 @@
     </dependency>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-provider</artifactId>
     </dependency>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-flowcontrol-qps</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-bizkeeper</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-tracing-zipkin</artifactId>
     </dependency>
     <dependency>
@@ -71,7 +71,7 @@
       <artifactId>log4j</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.samples</groupId>
+      <groupId>org.apache.servicecomb.samples</groupId>
       <artifactId>metrics-write-file</artifactId>
     </dependency>
   </dependencies>
diff --git a/samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/pom.xml b/samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/pom.xml
index cec6e75..8514b35 100644
--- a/samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/pom.xml
+++ b/samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>metrics-write-file-sample</artifactId>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -36,20 +36,20 @@
     </dependency>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-provider</artifactId>
     </dependency>
 
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-flowcontrol-qps</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-bizkeeper</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-tracing-zipkin</artifactId>
     </dependency>
     <dependency>
@@ -66,7 +66,7 @@
       <artifactId>log4j-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb.samples</groupId>
+      <groupId>org.apache.servicecomb.samples</groupId>
       <artifactId>metrics-write-file</artifactId>
     </dependency>
   </dependencies>
diff --git a/samples/metrics-write-file-sample/metrics-write-file/pom.xml b/samples/metrics-write-file-sample/metrics-write-file/pom.xml
index 6d8f550..6b18187 100644
--- a/samples/metrics-write-file-sample/metrics-write-file/pom.xml
+++ b/samples/metrics-write-file-sample/metrics-write-file/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>metrics-write-file-sample</artifactId>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -31,7 +31,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>metrics-core</artifactId>
     </dependency>
 
diff --git a/samples/metrics-write-file-sample/pom.xml b/samples/metrics-write-file-sample/pom.xml
index a1fd6c5..1287f4c 100644
--- a/samples/metrics-write-file-sample/pom.xml
+++ b/samples/metrics-write-file-sample/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>samples</artifactId>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -38,12 +38,12 @@
   <dependencyManagement>
     <dependencies>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>metrics-core</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.samples</groupId>
+        <groupId>org.apache.servicecomb.samples</groupId>
         <artifactId>metrics-write-file</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
diff --git a/samples/pojo-sample/pojo-consumer/pom.xml b/samples/pojo-sample/pojo-consumer/pom.xml
index 3a6775f..347a33f 100644
--- a/samples/pojo-sample/pojo-consumer/pom.xml
+++ b/samples/pojo-sample/pojo-consumer/pom.xml
@@ -19,34 +19,34 @@
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>io.servicecomb.samples</groupId>
+        <groupId>org.apache.servicecomb.samples</groupId>
         <artifactId>pojo-sample</artifactId>
         <version>0.6.0-SNAPSHOT</version>
     </parent>
     <artifactId>pojo-consumer</artifactId>
     <dependencies>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-bizkeeper</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-loadbalance</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-highway</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-rest-vertx</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-flowcontrol-qps</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>provider-pojo</artifactId>
         </dependency>
         <dependency>
@@ -54,7 +54,7 @@
             <artifactId>slf4j-log4j12</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb.samples</groupId>
+            <groupId>org.apache.servicecomb.samples</groupId>
             <artifactId>common-schema</artifactId>
         </dependency>
     </dependencies>
diff --git a/samples/pojo-sample/pojo-provider/pom.xml b/samples/pojo-sample/pojo-provider/pom.xml
index a44f8f0..2e32ae0 100644
--- a/samples/pojo-sample/pojo-provider/pom.xml
+++ b/samples/pojo-sample/pojo-provider/pom.xml
@@ -19,34 +19,34 @@
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>io.servicecomb.samples</groupId>
+        <groupId>org.apache.servicecomb.samples</groupId>
         <artifactId>pojo-sample</artifactId>
         <version>0.6.0-SNAPSHOT</version>
     </parent>
     <artifactId>pojo-provider</artifactId>
     <dependencies>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-bizkeeper</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-loadbalance</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-highway</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-rest-vertx</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-flowcontrol-qps</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>provider-pojo</artifactId>
         </dependency>
         <dependency>
@@ -54,7 +54,7 @@
             <artifactId>slf4j-log4j12</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb.samples</groupId>
+            <groupId>org.apache.servicecomb.samples</groupId>
             <artifactId>common-schema</artifactId>
         </dependency>
     </dependencies>
diff --git a/samples/pojo-sample/pom.xml b/samples/pojo-sample/pom.xml
index d3cca3e..a40b03f 100644
--- a/samples/pojo-sample/pom.xml
+++ b/samples/pojo-sample/pom.xml
@@ -19,7 +19,7 @@
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>io.servicecomb.samples</groupId>
+        <groupId>org.apache.servicecomb.samples</groupId>
         <artifactId>samples</artifactId>
         <version>0.6.0-SNAPSHOT</version>
     </parent>
diff --git a/samples/pom.xml b/samples/pom.xml
index eb607d2..0590c43 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
-  <groupId>io.servicecomb.samples</groupId>
+  <groupId>org.apache.servicecomb.samples</groupId>
   <artifactId>samples</artifactId>
   <name>Java Chassis::Samples</name>
   <packaging>pom</packaging>
@@ -42,14 +42,14 @@
   <dependencyManagement>
     <dependencies>
       <dependency>
-        <groupId>io.servicecomb</groupId>
+        <groupId>org.apache.servicecomb</groupId>
         <artifactId>java-chassis-dependencies</artifactId>
         <version>0.6.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
-        <groupId>io.servicecomb.samples</groupId>
+        <groupId>org.apache.servicecomb.samples</groupId>
         <artifactId>common-schema</artifactId>
         <version>0.6.0-SNAPSHOT</version>
       </dependency>
diff --git a/samples/springmvc-sample/pom.xml b/samples/springmvc-sample/pom.xml
index 1b8e5cd..fd1abdd 100644
--- a/samples/springmvc-sample/pom.xml
+++ b/samples/springmvc-sample/pom.xml
@@ -18,7 +18,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <artifactId>samples</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/samples/springmvc-sample/springmvc-consumer/pom.xml b/samples/springmvc-sample/springmvc-consumer/pom.xml
index 491c5b3..669d8c6 100644
--- a/samples/springmvc-sample/springmvc-consumer/pom.xml
+++ b/samples/springmvc-sample/springmvc-consumer/pom.xml
@@ -18,38 +18,38 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb.samples</groupId>
+    <groupId>org.apache.servicecomb.samples</groupId>
     <artifactId>springmvc-sample</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <artifactId>springmvc-consumer</artifactId>
       <dependencies>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-bizkeeper</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-loadbalance</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-highway</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-rest-vertx</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-flowcontrol-qps</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>provider-springmvc</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>provider-pojo</artifactId>
         </dependency>
         <dependency>
@@ -57,7 +57,7 @@
             <artifactId>slf4j-log4j12</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb.samples</groupId>
+            <groupId>org.apache.servicecomb.samples</groupId>
             <artifactId>common-schema</artifactId>
         </dependency>
       </dependencies>
diff --git a/samples/springmvc-sample/springmvc-provider/pom.xml b/samples/springmvc-sample/springmvc-provider/pom.xml
index 2c72fbb..582a6ce 100644
--- a/samples/springmvc-sample/springmvc-provider/pom.xml
+++ b/samples/springmvc-sample/springmvc-provider/pom.xml
@@ -19,34 +19,34 @@
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <groupId>io.servicecomb.samples</groupId>
+        <groupId>org.apache.servicecomb.samples</groupId>
         <artifactId>springmvc-sample</artifactId>
         <version>0.6.0-SNAPSHOT</version>
     </parent>
     <artifactId>springmvc-provider</artifactId>
     <dependencies>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-bizkeeper</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-loadbalance</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-highway</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>transport-rest-vertx</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>handler-flowcontrol-qps</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb</groupId>
+            <groupId>org.apache.servicecomb</groupId>
             <artifactId>provider-springmvc</artifactId>
         </dependency>
         <dependency>
@@ -54,7 +54,7 @@
             <artifactId>slf4j-log4j12</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.servicecomb.samples</groupId>
+            <groupId>org.apache.servicecomb.samples</groupId>
             <artifactId>common-schema</artifactId>
         </dependency>
     </dependencies>
diff --git a/scripts/change_pom.py b/scripts/change_pom.py
index 0b77036..f2e2740 100644
--- a/scripts/change_pom.py
+++ b/scripts/change_pom.py
@@ -39,13 +39,13 @@ def change_pom(pom_path):
         child.text = VERSION
     print 'replace second level vesion'
     for child in tree.iterfind('%sparent' % (POM_NS)):
-        if child.find('%sgroupId' % POM_NS).text == "io.servicecomb":
+        if child.find('%sgroupId' % POM_NS).text == "org.apache.servicecomb":
             if child.find('%sversion' % POM_NS) is not None:
                 print 'change module version from ' + child.find('%sversion' % POM_NS).text + " to " + VERSION
                 child.find('%sversion' % POM_NS).text = VERSION
     print 'replace cse dependency version'
     for child in tree.iter('%sdependency' % (POM_NS)):
-        if child.find('%sgroupId' % POM_NS).text == "io.servicecomb":
+        if child.find('%sgroupId' % POM_NS).text == "org.apache.servicecomb":
             if child.find('%sversion' % POM_NS) is not None:
                 print 'change module version from ' + child.find('%sversion' % POM_NS).text + " to " + VERSION
                 child.find('%sversion' % POM_NS).text = VERSION
diff --git a/service-registry/pom.xml b/service-registry/pom.xml
index 6db4286..306dddd 100644
--- a/service-registry/pom.xml
+++ b/service-registry/pom.xml
@@ -19,7 +19,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
@@ -31,15 +31,15 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-vertx</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-config</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-common</artifactId>
     </dependency>
     <dependency>
@@ -53,7 +53,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
   </dependencies>
diff --git a/spring-boot-starter/pom.xml b/spring-boot-starter/pom.xml
index 74f8705..7c33a56 100644
--- a/spring-boot-starter/pom.xml
+++ b/spring-boot-starter/pom.xml
@@ -18,7 +18,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
diff --git a/spring-boot-starter/spring-boot-starter-configuration/pom.xml b/spring-boot-starter/spring-boot-starter-configuration/pom.xml
index 9444cfe..6065e33 100644
--- a/spring-boot-starter/spring-boot-starter-configuration/pom.xml
+++ b/spring-boot-starter/spring-boot-starter-configuration/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -29,11 +29,11 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>foundation-config</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>foundation-config-cc</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/spring-boot-starter/spring-boot-starter-discovery/pom.xml b/spring-boot-starter/spring-boot-starter-discovery/pom.xml
index 87d079e..c24c456 100644
--- a/spring-boot-starter/spring-boot-starter-discovery/pom.xml
+++ b/spring-boot-starter/spring-boot-starter-discovery/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -72,7 +72,7 @@
 			<artifactId>spring-cloud-starter-hystrix</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>service-registry</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/spring-boot-starter/spring-boot-starter-provider/pom.xml b/spring-boot-starter/spring-boot-starter-provider/pom.xml
index fb4cc65..06a8b42 100644
--- a/spring-boot-starter/spring-boot-starter-provider/pom.xml
+++ b/spring-boot-starter/spring-boot-starter-provider/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>spring-boot-starter-parent</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -31,11 +31,11 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-servicecomb</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-vertx</artifactId>
     </dependency>
   </dependencies>
diff --git a/spring-boot-starter/spring-boot-starter-registry/pom.xml b/spring-boot-starter/spring-boot-starter-registry/pom.xml
index 26672a7..17b7900 100644
--- a/spring-boot-starter/spring-boot-starter-registry/pom.xml
+++ b/spring-boot-starter/spring-boot-starter-registry/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<parent>
 		<artifactId>spring-boot-starter-parent</artifactId>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
@@ -29,7 +29,7 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>service-registry</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/spring-boot-starter/spring-boot-starter-servicecomb/pom.xml b/spring-boot-starter/spring-boot-starter-servicecomb/pom.xml
index 4cbebb4..78fba70 100644
--- a/spring-boot-starter/spring-boot-starter-servicecomb/pom.xml
+++ b/spring-boot-starter/spring-boot-starter-servicecomb/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -46,31 +46,31 @@
 			</exclusions>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>provider-springmvc</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>provider-jaxrs</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>provider-pojo</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>handler-bizkeeper</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>handler-loadbalance</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>transport-highway</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>handler-flowcontrol-qps</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/spring-boot-starter/spring-boot-starter-transport/pom.xml b/spring-boot-starter/spring-boot-starter-transport/pom.xml
index 863bd45..5a7c950 100644
--- a/spring-boot-starter/spring-boot-starter-transport/pom.xml
+++ b/spring-boot-starter/spring-boot-starter-transport/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -29,11 +29,11 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>spring-boot-starter-servicecomb</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-servlet</artifactId>
     </dependency>
     <dependency>
@@ -42,7 +42,7 @@
       <scope>compile</scope>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
   </dependencies>
diff --git a/spring-boot-starter/spring-cloud-zuul-zipkin/pom.xml b/spring-boot-starter/spring-cloud-zuul-zipkin/pom.xml
index d4688ab..b5de8b9 100644
--- a/spring-boot-starter/spring-cloud-zuul-zipkin/pom.xml
+++ b/spring-boot-starter/spring-cloud-zuul-zipkin/pom.xml
@@ -20,7 +20,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>spring-boot-starter-parent</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -35,7 +35,7 @@
       <artifactId>spring-cloud-starter-zuul</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>handler-tracing-zipkin</artifactId>
     </dependency>
     <dependency>
diff --git a/spring-boot-starter/spring-cloud-zuul/pom.xml b/spring-boot-starter/spring-cloud-zuul/pom.xml
index 7092cec..e06d0d2 100644
--- a/spring-boot-starter/spring-cloud-zuul/pom.xml
+++ b/spring-boot-starter/spring-cloud-zuul/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>spring-boot-starter-parent</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -31,15 +31,15 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>java-chassis-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-config</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>service-registry</artifactId>
     </dependency>
     <dependency>
diff --git a/swagger/pom.xml b/swagger/pom.xml
index d0160de..b111312 100644
--- a/swagger/pom.xml
+++ b/swagger/pom.xml
@@ -18,7 +18,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
diff --git a/swagger/swagger-generator/generator-core/pom.xml b/swagger/swagger-generator/generator-core/pom.xml
index 73fab2c..d90ad3e 100644
--- a/swagger/swagger-generator/generator-core/pom.xml
+++ b/swagger/swagger-generator/generator-core/pom.xml
@@ -19,7 +19,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>swagger-generator</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -32,11 +32,11 @@
       <artifactId>swagger-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-common</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>common-javassist</artifactId>
     </dependency>
     <dependency>
@@ -66,7 +66,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
   </dependencies>
diff --git a/swagger/swagger-generator/generator-jaxrs/pom.xml b/swagger/swagger-generator/generator-jaxrs/pom.xml
index 28a5026..f6d7e2d 100644
--- a/swagger/swagger-generator/generator-jaxrs/pom.xml
+++ b/swagger/swagger-generator/generator-jaxrs/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>swagger-generator</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -28,7 +28,7 @@
 	
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>swagger-generator-core</artifactId>
 		</dependency>
 		<dependency>
diff --git a/swagger/swagger-generator/generator-springmvc/pom.xml b/swagger/swagger-generator/generator-springmvc/pom.xml
index ee1ba1b..00f5093 100644
--- a/swagger/swagger-generator/generator-springmvc/pom.xml
+++ b/swagger/swagger-generator/generator-springmvc/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>swagger-generator</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -32,7 +32,7 @@
 			<artifactId>spring-webmvc</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>swagger-generator-core</artifactId>
 		</dependency>
 		<dependency>
diff --git a/swagger/swagger-generator/pom.xml b/swagger/swagger-generator/pom.xml
index e7ccb01..3101ca5 100644
--- a/swagger/swagger-generator/pom.xml
+++ b/swagger/swagger-generator/pom.xml
@@ -18,7 +18,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>swagger</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/swagger/swagger-invocation/invocation-core/pom.xml b/swagger/swagger-invocation/invocation-core/pom.xml
index 37c13f8..da0a8f7 100644
--- a/swagger/swagger-invocation/invocation-core/pom.xml
+++ b/swagger/swagger-invocation/invocation-core/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>swagger-invocation</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -29,11 +29,11 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>swagger-generator-core</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>swagger-generator-jaxrs</artifactId>
 			<scope>test</scope>
 		</dependency>
diff --git a/swagger/swagger-invocation/invocation-jaxrs/pom.xml b/swagger/swagger-invocation/invocation-jaxrs/pom.xml
index 345bb21..14aaf23 100644
--- a/swagger/swagger-invocation/invocation-jaxrs/pom.xml
+++ b/swagger/swagger-invocation/invocation-jaxrs/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>swagger-invocation</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -29,7 +29,7 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>swagger-invocation-core</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/swagger/swagger-invocation/invocation-springmvc/pom.xml b/swagger/swagger-invocation/invocation-springmvc/pom.xml
index 7e2961d..0341a75 100644
--- a/swagger/swagger-invocation/invocation-springmvc/pom.xml
+++ b/swagger/swagger-invocation/invocation-springmvc/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>swagger-invocation</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -29,7 +29,7 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>swagger-invocation-core</artifactId>
 		</dependency>
 		<dependency>
diff --git a/swagger/swagger-invocation/pom.xml b/swagger/swagger-invocation/pom.xml
index c4ea2a6..d11fb22 100644
--- a/swagger/swagger-invocation/pom.xml
+++ b/swagger/swagger-invocation/pom.xml
@@ -18,7 +18,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>swagger</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
diff --git a/tracing/README.md b/tracing/README.md
index 10e0893..fdb82a4 100644
--- a/tracing/README.md
+++ b/tracing/README.md
@@ -6,7 +6,7 @@ interest.
 1. Include the following dependency
 ```
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>tracing-zipkin</artifactId>
     </dependency>
 ```
diff --git a/tracing/pom.xml b/tracing/pom.xml
index 8dcb19e..8f8d82f 100644
--- a/tracing/pom.xml
+++ b/tracing/pom.xml
@@ -20,7 +20,7 @@
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
diff --git a/tracing/tracing-common/pom.xml b/tracing/tracing-common/pom.xml
index f4aeb13..5654ef6 100644
--- a/tracing/tracing-common/pom.xml
+++ b/tracing/tracing-common/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>tracing</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/tracing/tracing-zipkin/pom.xml b/tracing/tracing-zipkin/pom.xml
index 4d707c7..ba24277 100644
--- a/tracing/tracing-zipkin/pom.xml
+++ b/tracing/tracing-zipkin/pom.xml
@@ -21,7 +21,7 @@
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <parent>
     <artifactId>tracing</artifactId>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -30,7 +30,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>tracing-common</artifactId>
     </dependency>
     <dependency>
diff --git a/transports/pom.xml b/transports/pom.xml
index 69c8fe3..550f077 100644
--- a/transports/pom.xml
+++ b/transports/pom.xml
@@ -18,7 +18,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>java-chassis-parent</artifactId>
     <version>0.6.0-SNAPSHOT</version>
     <relativePath>../parent</relativePath>
diff --git a/transports/transport-highway/pom.xml b/transports/transport-highway/pom.xml
index 335826a..e17277f 100644
--- a/transports/transport-highway/pom.xml
+++ b/transports/transport-highway/pom.xml
@@ -19,7 +19,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>transports</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -27,15 +27,15 @@
 	<name>Java Chassis::Transports::Hightway</name>
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>java-chassis-core</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>foundation-vertx</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>common-protobuf</artifactId>
 		</dependency>
 		<dependency>
@@ -49,7 +49,7 @@
 			<scope>test</scope>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>foundation-metrics</artifactId>
 		</dependency>
 	</dependencies>
diff --git a/transports/transport-rest/pom.xml b/transports/transport-rest/pom.xml
index 21690d1..16bd3a0 100644
--- a/transports/transport-rest/pom.xml
+++ b/transports/transport-rest/pom.xml
@@ -20,7 +20,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>transports</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
diff --git a/transports/transport-rest/transport-rest-client/pom.xml b/transports/transport-rest/transport-rest-client/pom.xml
index 75e654b..73df9f6 100644
--- a/transports/transport-rest/transport-rest-client/pom.xml
+++ b/transports/transport-rest/transport-rest-client/pom.xml
@@ -21,7 +21,7 @@
 	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>io.servicecomb</groupId>
+		<groupId>org.apache.servicecomb</groupId>
 		<artifactId>transport-rest</artifactId>
 		<version>0.6.0-SNAPSHOT</version>
 	</parent>
@@ -30,11 +30,11 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>foundation-vertx</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>io.servicecomb</groupId>
+			<groupId>org.apache.servicecomb</groupId>
 			<artifactId>common-rest</artifactId>
 		</dependency>
 		<dependency>
diff --git a/transports/transport-rest/transport-rest-servlet/pom.xml b/transports/transport-rest/transport-rest-servlet/pom.xml
index 042413c..ae1423d 100644
--- a/transports/transport-rest/transport-rest-servlet/pom.xml
+++ b/transports/transport-rest/transport-rest-servlet/pom.xml
@@ -20,7 +20,7 @@
   xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>transport-rest</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -38,7 +38,7 @@
       <artifactId>spring-web</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-client</artifactId>
     </dependency>
 
@@ -53,7 +53,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
   </dependencies>
diff --git a/transports/transport-rest/transport-rest-vertx/pom.xml b/transports/transport-rest/transport-rest-vertx/pom.xml
index 6def8c6..df8134b 100644
--- a/transports/transport-rest/transport-rest-vertx/pom.xml
+++ b/transports/transport-rest/transport-rest-vertx/pom.xml
@@ -20,7 +20,7 @@
   xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>io.servicecomb</groupId>
+    <groupId>org.apache.servicecomb</groupId>
     <artifactId>transport-rest</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
@@ -29,7 +29,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>transport-rest-client</artifactId>
     </dependency>
 
@@ -44,7 +44,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>io.servicecomb</groupId>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
   </dependencies>

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

[incubator-servicecomb-java-chassis] 04/06: SCB-230 delete unnecessary NOTICE.txt and LICENSE.txt

Posted by ni...@apache.org.
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 6039da8ebd9d8faba6d267bc727e7ebb61b8f0cb
Author: wujimin <wu...@huawei.com>
AuthorDate: Sat Jan 13 11:26:33 2018 +0800

    SCB-230 delete unnecessary NOTICE.txt and LICENSE.txt
---
 core/src/main/resources/META-INF/LICENSE.txt       | 202 ---------------------
 core/src/main/resources/META-INF/NOTICE.txt        |  11 --
 .../src/test/resources/META-INF/LICENSE.txt        | 202 ---------------------
 .../src/test/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/test/resources/META-INF/LICENSE.txt        | 202 ---------------------
 .../src/test/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../webapp/src/main/resources/META-INF/LICENSE.txt | 202 ---------------------
 .../webapp/src/main/resources/META-INF/NOTICE.txt  |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 202 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 28 files changed, 2982 deletions(-)

diff --git a/core/src/main/resources/META-INF/LICENSE.txt b/core/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/core/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/core/src/main/resources/META-INF/NOTICE.txt b/core/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/core/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/src/test/resources/META-INF/LICENSE.txt b/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/src/test/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/src/test/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/src/test/resources/META-INF/NOTICE.txt b/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/src/test/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-client/src/test/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/src/main/resources/META-INF/LICENSE.txt b/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/src/main/resources/META-INF/NOTICE.txt b/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/demo/demo-spring-boot-discovery/demo-spring-boot-discovery-server/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/src/test/resources/META-INF/LICENSE.txt b/demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/src/test/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/src/test/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/src/test/resources/META-INF/NOTICE.txt b/demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/src/test/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/demo/demo-spring-boot-discovery/demo-spring-boot-zuul-proxy/src/test/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/providers/provider-rest-common/src/main/resources/META-INF/LICENSE.txt b/providers/provider-rest-common/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/providers/provider-rest-common/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/providers/provider-rest-common/src/main/resources/META-INF/NOTICE.txt b/providers/provider-rest-common/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/providers/provider-rest-common/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/providers/provider-springmvc/src/main/resources/META-INF/LICENSE.txt b/providers/provider-springmvc/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/providers/provider-springmvc/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/providers/provider-springmvc/src/main/resources/META-INF/NOTICE.txt b/providers/provider-springmvc/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/providers/provider-springmvc/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/samples/auth-sample/auth-provider/src/main/resources/META-INF/LICENSE.txt b/samples/auth-sample/auth-provider/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/samples/auth-sample/auth-provider/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/samples/auth-sample/auth-provider/src/main/resources/META-INF/NOTICE.txt b/samples/auth-sample/auth-provider/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/samples/auth-sample/auth-provider/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/samples/bmi/webapp/src/main/resources/META-INF/LICENSE.txt b/samples/bmi/webapp/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/samples/bmi/webapp/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/samples/bmi/webapp/src/main/resources/META-INF/NOTICE.txt b/samples/bmi/webapp/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/samples/bmi/webapp/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/samples/custom-handler-sample/custom-handler-provider/src/main/resources/META-INF/LICENSE.txt b/samples/custom-handler-sample/custom-handler-provider/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/samples/custom-handler-sample/custom-handler-provider/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/samples/custom-handler-sample/custom-handler-provider/src/main/resources/META-INF/NOTICE.txt b/samples/custom-handler-sample/custom-handler-provider/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/samples/custom-handler-sample/custom-handler-provider/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/samples/pojo-sample/pojo-consumer/src/main/resources/META-INF/LICENSE.txt b/samples/pojo-sample/pojo-consumer/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/samples/pojo-sample/pojo-consumer/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/samples/pojo-sample/pojo-consumer/src/main/resources/META-INF/NOTICE.txt b/samples/pojo-sample/pojo-consumer/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/samples/pojo-sample/pojo-consumer/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/samples/pojo-sample/pojo-provider/src/main/resources/META-INF/LICENSE.txt b/samples/pojo-sample/pojo-provider/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/samples/pojo-sample/pojo-provider/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/samples/pojo-sample/pojo-provider/src/main/resources/META-INF/NOTICE.txt b/samples/pojo-sample/pojo-provider/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/samples/pojo-sample/pojo-provider/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/samples/springmvc-sample/springmvc-consumer/src/main/resources/META-INF/LICENSE.txt b/samples/springmvc-sample/springmvc-consumer/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/samples/springmvc-sample/springmvc-consumer/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/samples/springmvc-sample/springmvc-consumer/src/main/resources/META-INF/NOTICE.txt b/samples/springmvc-sample/springmvc-consumer/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/samples/springmvc-sample/springmvc-consumer/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/samples/springmvc-sample/springmvc-provider/src/main/resources/META-INF/LICENSE.txt b/samples/springmvc-sample/springmvc-provider/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/samples/springmvc-sample/springmvc-provider/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/samples/springmvc-sample/springmvc-provider/src/main/resources/META-INF/NOTICE.txt b/samples/springmvc-sample/springmvc-provider/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/samples/springmvc-sample/springmvc-provider/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/transports/transport-highway/src/main/resources/META-INF/LICENSE.txt b/transports/transport-highway/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/transports/transport-highway/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/transports/transport-highway/src/main/resources/META-INF/NOTICE.txt b/transports/transport-highway/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/transports/transport-highway/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.

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

[incubator-servicecomb-java-chassis] 01/06: resolve ide compile warnings

Posted by ni...@apache.org.
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 f3db3c93e0f866e46d515111797a330a356952f0
Author: wujimin <wu...@huawei.com>
AuthorDate: Fri Jan 12 21:37:42 2018 +0800

    resolve ide compile warnings
---
 .../java/io/servicecomb/codec/protobuf/utils/ProtobufSchemaUtils.java | 2 --
 .../java/io/servicecomb/swagger/generator/core/utils/ClassUtils.java  | 4 ----
 2 files changed, 6 deletions(-)

diff --git a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/ProtobufSchemaUtils.java b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/ProtobufSchemaUtils.java
index dd5911d..cf3f9e5 100644
--- a/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/ProtobufSchemaUtils.java
+++ b/common/common-protobuf/src/main/java/io/servicecomb/codec/protobuf/utils/ProtobufSchemaUtils.java
@@ -25,8 +25,6 @@ import java.util.Date;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
-import javax.lang.model.SourceVersion;
-
 import org.springframework.util.ClassUtils;
 
 import com.fasterxml.jackson.databind.JavaType;
diff --git a/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/utils/ClassUtils.java b/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/utils/ClassUtils.java
index ca666e0..6364c38 100644
--- a/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/utils/ClassUtils.java
+++ b/swagger/swagger-generator/generator-core/src/main/java/io/servicecomb/swagger/generator/core/utils/ClassUtils.java
@@ -19,16 +19,12 @@ package io.servicecomb.swagger.generator.core.utils;
 
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
 import javax.lang.model.SourceVersion;
 
-import java.util.Set;
-
 import org.springframework.util.StringUtils;
 
 import com.fasterxml.jackson.databind.JavaType;

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

[incubator-servicecomb-java-chassis] 06/06: remove "hiboard" keyword in edge demo

Posted by ni...@apache.org.
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 18847ab0ff01634f3c81be4331efb3caedef124b
Author: wujimin <wu...@huawei.com>
AuthorDate: Sat Jan 13 11:52:48 2018 +0800

    remove "hiboard" keyword in edge demo
---
 .../authentication/src/main/resources/microservice.yaml        |  2 +-
 .../{hiboard-business-1-1-0 => business-1-1-0}/pom.xml         |  6 +++---
 .../servicecomb/demo/edge/business/BusinessMain_V1_1_0.java    |  0
 .../java/org/apache/servicecomb/demo/edge/business/Impl.java   |  2 +-
 .../src/main/resources/microservice.yaml                       |  2 +-
 .../{hiboard-business-1.0.0 => business-1.0.0}/pom.xml         |  6 +++---
 .../servicecomb/demo/edge/business/BusinessMain_V1_0_0.java    |  0
 .../java/org/apache/servicecomb/demo/edge/business/Impl.java   |  2 +-
 .../src/main/resources/microservice.yaml                       |  2 +-
 .../{hiboard-business-2.0.0 => business-2.0.0}/pom.xml         |  6 +++---
 .../servicecomb/demo/edge/business/BusinessMain_V2_0_0.java    |  0
 .../java/org/apache/servicecomb/demo/edge/business/Impl.java   |  2 +-
 .../src/main/resources/microservice.yaml                       |  2 +-
 demo/demo-edge/{hiboard-consumer => consumer}/pom.xml          |  6 +++---
 .../org/apache/servicecomb/demo/edge/consumer/Consumer.java    |  0
 .../apache/servicecomb/demo/edge/consumer/ConsumerMain.java    |  0
 .../src/main/resources/microservice.yaml                       |  2 +-
 .../edge-service/src/main/resources/microservice.yaml          |  2 +-
 demo/demo-edge/{hiboard-model => model}/pom.xml                |  4 ++--
 .../apache/servicecomb/demo/edge/model/AppClientDataRsp.java   |  0
 .../apache/servicecomb/demo/edge/model/ChannelRequestBase.java |  0
 .../apache/servicecomb/demo/edge/model/ResultWithInstance.java |  0
 demo/demo-edge/pom.xml                                         | 10 +++++-----
 23 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/demo/demo-edge/authentication/src/main/resources/microservice.yaml b/demo/demo-edge/authentication/src/main/resources/microservice.yaml
index 98712e4..8e98001 100644
--- a/demo/demo-edge/authentication/src/main/resources/microservice.yaml
+++ b/demo/demo-edge/authentication/src/main/resources/microservice.yaml
@@ -15,7 +15,7 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-APPLICATION_ID: hiboard
+APPLICATION_ID: edge
 service_description:
   name: auth
   version: 0.0.1
diff --git a/demo/demo-edge/hiboard-business-1-1-0/pom.xml b/demo/demo-edge/business-1-1-0/pom.xml
similarity index 92%
rename from demo/demo-edge/hiboard-business-1-1-0/pom.xml
rename to demo/demo-edge/business-1-1-0/pom.xml
index 22e2d7b..f04a50b 100644
--- a/demo/demo-edge/hiboard-business-1-1-0/pom.xml
+++ b/demo/demo-edge/business-1-1-0/pom.xml
@@ -22,8 +22,8 @@
     <artifactId>demo-edge</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
-  <artifactId>hiboard-business-1-1-0</artifactId>
-  <name>Java Chassis::Demo::Edge::HiBoard Business 1.1.0</name>
+  <artifactId>business-1-1-0</artifactId>
+  <name>Java Chassis::Demo::Edge::Business 1.1.0</name>
   <properties>
     <demo.main>org.apache.servicecomb.demo.edge.business.BusinessMain_V1_1_0</demo.main>
   </properties>
@@ -43,7 +43,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.servicecomb.demo</groupId>
-      <artifactId>hiboard-model</artifactId>
+      <artifactId>model</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
diff --git a/demo/demo-edge/hiboard-business-1-1-0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V1_1_0.java b/demo/demo-edge/business-1-1-0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V1_1_0.java
similarity index 100%
rename from demo/demo-edge/hiboard-business-1-1-0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V1_1_0.java
rename to demo/demo-edge/business-1-1-0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V1_1_0.java
diff --git a/demo/demo-edge/hiboard-business-1-1-0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java b/demo/demo-edge/business-1-1-0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
similarity index 96%
rename from demo/demo-edge/hiboard-business-1-1-0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
rename to demo/demo-edge/business-1-1-0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
index d0d3ee1..3ff5cd1 100644
--- a/demo/demo-edge/hiboard-business-1-1-0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
+++ b/demo/demo-edge/business-1-1-0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
@@ -32,7 +32,7 @@ public class Impl {
   @RequestMapping(path = "/channel/news/subscribe", method = RequestMethod.POST)
   public AppClientDataRsp subscribeNewsColumn(@RequestBody ChannelRequestBase request) {
     AppClientDataRsp response = new AppClientDataRsp();
-    String rsp = StringUtils.rightPad("hiboard edge test", 1024, "*");
+    String rsp = StringUtils.rightPad("edge test", 1024, "*");
     response.setRsp(rsp);
     return response;
   }
diff --git a/demo/demo-edge/hiboard-business-1-1-0/src/main/resources/microservice.yaml b/demo/demo-edge/business-1-1-0/src/main/resources/microservice.yaml
similarity index 97%
rename from demo/demo-edge/hiboard-business-1-1-0/src/main/resources/microservice.yaml
rename to demo/demo-edge/business-1-1-0/src/main/resources/microservice.yaml
index ddac134..109e27a 100644
--- a/demo/demo-edge/hiboard-business-1-1-0/src/main/resources/microservice.yaml
+++ b/demo/demo-edge/business-1-1-0/src/main/resources/microservice.yaml
@@ -15,7 +15,7 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-APPLICATION_ID: hiboard
+APPLICATION_ID: edge
 service_description:
   name: business
   version: 1.1.0
diff --git a/demo/demo-edge/hiboard-business-1.0.0/pom.xml b/demo/demo-edge/business-1.0.0/pom.xml
similarity index 92%
rename from demo/demo-edge/hiboard-business-1.0.0/pom.xml
rename to demo/demo-edge/business-1.0.0/pom.xml
index db80e49..f77b0f2 100644
--- a/demo/demo-edge/hiboard-business-1.0.0/pom.xml
+++ b/demo/demo-edge/business-1.0.0/pom.xml
@@ -24,8 +24,8 @@
     <artifactId>demo-edge</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
-  <artifactId>hiboard-business-1-0-0</artifactId>
-  <name>Java Chassis::Demo::Edge::HiBoard Business 1.0.0</name>
+  <artifactId>business-1-0-0</artifactId>
+  <name>Java Chassis::Demo::Edge::Business 1.0.0</name>
 
   <properties>
     <demo.main>org.apache.servicecomb.demo.edge.business.BusinessMain_V1_0_0</demo.main>
@@ -46,7 +46,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.servicecomb.demo</groupId>
-      <artifactId>hiboard-model</artifactId>
+      <artifactId>model</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
diff --git a/demo/demo-edge/hiboard-business-1.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V1_0_0.java b/demo/demo-edge/business-1.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V1_0_0.java
similarity index 100%
rename from demo/demo-edge/hiboard-business-1.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V1_0_0.java
rename to demo/demo-edge/business-1.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V1_0_0.java
diff --git a/demo/demo-edge/hiboard-business-1.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java b/demo/demo-edge/business-1.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
similarity index 96%
rename from demo/demo-edge/hiboard-business-1.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
rename to demo/demo-edge/business-1.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
index 1d39c25..1322db0 100644
--- a/demo/demo-edge/hiboard-business-1.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
+++ b/demo/demo-edge/business-1.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
@@ -32,7 +32,7 @@ public class Impl {
   @RequestMapping(path = "/channel/news/subscribe", method = RequestMethod.POST)
   public AppClientDataRsp subscribeNewsColumn(@RequestBody ChannelRequestBase request) {
     AppClientDataRsp response = new AppClientDataRsp();
-    String rsp = StringUtils.rightPad("hiboard edge test", 1024, "*");
+    String rsp = StringUtils.rightPad("edge test", 1024, "*");
     response.setRsp(rsp);
     return response;
   }
diff --git a/demo/demo-edge/hiboard-business-1.0.0/src/main/resources/microservice.yaml b/demo/demo-edge/business-1.0.0/src/main/resources/microservice.yaml
similarity index 97%
rename from demo/demo-edge/hiboard-business-1.0.0/src/main/resources/microservice.yaml
rename to demo/demo-edge/business-1.0.0/src/main/resources/microservice.yaml
index 4842c2a..2046f74 100644
--- a/demo/demo-edge/hiboard-business-1.0.0/src/main/resources/microservice.yaml
+++ b/demo/demo-edge/business-1.0.0/src/main/resources/microservice.yaml
@@ -15,7 +15,7 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-APPLICATION_ID: hiboard
+APPLICATION_ID: edge
 service_description:
   name: business
   version: 1.0.0
diff --git a/demo/demo-edge/hiboard-business-2.0.0/pom.xml b/demo/demo-edge/business-2.0.0/pom.xml
similarity index 92%
rename from demo/demo-edge/hiboard-business-2.0.0/pom.xml
rename to demo/demo-edge/business-2.0.0/pom.xml
index 590b305..8cc9ded 100644
--- a/demo/demo-edge/hiboard-business-2.0.0/pom.xml
+++ b/demo/demo-edge/business-2.0.0/pom.xml
@@ -24,8 +24,8 @@
     <artifactId>demo-edge</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
-  <artifactId>hiboard-business-2-0-0</artifactId>
-  <name>Java Chassis::Demo::Edge::HiBoard Business 2.0.0</name>
+  <artifactId>business-2-0-0</artifactId>
+  <name>Java Chassis::Demo::Edge::Business 2.0.0</name>
 
   <properties>
     <demo.main>org.apache.servicecomb.demo.edge.business.BusinessMain_V2_0_0</demo.main>
@@ -46,7 +46,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.servicecomb.demo</groupId>
-      <artifactId>hiboard-model</artifactId>
+      <artifactId>model</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
diff --git a/demo/demo-edge/hiboard-business-2.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V2_0_0.java b/demo/demo-edge/business-2.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V2_0_0.java
similarity index 100%
rename from demo/demo-edge/hiboard-business-2.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V2_0_0.java
rename to demo/demo-edge/business-2.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/BusinessMain_V2_0_0.java
diff --git a/demo/demo-edge/hiboard-business-2.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java b/demo/demo-edge/business-2.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
similarity index 96%
rename from demo/demo-edge/hiboard-business-2.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
rename to demo/demo-edge/business-2.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
index 7593b7e..3db2a7c 100644
--- a/demo/demo-edge/hiboard-business-2.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
+++ b/demo/demo-edge/business-2.0.0/src/main/java/org/apache/servicecomb/demo/edge/business/Impl.java
@@ -32,7 +32,7 @@ public class Impl {
   @RequestMapping(path = "/channel/news/subscribe", method = RequestMethod.POST)
   public AppClientDataRsp subscribeNewsColumn(@RequestBody ChannelRequestBase request) {
     AppClientDataRsp response = new AppClientDataRsp();
-    String rsp = StringUtils.rightPad("hiboard edge test", 1024, "*");
+    String rsp = StringUtils.rightPad("edge test", 1024, "*");
     response.setRsp(rsp);
     return response;
   }
diff --git a/demo/demo-edge/hiboard-business-2.0.0/src/main/resources/microservice.yaml b/demo/demo-edge/business-2.0.0/src/main/resources/microservice.yaml
similarity index 97%
rename from demo/demo-edge/hiboard-business-2.0.0/src/main/resources/microservice.yaml
rename to demo/demo-edge/business-2.0.0/src/main/resources/microservice.yaml
index eaddea7..b7e2e63 100644
--- a/demo/demo-edge/hiboard-business-2.0.0/src/main/resources/microservice.yaml
+++ b/demo/demo-edge/business-2.0.0/src/main/resources/microservice.yaml
@@ -15,7 +15,7 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-APPLICATION_ID: hiboard
+APPLICATION_ID: edge
 service_description:
   name: business
   version: 2.0.0
diff --git a/demo/demo-edge/hiboard-consumer/pom.xml b/demo/demo-edge/consumer/pom.xml
similarity index 93%
rename from demo/demo-edge/hiboard-consumer/pom.xml
rename to demo/demo-edge/consumer/pom.xml
index 4bd28aa..5087766 100644
--- a/demo/demo-edge/hiboard-consumer/pom.xml
+++ b/demo/demo-edge/consumer/pom.xml
@@ -24,8 +24,8 @@
     <artifactId>demo-edge</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
-  <artifactId>hiboard-consumer</artifactId>
-  <name>Java Chassis::Demo::Edge::HiBoard Consumer</name>
+  <artifactId>consumer</artifactId>
+  <name>Java Chassis::Demo::Edge::Consumer</name>
 
   <properties>
     <demo.main>org.apache.servicecomb.demo.edge.consumer.ConsumerMain</demo.main>
@@ -50,7 +50,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.servicecomb.demo</groupId>
-      <artifactId>hiboard-model</artifactId>
+      <artifactId>model</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
diff --git a/demo/demo-edge/hiboard-consumer/src/main/java/org/apache/servicecomb/demo/edge/consumer/Consumer.java b/demo/demo-edge/consumer/src/main/java/org/apache/servicecomb/demo/edge/consumer/Consumer.java
similarity index 100%
rename from demo/demo-edge/hiboard-consumer/src/main/java/org/apache/servicecomb/demo/edge/consumer/Consumer.java
rename to demo/demo-edge/consumer/src/main/java/org/apache/servicecomb/demo/edge/consumer/Consumer.java
diff --git a/demo/demo-edge/hiboard-consumer/src/main/java/org/apache/servicecomb/demo/edge/consumer/ConsumerMain.java b/demo/demo-edge/consumer/src/main/java/org/apache/servicecomb/demo/edge/consumer/ConsumerMain.java
similarity index 100%
rename from demo/demo-edge/hiboard-consumer/src/main/java/org/apache/servicecomb/demo/edge/consumer/ConsumerMain.java
rename to demo/demo-edge/consumer/src/main/java/org/apache/servicecomb/demo/edge/consumer/ConsumerMain.java
diff --git a/demo/demo-edge/hiboard-consumer/src/main/resources/microservice.yaml b/demo/demo-edge/consumer/src/main/resources/microservice.yaml
similarity index 97%
rename from demo/demo-edge/hiboard-consumer/src/main/resources/microservice.yaml
rename to demo/demo-edge/consumer/src/main/resources/microservice.yaml
index d369107..85071dd 100644
--- a/demo/demo-edge/hiboard-consumer/src/main/resources/microservice.yaml
+++ b/demo/demo-edge/consumer/src/main/resources/microservice.yaml
@@ -15,7 +15,7 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-APPLICATION_ID: hiboard
+APPLICATION_ID: edge
 service_description:
   name: consumer
   version: 0.0.1
diff --git a/demo/demo-edge/edge-service/src/main/resources/microservice.yaml b/demo/demo-edge/edge-service/src/main/resources/microservice.yaml
index f66a9b0..cb1fdad 100644
--- a/demo/demo-edge/edge-service/src/main/resources/microservice.yaml
+++ b/demo/demo-edge/edge-service/src/main/resources/microservice.yaml
@@ -15,7 +15,7 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-APPLICATION_ID: hiboard
+APPLICATION_ID: edge
 service_description:
   name: edge
   version: 0.0.1
diff --git a/demo/demo-edge/hiboard-model/pom.xml b/demo/demo-edge/model/pom.xml
similarity index 93%
rename from demo/demo-edge/hiboard-model/pom.xml
rename to demo/demo-edge/model/pom.xml
index 136e82f..808c086 100644
--- a/demo/demo-edge/hiboard-model/pom.xml
+++ b/demo/demo-edge/model/pom.xml
@@ -23,8 +23,8 @@
     <artifactId>demo-edge</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
-  <artifactId>hiboard-model</artifactId>
-  <name>Java Chassis::Demo::Edge::HiBoard Model</name>
+  <artifactId>model</artifactId>
+  <name>Java Chassis::Demo::Edge::Model</name>
   <dependencies>
     <dependency>
       <groupId>org.apache.servicecomb</groupId>
diff --git a/demo/demo-edge/hiboard-model/src/main/java/org/apache/servicecomb/demo/edge/model/AppClientDataRsp.java b/demo/demo-edge/model/src/main/java/org/apache/servicecomb/demo/edge/model/AppClientDataRsp.java
similarity index 100%
rename from demo/demo-edge/hiboard-model/src/main/java/org/apache/servicecomb/demo/edge/model/AppClientDataRsp.java
rename to demo/demo-edge/model/src/main/java/org/apache/servicecomb/demo/edge/model/AppClientDataRsp.java
diff --git a/demo/demo-edge/hiboard-model/src/main/java/org/apache/servicecomb/demo/edge/model/ChannelRequestBase.java b/demo/demo-edge/model/src/main/java/org/apache/servicecomb/demo/edge/model/ChannelRequestBase.java
similarity index 100%
rename from demo/demo-edge/hiboard-model/src/main/java/org/apache/servicecomb/demo/edge/model/ChannelRequestBase.java
rename to demo/demo-edge/model/src/main/java/org/apache/servicecomb/demo/edge/model/ChannelRequestBase.java
diff --git a/demo/demo-edge/hiboard-model/src/main/java/org/apache/servicecomb/demo/edge/model/ResultWithInstance.java b/demo/demo-edge/model/src/main/java/org/apache/servicecomb/demo/edge/model/ResultWithInstance.java
similarity index 100%
rename from demo/demo-edge/hiboard-model/src/main/java/org/apache/servicecomb/demo/edge/model/ResultWithInstance.java
rename to demo/demo-edge/model/src/main/java/org/apache/servicecomb/demo/edge/model/ResultWithInstance.java
diff --git a/demo/demo-edge/pom.xml b/demo/demo-edge/pom.xml
index a57abf5..5fd6c51 100644
--- a/demo/demo-edge/pom.xml
+++ b/demo/demo-edge/pom.xml
@@ -31,11 +31,11 @@
     <module>edge-service</module>
 
 
-    <module>hiboard-model</module>
-    <module>hiboard-consumer</module>
-    <module>hiboard-business-1.0.0</module>
-    <module>hiboard-business-1-1-0</module>
-    <module>hiboard-business-2.0.0</module>
+    <module>model</module>
+    <module>consumer</module>
+    <module>business-1.0.0</module>
+    <module>business-1-1-0</module>
+    <module>business-2.0.0</module>
     <module>authentication</module>
   </modules>
 

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

[incubator-servicecomb-java-chassis] 05/06: SCB-230 github and mail address change to apache

Posted by ni...@apache.org.
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 9d4164f980caac38d54c892d6d873ad7882ff359
Author: wujimin <wu...@huawei.com>
AuthorDate: Sat Jan 13 12:00:28 2018 +0800

    SCB-230 github and mail address change to apache
---
 pom.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pom.xml b/pom.xml
index 95063e9..fb456f0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
 
   <name>ServiceComb Java Chassis</name>
   <description>Software Development Kit (SDK) for rapid development of microservices</description>
-  <url>https://github.com/ServiceComb/java-chassis</url>
+  <url>https://github.com/apache/incubator-servicecomb-java-chassis</url>
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -49,9 +49,9 @@
   </developers>
 
   <scm>
-    <url>https://github.com/ServiceComb/java-chassis</url>
-    <connection>scm:git:https://github.com/ServiceComb/java-chassis.git</connection>
-    <developerConnection>scm:git:https://github.com/ServiceComb/java-chassis.git</developerConnection>
+    <url>https://github.com/apache/incubator-servicecomb-java-chassis</url>
+    <connection>scm:git:https://github.com/apache/incubator-servicecomb-java-chassis.git</connection>
+    <developerConnection>scm:git:https://github.com/apache/incubator-servicecomb-java-chassis.git</developerConnection>
     <tag>v${project.version}</tag>
   </scm>
 

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