You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2022/04/24 03:46:37 UTC
[servicecomb-java-chassis] branch master updated: [SCB-2456] introduce maven spotbugs plugin (#2789)
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/master by this push:
new 52a655a28 [SCB-2456] introduce maven spotbugs plugin (#2789)
52a655a28 is described below
commit 52a655a288c2fc45ed79030fb1ba010ad468b69b
Author: ZhangJian He <sh...@gmail.com>
AuthorDate: Sun Apr 24 11:46:32 2022 +0800
[SCB-2456] introduce maven spotbugs plugin (#2789)
---
.github/workflows/spotbugs.yml | 37 ++++
ci/spotbugs/exclude.xml | 206 +++++++++++++++++++++
.../servicecomb/config/kie/client/KieClient.java | 3 +-
.../servicecomb/http/client/task/AbstractTask.java | 8 +-
.../center/client/ServiceCenterRegistration.java | 4 +-
.../common/accessLog/AccessLogBootstrap.java | 3 -
.../rest/codec/param/BodyProcessorCreator.java | 8 +-
.../rest/codec/param/TestBodyProcessorCreator.java | 4 +-
.../StaticMicroserviceVersionMetaTest.java | 73 --------
.../core/definition/TestMicroserviceMeta.java | 82 --------
.../definition/TestMicroserviceVersionMeta.java | 62 -------
.../TestMicroserviceVersionMetaFactory.java | 50 -----
.../core/definition/TestOperationMeta.java | 196 --------------------
.../core/definition/TestSchemaMeta.java | 40 ----
.../definition/loader/TestDynamicSchemaLoader.java | 105 -----------
.../loader/TestSchemaListenerManager.java | 44 -----
.../foundation/common/utils/RSAUtils.java | 7 +-
.../archaius/sources/AbstractConfigLoader.java | 2 +-
.../servicecomb/config/parser/YamlParser.java | 3 +-
.../schema/ArgumentsWrapperMessageSchema.java | 48 -----
.../registry/version/VersionRuleFixedParser.java | 2 +-
.../registry/version/VersionRuleRangeParser.java | 2 +-
.../version/VersionRuleStartFromParser.java | 2 +-
.../governance/handler/CircuitBreakerHandler.java | 4 +-
.../governance/policy/AbstractPolicy.java | 4 +-
.../governance/policy/CircuitBreakerPolicy.java | 2 +-
.../authentication/RSAAuthenticationToken.java | 2 +-
.../meter/invocation/AbstractInvocationMeter.java | 9 +-
.../meter/invocation/ConsumerInvocationMeter.java | 5 +-
.../meter/invocation/ConsumerInvocationMeters.java | 2 +-
.../core/meter/invocation/EdgeInvocationMeter.java | 5 +-
.../meter/invocation/EdgeInvocationMeters.java | 2 +-
.../meter/invocation/ProducerInvocationMeter.java | 5 +-
.../meter/invocation/ProducerInvocationMeters.java | 2 +-
pom.xml | 23 +++
scripts/build.sh | 2 +-
.../refresh/ClassificationAddress.java | 2 +-
.../generator/core/AbstractSwaggerGenerator.java | 24 +--
.../consumer/ConsumerBeanParamMapper.java | 2 +-
.../producer/ProducerBeanParamMapper.java | 2 +-
.../producer/codec/ArgWrapperJavaType.java | 2 +-
.../transport/highway/HighwayClientConnection.java | 2 +-
.../transport/rest/servlet/ServletUtils.java | 2 +-
43 files changed, 314 insertions(+), 780 deletions(-)
diff --git a/.github/workflows/spotbugs.yml b/.github/workflows/spotbugs.yml
new file mode 100644
index 000000000..79a4f9a57
--- /dev/null
+++ b/.github/workflows/spotbugs.yml
@@ -0,0 +1,37 @@
+#
+# 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.
+#
+
+name: spot bugs
+on:
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ publish:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up jdk
+ uses: actions/setup-java@v2
+ with:
+ java-version: '8'
+ distribution: 'temurin'
+ - name: spotbugs
+ run: mvn -B -DskipTests clean verify spotbugs:spotbugs
diff --git a/ci/spotbugs/exclude.xml b/ci/spotbugs/exclude.xml
new file mode 100644
index 000000000..eee7b5e25
--- /dev/null
+++ b/ci/spotbugs/exclude.xml
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ 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.
+
+-->
+<FindBugsFilter
+ xmlns="https://github.com/spotbugs/filter/3.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://github.com/spotbugs/filter/3.0.0 https://raw.githubusercontent.com/spotbugs/spotbugs/3.1.0/spotbugs/etc/findbugsfilter.xsd">
+
+
+ <!-- pattern sort by alpha -->
+
+ <Match>
+ <Bug pattern="BC_UNCONFIRMED_CAST"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="BC_VACUOUS_INSTANCEOF"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="DC_DOUBLECHECK"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="DC_PARTIALLY_CONSTRUCTED"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="EC_UNRELATED_TYPES"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="EI_EXPOSE_REP"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="EI_EXPOSE_REP2"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="EI_EXPOSE_STATIC_REP2"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="EQ_UNUSUAL"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="ICAST_IDIV_CAST_TO_DOUBLE"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="ICAST_INTEGER_MULTIPLY_CAST_TO_LONG"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="IS2_INCONSISTENT_SYNC"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="MF_CLASS_MASKS_FIELD"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="MS_CANNOT_BE_FINAL"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="MS_EXPOSE_REP"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="MS_MUTABLE_ARRAY"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="MS_MUTABLE_COLLECTION_PKGPROTECT"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="MS_OOI_PKGPROTECT"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="MS_SHOULD_BE_FINAL"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="MS_PKGPROTECT"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="NP_NONNULL_RETURN_VIOLATION"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="NP_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="OBL_UNSATISFIED_OBLIGATION"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="RC_REF_COMPARISON"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="REFLC_REFLECTION_MAY_INCREASE_ACCESSIBILITY_OF_CLASS"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="RV_NEGATING_RESULT_OF_COMPARETO"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="SA_FIELD_SELF_COMPARISON"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="SE_BAD_FIELD"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="SSD_DO_NOT_USE_INSTANCE_LOCK_ON_SHARED_STATIC_DATA"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="UC_USELESS_OBJECT"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="VA_FORMAT_STRING_USES_NEWLINE"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="WMI_WRONG_MAP_ITERATOR"/>
+ </Match>
+
+</FindBugsFilter>
diff --git a/clients/config-kie-client/src/main/java/org/apache/servicecomb/config/kie/client/KieClient.java b/clients/config-kie-client/src/main/java/org/apache/servicecomb/config/kie/client/KieClient.java
index 6a54aa640..59d8bdce8 100644
--- a/clients/config-kie-client/src/main/java/org/apache/servicecomb/config/kie/client/KieClient.java
+++ b/clients/config-kie-client/src/main/java/org/apache/servicecomb/config/kie/client/KieClient.java
@@ -18,6 +18,7 @@
package org.apache.servicecomb.config.kie.client;
import java.io.StringReader;
+import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
@@ -145,7 +146,7 @@ public class KieClient implements KieConfigOperation {
case yml:
case yaml:
YamlPropertiesFactoryBean yamlFactory = new YamlPropertiesFactoryBean();
- yamlFactory.setResources(new ByteArrayResource(kvDoc.getValue().getBytes()));
+ yamlFactory.setResources(new ByteArrayResource(kvDoc.getValue().getBytes(StandardCharsets.UTF_8)));
return toMap(yamlFactory.getObject());
case properties:
properties.load(new StringReader(kvDoc.getValue()));
diff --git a/clients/http-client-common/src/main/java/org/apache/servicecomb/http/client/task/AbstractTask.java b/clients/http-client-common/src/main/java/org/apache/servicecomb/http/client/task/AbstractTask.java
index c33c04a96..889183cf3 100644
--- a/clients/http-client-common/src/main/java/org/apache/servicecomb/http/client/task/AbstractTask.java
+++ b/clients/http-client-common/src/main/java/org/apache/servicecomb/http/client/task/AbstractTask.java
@@ -27,16 +27,16 @@ import org.slf4j.LoggerFactory;
public class AbstractTask {
public class BackOffSleepTask implements Task {
- final long base = 3000;
+ private static final long BASE = 3000;
- final long max = 10 * 60 * 10000;
+ private static final long MAX = 10 * 60 * 10000;
long waitTime;
Task nextTask;
public BackOffSleepTask(int failedCount, Task nextTask) {
- this.waitTime = failedCount * failedCount * base;
+ this.waitTime = failedCount * failedCount * BASE;
this.nextTask = nextTask;
}
@@ -47,7 +47,7 @@ public class AbstractTask {
@Override
public void execute() {
- long time = Math.min(max, waitTime);
+ long time = Math.min(MAX, waitTime);
try {
Thread.sleep(time);
} catch (InterruptedException e) {
diff --git a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterRegistration.java b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterRegistration.java
index 68ceb7241..c62b14d54 100644
--- a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterRegistration.java
+++ b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterRegistration.java
@@ -239,7 +239,7 @@ public class ServiceCenterRegistration extends AbstractTask {
}
class SendHeartBeatTask implements Task {
- final int failedRetry = 3;
+ private static final int FAILED_RETRY = 3;
int failedCount;
@@ -250,7 +250,7 @@ public class ServiceCenterRegistration extends AbstractTask {
@Override
public void execute() {
try {
- if (failedCount >= failedRetry) {
+ if (failedCount >= FAILED_RETRY) {
eventBus.post(new HeartBeatEvent(false));
startTask(new RegisterMicroserviceTask(0));
return;
diff --git a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/AccessLogBootstrap.java b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/AccessLogBootstrap.java
index df5b82f02..56cc12ef0 100644
--- a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/AccessLogBootstrap.java
+++ b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/AccessLogBootstrap.java
@@ -24,10 +24,7 @@ import com.google.common.eventbus.EventBus;
public class AccessLogBootstrap {
private static final AccessLogConfig config = AccessLogConfig.INSTANCE;
- private EventBus eventBus;
-
public void start(EventBus eventBus) {
- this.eventBus = eventBus;
SPIServiceUtils.getSortedService(AccessLogInitializer.class)
.forEach(initializer -> initializer.init(eventBus, config));
}
diff --git a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/BodyProcessorCreator.java b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/BodyProcessorCreator.java
index 5b6dfc2ff..457bc8070 100644
--- a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/BodyProcessorCreator.java
+++ b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/BodyProcessorCreator.java
@@ -56,7 +56,7 @@ import io.vertx.core.buffer.impl.BufferImpl;
public class BodyProcessorCreator implements ParamValueProcessorCreator {
private static final Logger LOGGER = LoggerFactory.getLogger(BodyProcessorCreator.class);
- public static final String PARAMTYPE = "body";
+ public static final String PARAM_TYPE = "body";
private static final JavaType OBJECT_TYPE = SimpleType.constructUnsafe(Object.class);
@@ -164,7 +164,7 @@ public class BodyProcessorCreator implements ParamValueProcessorCreator {
if (!(arg instanceof String)) {
throw new IllegalArgumentException("Content-Type is text/plain while arg type is not String");
}
- return new BufferImpl().appendBytes(((String) arg).getBytes());
+ return new BufferImpl().appendBytes(((String) arg).getBytes(StandardCharsets.UTF_8));
}
try (BufferOutputStream output = new BufferOutputStream()) {
@@ -190,7 +190,7 @@ public class BodyProcessorCreator implements ParamValueProcessorCreator {
@Override
public String getProcessorType() {
- return PARAMTYPE;
+ return PARAM_TYPE;
}
}
@@ -232,7 +232,7 @@ public class BodyProcessorCreator implements ParamValueProcessorCreator {
}
public BodyProcessorCreator() {
- ParamValueProcessorCreatorManager.INSTANCE.register(PARAMTYPE, this);
+ ParamValueProcessorCreatorManager.INSTANCE.register(PARAM_TYPE, this);
}
@Override
diff --git a/common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestBodyProcessorCreator.java b/common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestBodyProcessorCreator.java
index db9d5ded3..6d704ba13 100644
--- a/common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestBodyProcessorCreator.java
+++ b/common/common-rest/src/test/java/org/apache/servicecomb/common/rest/codec/param/TestBodyProcessorCreator.java
@@ -29,7 +29,7 @@ public class TestBodyProcessorCreator {
@Test
public void testCreateNormal() {
ParamValueProcessorCreator creator =
- ParamValueProcessorCreatorManager.INSTANCE.findValue(BodyProcessorCreator.PARAMTYPE);
+ ParamValueProcessorCreatorManager.INSTANCE.findValue(BodyProcessorCreator.PARAM_TYPE);
BodyParameter param = new BodyParameter();
ParamValueProcessor processor = creator.create(param, String.class);
@@ -40,7 +40,7 @@ public class TestBodyProcessorCreator {
@Test
public void testCreateRawJson() {
ParamValueProcessorCreator creator =
- ParamValueProcessorCreatorManager.INSTANCE.findValue(BodyProcessorCreator.PARAMTYPE);
+ ParamValueProcessorCreatorManager.INSTANCE.findValue(BodyProcessorCreator.PARAM_TYPE);
BodyParameter param = new BodyParameter();
param.setVendorExtension(SwaggerConst.EXT_RAW_JSON_TYPE, true);
diff --git a/core/src/test/java/org/apache/servicecomb/core/definition/StaticMicroserviceVersionMetaTest.java b/core/src/test/java/org/apache/servicecomb/core/definition/StaticMicroserviceVersionMetaTest.java
deleted file mode 100644
index 145d05751..000000000
--- a/core/src/test/java/org/apache/servicecomb/core/definition/StaticMicroserviceVersionMetaTest.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 org.apache.servicecomb.core.definition;
-
-public class StaticMicroserviceVersionMetaTest {
-//
-// private static final String APP_ID_FROM_REGISTRY_UTIL = "appIdFromRegistryUtil";
-//
-// @BeforeClass
-// public static void beforeClass() {
-// new MockUp<RegistryUtils>() {
-// @Mock
-// String getAppId() {
-// return APP_ID_FROM_REGISTRY_UTIL;
-// }
-// };
-// }
-//
-// @Test
-// public void testConstruct() {
-// StaticMicroservice staticMicroservice = new StaticMicroservice();
-// String appId = "testAppId";
-// String serviceName = "testServiceName";
-// String version = "1.2.1";
-// staticMicroservice.setAppId(appId);
-// staticMicroservice.setServiceName(serviceName);
-// staticMicroservice.setVersion(version);
-//
-// Holder<Boolean> schemaLoaded = new Holder<>(false);
-// SCBEngine.getInstance().setStaticSchemaFactory(new MockUp<StaticSchemaFactory>() {
-// @Mock
-// void loadSchema(MicroserviceMeta microserviceMeta, StaticMicroservice microservice) {
-// Assert.assertSame(APP_ID_FROM_REGISTRY_UTIL, microserviceMeta.getAppId());
-// Assert.assertSame(serviceName, microserviceMeta.getName());
-// Assert.assertSame(serviceName, microserviceMeta.getShortName());
-// Assert.assertSame(staticMicroservice, microservice);
-// schemaLoaded.value = true;
-// }
-// }.getMockInstance());
-// Holder<Boolean> listenerNotified = new Holder<>(false);
-// CseContext.getInstance().setSchemaListenerManager(new MockUp<SchemaListenerManager>() {
-// @Mock
-// void notifySchemaListener(MicroserviceMeta... microserviceMetas) {
-// Assert.assertEquals(1, microserviceMetas.length);
-// MicroserviceMeta microserviceMeta = microserviceMetas[0];
-// Assert.assertEquals(serviceName, microserviceMeta.getShortName());
-// listenerNotified.value = true;
-// }
-// }.getMockInstance());
-//
-// StaticMicroserviceVersionMeta staticMicroserviceVersionMeta = new StaticMicroserviceVersionMeta(staticMicroservice);
-//
-// Assert.assertTrue(schemaLoaded.value);
-// Assert.assertTrue(listenerNotified.value);
-// Assert.assertSame(staticMicroservice, staticMicroserviceVersionMeta.getMicroservice());
-// Assert.assertEquals(serviceName, staticMicroserviceVersionMeta.getMicroserviceMeta().getName());
-// }
-}
\ No newline at end of file
diff --git a/core/src/test/java/org/apache/servicecomb/core/definition/TestMicroserviceMeta.java b/core/src/test/java/org/apache/servicecomb/core/definition/TestMicroserviceMeta.java
deleted file mode 100644
index 74fc0e9bb..000000000
--- a/core/src/test/java/org/apache/servicecomb/core/definition/TestMicroserviceMeta.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 org.apache.servicecomb.core.definition;
-
-public class TestMicroserviceMeta {
-// MicroserviceMeta microserviceMeta = new MicroserviceMeta("app:microservice");
-//
-// @Test
-// public void isConsumer() {
-// Assert.assertTrue(microserviceMeta.isConsumer());
-// }
-//
-// @Test
-// public void testGetSchemaMetas() {
-// Collection<SchemaMeta> schemaMetas = microserviceMeta.getSchemaMetas();
-// Assert.assertNotNull(schemaMetas);
-// }
-//
-// @Test
-// public void testGetExtData() {
-// Object data = new Object();
-// microserviceMeta.putExtData("pruthi", data);
-// Object response = microserviceMeta.getExtData("pruthi");
-// Assert.assertNotNull(response);
-// }
-//
-// @Test
-// public void testIntf(@Mocked SchemaMeta sm1, @Mocked SchemaMeta sm2) {
-// Class<?> intf = Object.class;
-// new Expectations() {
-// {
-// sm1.getSchemaId();
-// result = "a";
-// sm2.getSchemaId();
-// result = "b";
-// sm1.getSwaggerIntf();
-// result = intf;
-// sm2.getSwaggerIntf();
-// result = intf;
-// }
-// };
-//
-// try {
-// microserviceMeta.ensureFindSchemaMeta(intf);
-// Assert.assertEquals(1, 2);
-// } catch (Throwable e) {
-// Assert.assertEquals(
-// "No schema interface is java.lang.Object.",
-// e.getMessage());
-// }
-// microserviceMeta.regSchemaMeta(sm1);
-// Assert.assertEquals(sm1, microserviceMeta.findSchemaMeta(intf));
-// Assert.assertEquals(sm1, microserviceMeta.ensureFindSchemaMeta(intf));
-//
-// microserviceMeta.regSchemaMeta(sm2);
-// Assert.assertEquals(sm1, microserviceMeta.ensureFindSchemaMeta("a"));
-// Assert.assertEquals(sm2, microserviceMeta.ensureFindSchemaMeta("b"));
-// try {
-// microserviceMeta.findSchemaMeta(intf);
-// Assert.assertEquals(1, 2);
-// } catch (Throwable e) {
-// Assert.assertEquals(
-// "More than one schema interface is java.lang.Object, please use schemaId to choose a schema.",
-// e.getMessage());
-// }
-// }
-}
diff --git a/core/src/test/java/org/apache/servicecomb/core/definition/TestMicroserviceVersionMeta.java b/core/src/test/java/org/apache/servicecomb/core/definition/TestMicroserviceVersionMeta.java
deleted file mode 100644
index b31862b4f..000000000
--- a/core/src/test/java/org/apache/servicecomb/core/definition/TestMicroserviceVersionMeta.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 org.apache.servicecomb.core.definition;
-
-public class TestMicroserviceVersionMeta {
-// @AfterClass
-// public static void teardown() {
-// CseContext.getInstance().setConsumerSchemaFactory(null);
-// CseContext.getInstance().setSchemaListenerManager(null);
-// }
-//
-// @Test
-// public void construct(@Mocked ServiceRegistry serviceRegistry) {
-// String microserviceName = "app:ms";
-// String microserviceId = "id";
-// Microservice microservice = new Microservice();
-// microservice.setVersion("1.0.0");
-//
-// new Expectations(RegistryUtils.class) {
-// {
-// RegistryUtils.getServiceRegistry();
-// result = serviceRegistry;
-// serviceRegistry.getAggregatedRemoteMicroservice(microserviceId);
-// result = microservice;
-// }
-// };
-//
-// List<String> logs = new ArrayList<>();
-// CseContext.getInstance().setConsumerSchemaFactory(new MockUp<ConsumerSchemaFactory>() {
-// @Mock
-// void createConsumerSchema(MicroserviceMeta microserviceMeta, Microservice microservice) {
-// logs.add("createConsumerSchema");
-// }
-// }.getMockInstance());
-// CseContext.getInstance().setSchemaListenerManager(new MockUp<SchemaListenerManager>() {
-// @Mock
-// void notifySchemaListener(MicroserviceMeta... microserviceMetas) {
-// logs.add("notifySchemaListener");
-// }
-// }.getMockInstance());
-//
-// MicroserviceVersionMeta microserviceVersionMeta = new MicroserviceVersionMeta(microserviceName, microserviceId);
-//
-// Assert.assertThat(logs, Matchers.contains("createConsumerSchema", "notifySchemaListener"));
-// Assert.assertEquals(microserviceName, microserviceVersionMeta.getMicroserviceMeta().getName());
-// }
-}
diff --git a/core/src/test/java/org/apache/servicecomb/core/definition/TestMicroserviceVersionMetaFactory.java b/core/src/test/java/org/apache/servicecomb/core/definition/TestMicroserviceVersionMetaFactory.java
deleted file mode 100644
index 61111924d..000000000
--- a/core/src/test/java/org/apache/servicecomb/core/definition/TestMicroserviceVersionMetaFactory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.servicecomb.core.definition;
-
-public class TestMicroserviceVersionMetaFactory {
-// @AfterClass
-// public static void teardown() {
-// CseContext.getInstance().setConsumerSchemaFactory(null);
-// CseContext.getInstance().setSchemaListenerManager(null);
-// }
-//
-// @Test
-// public void create(@Mocked ConsumerSchemaFactory consumerSchemaFactory,
-// @Mocked SchemaListenerManager schemaListenerManager, @Mocked ServiceRegistry serviceRegistry) {
-// String microserviceName = "app:ms";
-// String microserviceId = "id";
-// Microservice microservice = new Microservice();
-// microservice.setVersion("1.0.0");
-//
-// new Expectations(RegistryUtils.class) {
-// {
-// RegistryUtils.getServiceRegistry();
-// result = serviceRegistry;
-// serviceRegistry.getAggregatedRemoteMicroservice(microserviceId);
-// result = microservice;
-// }
-// };
-// CseContext.getInstance().setConsumerSchemaFactory(consumerSchemaFactory);
-// CseContext.getInstance().setSchemaListenerManager(schemaListenerManager);
-//
-// MicroserviceVersionMetaFactory factory = new MicroserviceVersionMetaFactory();
-// MicroserviceVersion microserviceVersion = factory.create(microserviceName, microserviceId);
-// Assert.assertThat(microserviceVersion, Matchers.instanceOf(MicroserviceVersionMeta.class));
-// }
-}
diff --git a/core/src/test/java/org/apache/servicecomb/core/definition/TestOperationMeta.java b/core/src/test/java/org/apache/servicecomb/core/definition/TestOperationMeta.java
deleted file mode 100644
index f768d1815..000000000
--- a/core/src/test/java/org/apache/servicecomb/core/definition/TestOperationMeta.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.servicecomb.core.definition;
-
-public class TestOperationMeta {
-// class Impl {
-// @ApiResponse(
-// code = 300,
-// response = String.class,
-// message = "",
-// responseHeaders = {@ResponseHeader(name = "h3", response = int.class)})
-// @ResponseHeaders({@ResponseHeader(name = "h1", response = int.class),
-// @ResponseHeader(name = "h2", response = String.class, responseContainer = "List")})
-// public int test(int x) {
-// return 100;
-// }
-// }
-//
-// @BeforeClass
-// public static void setup() {
-// ArchaiusUtils.resetConfig();
-// }
-//
-// @AfterClass
-// public static void teardown() {
-// ArchaiusUtils.resetConfig();
-// }
-//
-// @Test
-// public void testOperationMeta() {
-// UnitTestMeta meta = new UnitTestMeta();
-// SchemaMeta schemaMeta = meta.getOrCreateSchemaMeta(Impl.class);
-// OperationMeta operationMeta = schemaMeta.findOperation("test");
-//
-// Assert.assertEquals("POST", operationMeta.getHttpMethod());
-// Assert.assertEquals("/test", operationMeta.getOperationPath());
-// Assert.assertEquals(schemaMeta, operationMeta.getSchemaMeta());
-// Assert.assertEquals(Impl.class.getName() + ".test",
-// operationMeta.getSchemaQualifiedName());
-// Assert.assertEquals("perfClient." + Impl.class.getName() + ".test",
-// operationMeta.getMicroserviceQualifiedName());
-// Assert.assertEquals("perfClient", operationMeta.getMicroserviceName());
-// Assert.assertEquals("test", operationMeta.getOperationId());
-// Assert.assertEquals("x", operationMeta.getParamName(0));
-//
-// operationMeta.putExtData("ext", 1);
-// Assert.assertEquals(1, (int) operationMeta.getExtData("ext"));
-//
-// ResponseMeta responseMeta = operationMeta.findResponseType(200);
-// Assert.assertEquals("Ljava/lang/Integer;", responseMeta.getJavaType().getGenericSignature());
-// Assert.assertEquals("Ljava/lang/Integer;", responseMeta.getHeaders().get("h1").getGenericSignature());
-// Assert.assertEquals("Ljava/util/List<Ljava/lang/String;>;",
-// responseMeta.getHeaders().get("h2").getGenericSignature());
-// Assert.assertEquals(null, responseMeta.getHeaders().get("h3"));
-//
-// responseMeta = operationMeta.findResponseType(300);
-// Assert.assertEquals("Ljava/lang/String;", responseMeta.getJavaType().getGenericSignature());
-// Assert.assertEquals("Ljava/lang/Integer;", responseMeta.getHeaders().get("h1").getGenericSignature());
-// Assert.assertEquals("Ljava/util/List<Ljava/lang/String;>;",
-// responseMeta.getHeaders().get("h2").getGenericSignature());
-// Assert.assertEquals("Ljava/lang/Integer;", responseMeta.getHeaders().get("h3").getGenericSignature());
-// }
-//
-// @Test
-// public void opConfig() {
-// UnitTestMeta meta = new UnitTestMeta();
-// SchemaMeta schemaMeta = meta.getOrCreateSchemaMeta(Impl.class);
-// OperationMeta operationMeta = schemaMeta.findOperation("test");
-//
-// OperationConfig config = operationMeta.getConfig();
-//
-// // slow invocation
-// slowInvocation(config);
-//
-// // consumer request timeout
-// consumerRequestTimeout(config);
-//
-// // highway wait in thread pool timeout
-// highwayWaitInPool(config);
-//
-// // rest wait in thread pool timeout
-// restWaitInPool(config);
-// }
-//
-// private void restWaitInPool(OperationConfig config) {
-// ArchaiusUtils.updateProperty("servicecomb.Provider.requestWaitInPoolTimeout", null);
-// ArchaiusUtils.updateProperty("servicecomb.Provider.requestWaitInPoolTimeout.perfClient", null);
-// ArchaiusUtils.updateProperty(
-// "servicecomb.Provider.requestWaitInPoolTimeout.perfClient.org.apache.servicecomb.core.definition.TestOperationMeta$Impl",
-// null);
-// ArchaiusUtils.updateProperty(
-// "servicecomb.Provider.requestWaitInPoolTimeout.perfClient.org.apache.servicecomb.core.definition.TestOperationMeta$Impl.test",
-// null);
-//
-// Assert.assertEquals(30000, config.getMsRestRequestWaitInPoolTimeout());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(30000), config.getNanoRestRequestWaitInPoolTimeout());
-//
-// ArchaiusUtils.setProperty("servicecomb.Provider.requestWaitInPoolTimeout", 1);
-// Assert.assertEquals(1, config.getMsRestRequestWaitInPoolTimeout());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(1), config.getNanoRestRequestWaitInPoolTimeout());
-//
-// ArchaiusUtils.setProperty("servicecomb.Provider.requestWaitInPoolTimeout.perfClient", 2);
-// Assert.assertEquals(2, config.getMsRestRequestWaitInPoolTimeout());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(2), config.getNanoRestRequestWaitInPoolTimeout());
-//
-// ArchaiusUtils.setProperty(
-// "servicecomb.Provider.requestWaitInPoolTimeout.perfClient.org.apache.servicecomb.core.definition.TestOperationMeta$Impl",
-// 3);
-// Assert.assertEquals(3, config.getMsRestRequestWaitInPoolTimeout());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(3), config.getNanoRestRequestWaitInPoolTimeout());
-//
-// ArchaiusUtils.setProperty(
-// "servicecomb.Provider.requestWaitInPoolTimeout.perfClient.org.apache.servicecomb.core.definition.TestOperationMeta$Impl.test",
-// 4);
-// Assert.assertEquals(4, config.getMsRestRequestWaitInPoolTimeout());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(4), config.getNanoRestRequestWaitInPoolTimeout());
-// }
-//
-// private void highwayWaitInPool(OperationConfig config) {
-// Assert.assertEquals(30000, config.getMsHighwayRequestWaitInPoolTimeout());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(30000), config.getNanoHighwayRequestWaitInPoolTimeout());
-//
-// ArchaiusUtils.setProperty("servicecomb.Provider.requestWaitInPoolTimeout", 1);
-// Assert.assertEquals(1, config.getMsHighwayRequestWaitInPoolTimeout());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(1), config.getNanoHighwayRequestWaitInPoolTimeout());
-//
-// ArchaiusUtils.setProperty("servicecomb.Provider.requestWaitInPoolTimeout.perfClient", 2);
-// Assert.assertEquals(2, config.getMsHighwayRequestWaitInPoolTimeout());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(2), config.getNanoHighwayRequestWaitInPoolTimeout());
-//
-// ArchaiusUtils.setProperty(
-// "servicecomb.Provider.requestWaitInPoolTimeout.perfClient.org.apache.servicecomb.core.definition.TestOperationMeta$Impl",
-// 3);
-// Assert.assertEquals(3, config.getMsHighwayRequestWaitInPoolTimeout());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(3), config.getNanoHighwayRequestWaitInPoolTimeout());
-//
-// ArchaiusUtils.setProperty(
-// "servicecomb.Provider.requestWaitInPoolTimeout.perfClient.org.apache.servicecomb.core.definition.TestOperationMeta$Impl.test",
-// 4);
-// Assert.assertEquals(4, config.getMsHighwayRequestWaitInPoolTimeout());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(4), config.getNanoHighwayRequestWaitInPoolTimeout());
-// }
-//
-// private void consumerRequestTimeout(OperationConfig config) {
-// Assert.assertEquals(30000, config.getMsRequestTimeout());
-//
-// ArchaiusUtils.setProperty("servicecomb.request.perfClient.timeout", 2);
-// Assert.assertEquals(2, config.getMsRequestTimeout());
-// ArchaiusUtils.setProperty(
-// "servicecomb.request.perfClient.org.apache.servicecomb.core.definition.TestOperationMeta$Impl.timeout", 3);
-// Assert.assertEquals(3, config.getMsRequestTimeout());
-// ArchaiusUtils.setProperty(
-// "servicecomb.request.perfClient.org.apache.servicecomb.core.definition.TestOperationMeta$Impl.test.timeout", 4);
-// Assert.assertEquals(4, config.getMsRequestTimeout());
-// }
-//
-// private void slowInvocation(OperationConfig config) {
-// Assert.assertFalse(config.isSlowInvocationEnabled());
-// Assert.assertEquals(1000, config.getMsSlowInvocation());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(1000), config.getNanoSlowInvocation());
-//
-// ArchaiusUtils.setProperty("servicecomb.Consumer.invocation.slow.enabled.perfClient", true);
-// ArchaiusUtils.setProperty("servicecomb.Consumer.invocation.slow.msTime.perfClient", 2000);
-// Assert.assertTrue(config.isSlowInvocationEnabled());
-// Assert.assertEquals(2000, config.getMsSlowInvocation());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(2000), config.getNanoSlowInvocation());
-//
-// // new configuration key, has high priority
-// ArchaiusUtils.setProperty("servicecomb.metrics.Consumer.invocation.slow.enabled", false);
-// ArchaiusUtils.setProperty("servicecomb.metrics.Consumer.invocation.slow.msTime", 3000);
-// Assert.assertFalse(config.isSlowInvocationEnabled());
-// Assert.assertEquals(3000, config.getMsSlowInvocation());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(3000), config.getNanoSlowInvocation());
-//
-// ArchaiusUtils.setProperty("servicecomb.metrics.Consumer.invocation.slow.enabled.perfClient", true);
-// ArchaiusUtils.setProperty("servicecomb.metrics.Consumer.invocation.slow.msTime.perfClient", 4000);
-// Assert.assertTrue(config.isSlowInvocationEnabled());
-// Assert.assertEquals(4000, config.getMsSlowInvocation());
-// Assert.assertEquals(TimeUnit.MILLISECONDS.toNanos(4000), config.getNanoSlowInvocation());
-// }
-}
diff --git a/core/src/test/java/org/apache/servicecomb/core/definition/TestSchemaMeta.java b/core/src/test/java/org/apache/servicecomb/core/definition/TestSchemaMeta.java
deleted file mode 100644
index 8e7214cdf..000000000
--- a/core/src/test/java/org/apache/servicecomb/core/definition/TestSchemaMeta.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 org.apache.servicecomb.core.definition;
-
-public class TestSchemaMeta {
-// interface V1 {
-// void a();
-// }
-//
-// interface V2 extends V1 {
-// void b();
-// }
-//
-// @Test
-// public void testMethodNotExist(@Mocked OperationMeta operationMeta) {
-// Swagger swagger = SwaggerGenerator.generate(V2.class);
-// // make swagger have more operations than interface
-// swagger.getInfo().setVendorExtension(SwaggerConst.EXT_JAVA_INTF, V1.class.getName());
-//
-// MicroserviceMeta microserviceMeta = new MicroserviceMeta("app:ms");
-// SchemaMeta schemaMeta = new SchemaMeta(swagger, microserviceMeta, "schemaId");
-// Assert.assertEquals(1, schemaMeta.getOperations().size());
-// Assert.assertNotNull(schemaMeta.findOperation("a"));
-// }
-}
diff --git a/core/src/test/java/org/apache/servicecomb/core/definition/loader/TestDynamicSchemaLoader.java b/core/src/test/java/org/apache/servicecomb/core/definition/loader/TestDynamicSchemaLoader.java
deleted file mode 100644
index 7538aee67..000000000
--- a/core/src/test/java/org/apache/servicecomb/core/definition/loader/TestDynamicSchemaLoader.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 org.apache.servicecomb.core.definition.loader;
-
-public class TestDynamicSchemaLoader {
-//
-// private static SchemaLoader loader = new SchemaLoader();
-//
-// private static Microservice microservice;
-//
-// @BeforeClass
-// public static void init() {
-// new UnitTestMeta();
-//
-// SchemaListenerManager schemaListenerManager = new SchemaListenerManager();
-// schemaListenerManager.setSchemaListenerList(Collections.emptyList());
-//
-// CseContext context = CseContext.getInstance();
-// context.setSchemaLoader(loader);
-// context.setSchemaListenerManager(schemaListenerManager);
-//
-// ServiceRegistry serviceRegistry = ServiceRegistryFactory.createLocal();
-// serviceRegistry.init();
-//
-// microservice = serviceRegistry.getMicroservice();
-// RegistryUtils.setServiceRegistry(serviceRegistry);
-// }
-//
-// @AfterClass
-// public static void teardown() {
-// RegistryUtils.setServiceRegistry(null);
-// }
-//
-// @SuppressWarnings("deprecation")
-// @Test
-// public void testRegisterSchemas() {
-// DynamicSchemaLoader.INSTANCE.registerSchemas("classpath*:test/test/schema.yaml");
-// SchemaMeta schemaMeta = SCBEngine.getInstance().getProducerMicroserviceMeta().ensureFindSchemaMeta("schema");
-// Assert.assertNotNull(schemaMeta);
-// }
-//
-// @SuppressWarnings("deprecation")
-// @Test
-// public void testRegisterShemasAcrossApp() {
-// //we can not register repeat data
-// init();
-// //as we can not set microserviceName any more, hence we should use the default name
-// DynamicSchemaLoader.INSTANCE
-// .registerSchemas(RegistryUtils.getMicroservice().getServiceName(), "classpath*:test/test/schema.yaml");
-// SchemaMeta schemaMeta =
-// SCBEngine.getInstance().getProducerMicroserviceMeta().ensureFindSchemaMeta("schema");
-// Assert.assertNotNull(schemaMeta);
-// }
-//
-// @Test
-// public void testPutSelfBasePathIfAbsent_noUrlPrefix() {
-// System.clearProperty(Const.URL_PREFIX);
-// microservice.setPaths(new ArrayList<>());
-//
-// loader.putSelfBasePathIfAbsent("perfClient", "/test");
-//
-// Assert.assertThat(microservice.getPaths().size(), Matchers.is(1));
-// Assert.assertThat(microservice.getPaths().get(0).getPath(), Matchers.is("/test"));
-// }
-//
-// @Test
-// public void testPutSelfBasePathIfAbsent_WithUrlPrefix() {
-// System.setProperty(Const.URL_PREFIX, "/root/rest");
-// microservice.setPaths(new ArrayList<>());
-//
-// loader.putSelfBasePathIfAbsent("perfClient", "/test");
-//
-// Assert.assertThat(microservice.getPaths().size(), Matchers.is(1));
-// Assert.assertThat(microservice.getPaths().get(0).getPath(), Matchers.is("/root/rest/test"));
-//
-// System.clearProperty(Const.URL_PREFIX);
-// }
-//
-// @Test
-// public void testPutSelfBasePathIfAbsent_WithUrlPrefix_StartWithUrlPrefix() {
-// System.setProperty(Const.URL_PREFIX, "/root/rest");
-// microservice.setPaths(new ArrayList<>());
-//
-// loader.putSelfBasePathIfAbsent("perfClient", "/root/rest/test");
-//
-// Assert.assertThat(microservice.getPaths().size(), Matchers.is(1));
-// Assert.assertThat(microservice.getPaths().get(0).getPath(), Matchers.is("/root/rest/test"));
-//
-// System.clearProperty(Const.URL_PREFIX);
-// }
-}
diff --git a/core/src/test/java/org/apache/servicecomb/core/definition/loader/TestSchemaListenerManager.java b/core/src/test/java/org/apache/servicecomb/core/definition/loader/TestSchemaListenerManager.java
deleted file mode 100644
index 764aa9950..000000000
--- a/core/src/test/java/org/apache/servicecomb/core/definition/loader/TestSchemaListenerManager.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.servicecomb.core.definition.loader;
-
-public class TestSchemaListenerManager {
-//
-// SchemaMeta schemaMeta = Mockito.mock(SchemaMeta.class);
-//
-// @Before
-// public void setUp() {
-// Mockito.when(schemaMeta.getSchemaId()).thenReturn("test");
-// }
-//
-// @Test
-// public void testInitializationListener() {
-// SchemaListener listener = new SchemaListener() {
-// @Override
-// public void onSchemaLoaded(SchemaMeta... schemaMetas) {
-// Assert.assertEquals(1, schemaMetas.length);
-// Assert.assertEquals("test", schemaMetas[0].getSchemaId());
-// }
-// };
-//
-// SchemaListenerManager mgr = new SchemaListenerManager();
-// mgr.setSchemaListenerList(Arrays.asList(listener));
-//
-// mgr.notifySchemaListener(schemaMeta);
-// }
-}
diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/RSAUtils.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/RSAUtils.java
index 59752fa94..6922c763c 100644
--- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/RSAUtils.java
+++ b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/RSAUtils.java
@@ -16,6 +16,7 @@
*/
package org.apache.servicecomb.foundation.common.utils;
+import java.nio.charset.StandardCharsets;
import java.security.InvalidKeyException;
import java.security.KeyFactory;
import java.security.KeyPair;
@@ -76,10 +77,10 @@ public class RSAUtils {
* if has performance problem ,change Signature to ThreadLocal instance
*/
public static String sign(String content, PrivateKey privateKey)
- throws NoSuchAlgorithmException, InvalidKeySpecException, SignatureException, InvalidKeyException {
+ throws NoSuchAlgorithmException, SignatureException, InvalidKeyException {
Signature signature = Signature.getInstance(SIGN_ALG);
signature.initSign(privateKey);
- signature.update(content.getBytes());
+ signature.update(content.getBytes(StandardCharsets.UTF_8));
byte[] signByte = signature.sign();
return encoder.encodeToString(signByte);
}
@@ -106,7 +107,7 @@ public class RSAUtils {
PublicKey pubKey = kf.generatePublic(keySpec);
Signature signature = Signature.getInstance(SIGN_ALG);
signature.initVerify(pubKey);
- signature.update(content.getBytes());
+ signature.update(content.getBytes(StandardCharsets.UTF_8));
return signature.verify(decoder.decode(sign));
}
}
diff --git a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/AbstractConfigLoader.java b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/AbstractConfigLoader.java
index 46a9f374c..74051441c 100644
--- a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/AbstractConfigLoader.java
+++ b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/AbstractConfigLoader.java
@@ -98,7 +98,7 @@ public abstract class AbstractConfigLoader {
return urlList;
}
- private class ConfigModelWrapper {
+ private static class ConfigModelWrapper {
ConfigModel model;
int addOrder;
diff --git a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/parser/YamlParser.java b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/parser/YamlParser.java
index 4ce566525..fd572eaab 100644
--- a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/parser/YamlParser.java
+++ b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/parser/YamlParser.java
@@ -17,6 +17,7 @@
package org.apache.servicecomb.config.parser;
+import java.nio.charset.StandardCharsets;
import java.util.Map;
import java.util.Properties;
@@ -27,7 +28,7 @@ public class YamlParser implements Parser {
@Override
public Map<String, Object> parse(String content, String prefix, boolean addPrefix) {
YamlPropertiesFactoryBean yamlFactory = new YamlPropertiesFactoryBean();
- yamlFactory.setResources(new ByteArrayResource(content.getBytes()));
+ yamlFactory.setResources(new ByteArrayResource(content.getBytes(StandardCharsets.UTF_8)));
Properties properties = yamlFactory.getObject();
return Parser.propertiesToMap(properties, prefix, addPrefix);
}
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/ArgumentsWrapperMessageSchema.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/ArgumentsWrapperMessageSchema.java
deleted file mode 100644
index f2222ca77..000000000
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/ArgumentsWrapperMessageSchema.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.servicecomb.foundation.protobuf.internal.schema;
-
-public class ArgumentsWrapperMessageSchema {
-// private FieldSchema<Object>[] fields;
-//
-// public ArgumentsWrapperMessageSchema(ProtoMapper protoMapper, Message message, JavaType javaType) {
-// super(protoMapper, message, javaType);
-// }
-//
-// @Override
-// public void initSerializer(SchemaCreateContext context) {
-// super.initSerializer(context);
-//
-// List<Field<Object>> list = getFields();
-// this.fields = list.toArray(new FieldSchema[list.size()]);
-// }
-//
-// @Override
-// public void writeTo(OutputEx output, Object message) throws IOException {
-// Object[] arguments = (Object[]) message;
-// int fieldCount = fields.length;
-// if (fieldCount > arguments.length) {
-// fieldCount = arguments.length;
-// }
-// for (int fieldIdx = 0; fieldIdx < fieldCount; fieldIdx++) {
-// FieldSchema field = fields[fieldIdx];
-// Object value = arguments[fieldIdx];
-//
-// field.writeTo(output, value);
-// }
-// }
-}
diff --git a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/version/VersionRuleFixedParser.java b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/version/VersionRuleFixedParser.java
index 80eecbbf3..38fa3809b 100644
--- a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/version/VersionRuleFixedParser.java
+++ b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/version/VersionRuleFixedParser.java
@@ -22,7 +22,7 @@ import org.apache.servicecomb.foundation.common.Version;
// fixed, this should be the last parser
// will not check version format
public class VersionRuleFixedParser implements VersionRuleParser {
- class FixedVersionRule extends VersionRule {
+ static class FixedVersionRule extends VersionRule {
private final Version version;
public FixedVersionRule(String versionRule, Version version) {
diff --git a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/version/VersionRuleRangeParser.java b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/version/VersionRuleRangeParser.java
index 0fcb889c6..182cb4c36 100644
--- a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/version/VersionRuleRangeParser.java
+++ b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/version/VersionRuleRangeParser.java
@@ -21,7 +21,7 @@ import org.apache.servicecomb.foundation.common.Version;
// 1.0.0-2.0.0
public class VersionRuleRangeParser implements VersionRuleParser {
- class RangeVersionRule extends VersionRule {
+ static class RangeVersionRule extends VersionRule {
private final Version from;
private final Version to;
diff --git a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/version/VersionRuleStartFromParser.java b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/version/VersionRuleStartFromParser.java
index 6d1bdd698..d657e701e 100644
--- a/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/version/VersionRuleStartFromParser.java
+++ b/foundations/foundation-registry/src/main/java/org/apache/servicecomb/registry/version/VersionRuleStartFromParser.java
@@ -21,7 +21,7 @@ import org.apache.servicecomb.foundation.common.Version;
// 1.0.0+
public class VersionRuleStartFromParser implements VersionRuleParser {
- class StartFromVersionRule extends VersionRule {
+ static class StartFromVersionRule extends VersionRule {
private final Version from;
public StartFromVersionRule(String versionRule, Version from) {
diff --git a/governance/src/main/java/org/apache/servicecomb/governance/handler/CircuitBreakerHandler.java b/governance/src/main/java/org/apache/servicecomb/governance/handler/CircuitBreakerHandler.java
index b1bed54ae..50486183c 100644
--- a/governance/src/main/java/org/apache/servicecomb/governance/handler/CircuitBreakerHandler.java
+++ b/governance/src/main/java/org/apache/servicecomb/governance/handler/CircuitBreakerHandler.java
@@ -60,7 +60,7 @@ public class CircuitBreakerHandler extends AbstractGovernanceHandler<CircuitBrea
}
private CircuitBreaker getCircuitBreaker(CircuitBreakerPolicy policy) {
- LOGGER.info("applying new policy: {}", policy.toString());
+ LOGGER.info("applying new policy: {}", policy);
CircuitBreakerConfig circuitBreakerConfig = CircuitBreakerConfig.custom()
.failureRateThreshold(policy.getFailureRateThreshold())
@@ -70,7 +70,7 @@ public class CircuitBreakerHandler extends AbstractGovernanceHandler<CircuitBrea
.permittedNumberOfCallsInHalfOpenState(policy.getPermittedNumberOfCallsInHalfOpenState())
.minimumNumberOfCalls(policy.getMinimumNumberOfCalls())
.slidingWindowType(policy.getSlidingWindowTypeEnum())
- .slidingWindowSize(Integer.valueOf(policy.getSlidingWindowSize()))
+ .slidingWindowSize(Integer.parseInt(policy.getSlidingWindowSize()))
.build();
CircuitBreakerRegistry circuitBreakerRegistry = CircuitBreakerRegistry.of(circuitBreakerConfig);
if (meterRegistry != null) {
diff --git a/governance/src/main/java/org/apache/servicecomb/governance/policy/AbstractPolicy.java b/governance/src/main/java/org/apache/servicecomb/governance/policy/AbstractPolicy.java
index 5ccf4f3a3..5fe427d80 100644
--- a/governance/src/main/java/org/apache/servicecomb/governance/policy/AbstractPolicy.java
+++ b/governance/src/main/java/org/apache/servicecomb/governance/policy/AbstractPolicy.java
@@ -34,10 +34,10 @@ public abstract class AbstractPolicy extends Configurable {
return defaultValue;
}
if (time.matches(GovernanceUtils.DIGIT_REGEX)) {
- if (Long.valueOf(time) < 0) {
+ if (Long.parseLong(time) < 0) {
throw new RuntimeException("The value of time should not be less than 0.");
}
- return Duration.ofMillis(Long.valueOf(time));
+ return Duration.ofMillis(Long.parseLong(time));
}
return Duration.parse(GovernanceUtils.DIGIT_PREFIX + time);
}
diff --git a/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java b/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java
index fd605d37b..20a4906d7 100644
--- a/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java
+++ b/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java
@@ -164,7 +164,7 @@ public class CircuitBreakerPolicy extends AbstractPolicy {
return DEFAULT_SLIDING_WINDOW_SIZE;
}
if (slidingWindowSize.matches(GovernanceUtils.DIGIT_REGEX)) {
- if (Long.valueOf(slidingWindowSize) < 0) {
+ if (Long.parseLong(slidingWindowSize) < 0) {
throw new RuntimeException("The value should be more than 0.");
}
return slidingWindowSize;
diff --git a/handlers/handler-publickey-auth/src/main/java/org/apache/servicecomb/authentication/RSAAuthenticationToken.java b/handlers/handler-publickey-auth/src/main/java/org/apache/servicecomb/authentication/RSAAuthenticationToken.java
index 0a7385e11..01db32f9a 100644
--- a/handlers/handler-publickey-auth/src/main/java/org/apache/servicecomb/authentication/RSAAuthenticationToken.java
+++ b/handlers/handler-publickey-auth/src/main/java/org/apache/servicecomb/authentication/RSAAuthenticationToken.java
@@ -85,7 +85,7 @@ public class RSAAuthenticationToken {
return null;
}
return new RSAAuthenticationToken(tokenArr[0], tokenArr[1],
- Long.valueOf(tokenArr[2]), tokenArr[3], tokenArr[4]);
+ Long.parseLong(tokenArr[2]), tokenArr[3], tokenArr[4]);
}
public String getServiceId() {
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/AbstractInvocationMeter.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/AbstractInvocationMeter.java
index 3dc5ac8cb..636ef4d9f 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/AbstractInvocationMeter.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/AbstractInvocationMeter.java
@@ -28,10 +28,8 @@ import org.apache.servicecomb.foundation.metrics.meter.SimpleTimer;
import com.netflix.config.DynamicPropertyFactory;
import com.netflix.spectator.api.Id;
import com.netflix.spectator.api.Measurement;
-import com.netflix.spectator.api.Registry;
public abstract class AbstractInvocationMeter extends AbstractPeriodMeter {
- private final Registry registry;
//total time
private final SimpleTimer totalTimer;
@@ -48,10 +46,7 @@ public abstract class AbstractInvocationMeter extends AbstractPeriodMeter {
// latency distribution
private final LatencyDistributionMeter latencyDistributionMeter;
- private long lastUpdated;
-
- public AbstractInvocationMeter(Registry registry, Id id) {
- this.registry = registry;
+ public AbstractInvocationMeter(Id id) {
this.id = id;
latencyDistributionMeter = createLatencyDistribution(MeterInvocationConst.TAG_LATENCY_DISTRIBUTION);
totalTimer = createStageTimer(MeterInvocationConst.STAGE_TOTAL);
@@ -81,8 +76,6 @@ public abstract class AbstractInvocationMeter extends AbstractPeriodMeter {
}
public void onInvocationFinish(InvocationFinishEvent event) {
- lastUpdated = registry.clock().wallTime();
-
InvocationStageTrace stageTrace = event.getInvocation().getInvocationStageTrace();
latencyDistributionMeter.record((long) stageTrace.calcTotalTime());
totalTimer.record((long) stageTrace.calcTotalTime());
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ConsumerInvocationMeter.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ConsumerInvocationMeter.java
index dc0c3331a..181276a21 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ConsumerInvocationMeter.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ConsumerInvocationMeter.java
@@ -24,7 +24,6 @@ import org.apache.servicecomb.foundation.metrics.meter.SimpleTimer;
import com.netflix.spectator.api.Id;
import com.netflix.spectator.api.Measurement;
-import com.netflix.spectator.api.Registry;
public class ConsumerInvocationMeter extends AbstractInvocationMeter {
private final SimpleTimer clientFiltersRequestTimer;
@@ -41,8 +40,8 @@ public class ConsumerInvocationMeter extends AbstractInvocationMeter {
private final SimpleTimer clientFiltersResponseTimer;
- public ConsumerInvocationMeter(Registry registry, Id id) {
- super(registry, id);
+ public ConsumerInvocationMeter(Id id) {
+ super(id);
clientFiltersRequestTimer = createStageTimer(MeterInvocationConst.STAGE_CLIENT_FILTERS_REQUEST);
consumerSendRequestTimer = createStageTimer(MeterInvocationConst.STAGE_CONSUMER_SEND_REQUEST);
consumerGetConnectionTimer = createStageTimer(MeterInvocationConst.STAGE_CONSUMER_GET_CONNECTION);
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ConsumerInvocationMeters.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ConsumerInvocationMeters.java
index 5543c9f54..a0ead928f 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ConsumerInvocationMeters.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ConsumerInvocationMeters.java
@@ -26,6 +26,6 @@ public class ConsumerInvocationMeters extends AbstractInvocationMeters {
@Override
protected AbstractInvocationMeter createMeter(Id id) {
- return new ConsumerInvocationMeter(registry, id);
+ return new ConsumerInvocationMeter(id);
}
}
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/EdgeInvocationMeter.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/EdgeInvocationMeter.java
index 678c14953..5b1b55ff0 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/EdgeInvocationMeter.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/EdgeInvocationMeter.java
@@ -25,7 +25,6 @@ import org.apache.servicecomb.foundation.metrics.meter.SimpleTimer;
import com.netflix.spectator.api.Id;
import com.netflix.spectator.api.Measurement;
-import com.netflix.spectator.api.Registry;
public class EdgeInvocationMeter extends ConsumerInvocationMeter {
private final SimpleTimer executorQueueTimer;
@@ -36,8 +35,8 @@ public class EdgeInvocationMeter extends ConsumerInvocationMeter {
private final SimpleTimer sendResponseTimer;
- public EdgeInvocationMeter(Registry registry, Id id) {
- super(registry, id);
+ public EdgeInvocationMeter(Id id) {
+ super(id);
executorQueueTimer = createStageTimer(MeterInvocationConst.STAGE_EXECUTOR_QUEUE);
serverFiltersRequestTimer = createStageTimer(MeterInvocationConst.STAGE_SERVER_FILTERS_REQUEST);
serverFiltersResponseTimer = createStageTimer(MeterInvocationConst.STAGE_SERVER_FILTERS_RESPONSE);
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/EdgeInvocationMeters.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/EdgeInvocationMeters.java
index b7db74c27..987d6f3e0 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/EdgeInvocationMeters.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/EdgeInvocationMeters.java
@@ -27,6 +27,6 @@ public class EdgeInvocationMeters extends ConsumerInvocationMeters {
@Override
protected AbstractInvocationMeter createMeter(Id id) {
- return new EdgeInvocationMeter(registry, id);
+ return new EdgeInvocationMeter(id);
}
}
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ProducerInvocationMeter.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ProducerInvocationMeter.java
index 96a1171e7..da705fa95 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ProducerInvocationMeter.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ProducerInvocationMeter.java
@@ -24,7 +24,6 @@ import org.apache.servicecomb.foundation.metrics.meter.SimpleTimer;
import com.netflix.spectator.api.Id;
import com.netflix.spectator.api.Measurement;
-import com.netflix.spectator.api.Registry;
public class ProducerInvocationMeter extends AbstractInvocationMeter {
private final SimpleTimer executorQueueTimer;
@@ -37,8 +36,8 @@ public class ProducerInvocationMeter extends AbstractInvocationMeter {
private final SimpleTimer sendResponseTimer;
- public ProducerInvocationMeter(Registry registry, Id id) {
- super(registry, id);
+ public ProducerInvocationMeter(Id id) {
+ super(id);
executorQueueTimer = createStageTimer(MeterInvocationConst.STAGE_EXECUTOR_QUEUE);
executionTimer = createStageTimer(MeterInvocationConst.STAGE_EXECUTION);
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ProducerInvocationMeters.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ProducerInvocationMeters.java
index f8e88148a..3a9920b86 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ProducerInvocationMeters.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/ProducerInvocationMeters.java
@@ -26,6 +26,6 @@ public class ProducerInvocationMeters extends AbstractInvocationMeters {
@Override
protected AbstractInvocationMeter createMeter(Id id) {
- return new ProducerInvocationMeter(registry, id);
+ return new ProducerInvocationMeter(id);
}
}
diff --git a/pom.xml b/pom.xml
index 39a4faeab..1997c5abc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,6 +45,7 @@
<test.additional.args/>
<!-- plugin version start -->
<dependency-check-maven.version>7.0.4</dependency-check-maven.version>
+ <spotbug-maven.version>4.6.0.0</spotbug-maven.version>
<surefire-maven.version>3.0.0-M6</surefire-maven.version>
<!-- plugin version end -->
</properties>
@@ -295,6 +296,23 @@
</archive>
</configuration>
</plugin>
+ <plugin>
+ <groupId>com.github.spotbugs</groupId>
+ <artifactId>spotbugs-maven-plugin</artifactId>
+ <configuration>
+ <xmlOutput>true</xmlOutput>
+ <failOnError>true</failOnError>
+ <threshold>Medium</threshold>
+ <excludeFilterFile>ci/spotbugs/exclude.xml</excludeFilterFile>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
<pluginManagement>
<plugins>
@@ -448,6 +466,11 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>com.github.spotbugs</groupId>
+ <artifactId>spotbugs-maven-plugin</artifactId>
+ <version>${spotbug-maven.version}</version>
+ </plugin>
</plugins>
</pluginManagement>
</build>
diff --git a/scripts/build.sh b/scripts/build.sh
index 15cb3aa8e..d5949f1cc 100644
--- a/scripts/build.sh
+++ b/scripts/build.sh
@@ -26,7 +26,7 @@ if [ "$1" == "install" ]; then
exit 1
fi
- mvn clean install -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B -Pdocker -Pdemo-run-release -Pjacoco -Pit -Pcoverage
+ mvn clean install -Dspotbugs.skip=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B -Pdocker -Pdemo-run-release -Pjacoco -Pit -Pcoverage
if [ $? == 0 ]; then
echo "${green}Installation Success..${reset}"
else
diff --git a/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/refresh/ClassificationAddress.java b/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/refresh/ClassificationAddress.java
index ab5d805d0..fff2346df 100644
--- a/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/refresh/ClassificationAddress.java
+++ b/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/refresh/ClassificationAddress.java
@@ -144,7 +144,7 @@ public class ClassificationAddress {
private Map<String, List<String>> generateZoneAndRegionAddress(String key) {
InstanceCache KieCaches = instanceCacheManager
.getOrCreate(REGISTRY_APP_ID, key, DefinitionConst.VERSION_RULE_LATEST);
- List<CacheEndpoint> CacheEndpoints = new ArrayList<>();
+ List<CacheEndpoint> CacheEndpoints;
if (REGISTRY_SERVICE_NAME.equals(key)) {
CacheEndpoints = KieCaches.getOrCreateTransportMap().get(defaultTransport);
maxRetryTimes = CacheEndpoints.size();
diff --git a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/AbstractSwaggerGenerator.java b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/AbstractSwaggerGenerator.java
index b1f4d5c8f..fe82fd9c9 100644
--- a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/AbstractSwaggerGenerator.java
+++ b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/AbstractSwaggerGenerator.java
@@ -207,16 +207,11 @@ public abstract class AbstractSwaggerGenerator implements SwaggerGenerator {
return;
}
- if (cls.isInterface()) {// && !isInterfaceReactive(cls)) {
+ if (cls.isInterface()) {
info.setVendorExtension(SwaggerConst.EXT_JAVA_INTF, cls.getName());
return;
}
-// if (cls.getInterfaces().length > 0) {
-// info.setVendorExtension(SwaggerConst.EXT_JAVA_INTF, cls.getInterfaces()[0].getName());
-// return;
-// }
-
if (StringUtils.isEmpty(swaggerGeneratorFeature.getPackageName())) {
return;
}
@@ -225,23 +220,6 @@ public abstract class AbstractSwaggerGenerator implements SwaggerGenerator {
info.setVendorExtension(SwaggerConst.EXT_JAVA_INTF, intfName);
}
-// /**
-// * to avoid old invocation bug.
-// * @param interfaceCls
-// * @return
-// */
-// private boolean isInterfaceReactive(Class<?> interfaceCls) {
-// for (Method method : interfaceCls.getDeclaredMethods()) {
-// if (isSkipMethod(method)) {
-// continue;
-// }
-// if (CompletableFuture.class.isAssignableFrom(method.getReturnType())) {
-// return true;
-// }
-// }
-// return false;
-// }
-
@Override
public void replaceMethodWhiteList(String... methodNames) {
methodWhiteList.clear();
diff --git a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/consumer/ConsumerBeanParamMapper.java b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/consumer/ConsumerBeanParamMapper.java
index d374a320c..ae5468ce5 100644
--- a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/consumer/ConsumerBeanParamMapper.java
+++ b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/consumer/ConsumerBeanParamMapper.java
@@ -35,7 +35,7 @@ import org.apache.servicecomb.swagger.invocation.SwaggerInvocation;
* </pre>
*/
public final class ConsumerBeanParamMapper extends ConsumerArgumentMapper {
- private class FieldMeta {
+ private static class FieldMeta {
String swaggerArgumentName;
Getter<Object, Object> getter;
diff --git a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/ProducerBeanParamMapper.java b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/ProducerBeanParamMapper.java
index 3131d5eca..66075af17 100644
--- a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/ProducerBeanParamMapper.java
+++ b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/ProducerBeanParamMapper.java
@@ -25,7 +25,7 @@ import org.apache.servicecomb.foundation.common.utils.bean.Setter;
import org.apache.servicecomb.swagger.invocation.SwaggerInvocation;
public class ProducerBeanParamMapper extends ProducerArgumentMapper {
- private class FieldMeta {
+ private static class FieldMeta {
String swaggerParameterName;
Setter<Object, Object> setter;
diff --git a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/codec/ArgWrapperJavaType.java b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/codec/ArgWrapperJavaType.java
index 2eafd06b9..d61353d83 100644
--- a/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/codec/ArgWrapperJavaType.java
+++ b/swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/producer/codec/ArgWrapperJavaType.java
@@ -37,7 +37,7 @@ import io.swagger.util.Json;
public class ArgWrapperJavaType extends SimpleType {
private static final long serialVersionUID = 964882360361204479L;
- class ArgInfo {
+ static class ArgInfo {
JavaType javaType;
JsonDeserializer<Object> deserializer;
diff --git a/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClientConnection.java b/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClientConnection.java
index 27200fde6..40524fb98 100644
--- a/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClientConnection.java
+++ b/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClientConnection.java
@@ -58,7 +58,7 @@ public class HighwayClientConnection extends TcpClientConnection {
@Override
protected boolean onLoginResponse(Buffer bodyBuffer) {
try {
- LoginResponse response = LoginResponse.readObject(bodyBuffer);
+ LoginResponse.readObject(bodyBuffer);
return true;
} catch (Throwable e) {
LOGGER.error("decode login response failed.", e);
diff --git a/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletUtils.java b/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletUtils.java
index e134ca5b9..29cf057da 100644
--- a/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletUtils.java
+++ b/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletUtils.java
@@ -69,7 +69,7 @@ public class ServletUtils {
}
int idx = urlPattern.indexOf("/*");
- if (idx < 0 || (idx >= 0 && idx != urlPattern.length() - 2)) {
+ if (idx < 0 || idx != urlPattern.length() - 2) {
throw new ServiceCombException("only support rule like /* or /path/* or /path1/path2/* and so on.");
}
}