You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by sh...@apache.org on 2022/06/30 11:42:55 UTC
[servicecomb-java-chassis] branch master updated: [SCB-2626] make spotbugs check integrations (#3163)
This is an automated email from the ASF dual-hosted git repository.
shoothzj 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 42d3dfe30 [SCB-2626] make spotbugs check integrations (#3163)
42d3dfe30 is described below
commit 42d3dfe301e3d4903b670484129ffbff6b000f2e
Author: TingTing Wang <19...@qq.com>
AuthorDate: Thu Jun 30 19:42:50 2022 +0800
[SCB-2626] make spotbugs check integrations (#3163)
---
.github/workflows/spotbugs.yml | 2 +-
ci/spotbugs/exclude.xml | 79 ++++++++++++++++++++--
.../demo/filter/retry/TestRetrySchema.java | 6 +-
.../client/beanParam/BeanParamPojoClient.java | 7 +-
.../beanParam/BeanParamRestTemplateClient.java | 7 +-
.../demo/jaxrs/server/CodeFirstJaxrs.java | 10 +--
.../servicecomb/demo/jaxrs/server/ComputeImpl.java | 9 +--
.../LocalRegistryServerTest.java | 2 -
.../pojo/client/TestNotRecommendedService.java | 3 +-
.../demo/pojo/server/CodeFirstPojo.java | 6 +-
.../demo/springmvc/client/TestRetrySchema.java | 6 +-
.../demo/springmvc/server/CodeFirstSpringmvc.java | 10 +--
.../org/apache/servicecomb/it/CommandReceiver.java | 3 +-
.../apache/servicecomb/it/deploy/NormalDeploy.java | 3 +-
.../servicecomb/it/deploy/SubProcessLogger.java | 3 +-
.../servicecomb/it/testcase/TestDownload.java | 30 ++++----
.../servicecomb/it/schema/DownloadSchema.java | 4 +-
17 files changed, 130 insertions(+), 60 deletions(-)
diff --git a/.github/workflows/spotbugs.yml b/.github/workflows/spotbugs.yml
index a2bc42286..94874222f 100644
--- a/.github/workflows/spotbugs.yml
+++ b/.github/workflows/spotbugs.yml
@@ -35,4 +35,4 @@ jobs:
java-version: '8'
distribution: 'temurin'
- name: spotbugs
- run: mvn -B -DskipTests clean verify spotbugs:spotbugs
+ run: mvn -B -Pit -DskipTests clean verify spotbugs:spotbugs
diff --git a/ci/spotbugs/exclude.xml b/ci/spotbugs/exclude.xml
index 1b33321b7..0bd133211 100644
--- a/ci/spotbugs/exclude.xml
+++ b/ci/spotbugs/exclude.xml
@@ -43,6 +43,30 @@
<Bug pattern="DC_PARTIALLY_CONSTRUCTED"/>
</Match>
+ <Match>
+ <Bug pattern="DM_DEFAULT_ENCODING"/>
+ <Class name="org.apache.servicecomb.demo.jaxrs.server.beanParam.BeanParamTestService"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="DM_DEFAULT_ENCODING"/>
+ <Class name="org.apache.servicecomb.it.deploy.Deploys"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="DM_DEFAULT_ENCODING"/>
+ <Class name="org.apache.servicecomb.it.testcase.TestParamCodecEdge"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="DM_DEFAULT_ENCODING"/>
+ <Class name="org.apache.servicecomb.it.testcase.TestRestServerConfigEdge"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="DM_EXIT"/>
+ </Match>
+
<Match>
<Bug pattern="EC_UNRELATED_TYPES"/>
</Match>
@@ -115,14 +139,41 @@
<Bug pattern="MS_PKGPROTECT"/>
</Match>
+ <Match>
+ <Bug pattern="NM_CLASS_NOT_EXCEPTION"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="NM_METHOD_NAMING_CONVENTION"/>
+ </Match>
+
<Match>
<Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
</Match>
+ <Match>
+ <Bug pattern="NP_NONNULL_PARAM_VIOLATION"/>
+ <Class name="org.apache.servicecomb.it.testcase.objectparams.TestJAXRSObjectParamType"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="NP_NONNULL_PARAM_VIOLATION"/>
+ <Class name="org.apache.servicecomb.it.testcase.objectparams.TestRPCObjectParamType"/>
+ </Match>
+
+ <Match>
+ <Bug pattern="NP_NONNULL_PARAM_VIOLATION"/>
+ <Class name="org.apache.servicecomb.it.testcase.objectparams.TestSpringMVCObjectParamType"/>
+ </Match>
+
<Match>
<Bug pattern="NP_NONNULL_RETURN_VIOLATION"/>
</Match>
+ <Match>
+ <Bug pattern="NP_NULL_ON_SOME_PATH"/>
+ </Match>
+
<Match>
<Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE"/>
</Match>
@@ -143,6 +194,11 @@
<Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/>
</Match>
+ <Match>
+ <Bug pattern="REC_CATCH_EXCEPTION"/>
+ <Class name="org.apache.servicecomb.demo.springmvc.SpringmvcClient"/>
+ </Match>
+
<Match>
<Bug pattern="REFLC_REFLECTION_MAY_INCREASE_ACCESSIBILITY_OF_CLASS"/>
</Match>
@@ -151,10 +207,19 @@
<Bug pattern="RV_NEGATING_RESULT_OF_COMPARETO"/>
</Match>
+ <Match>
+ <Bug pattern="RV_RETURN_VALUE_IGNORED"/>
+ </Match>
+
<Match>
<Bug pattern="SE_BAD_FIELD"/>
</Match>
+ <Match>
+ <Bug pattern="SR_NOT_CHECKED"/>
+ <Class name="org.apache.servicecomb.demo.springmvc.client.ConsumerTestsAfterBootup"/>
+ </Match>
+
<Match>
<Bug pattern="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD"/>
</Match>
@@ -168,31 +233,31 @@
</Match>
<Match>
- <Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"/>
+ <Bug pattern="THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION"/>
</Match>
<Match>
- <Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD"/>
+ <Bug pattern="THROWS_METHOD_THROWS_CLAUSE_THROWABLE"/>
</Match>
<Match>
- <Bug pattern="UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD"/>
+ <Bug pattern="THROWS_METHOD_THROWS_RUNTIMEEXCEPTION"/>
</Match>
<Match>
- <Bug pattern="VA_FORMAT_STRING_USES_NEWLINE"/>
+ <Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"/>
</Match>
<Match>
- <Bug pattern="THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION"/>
+ <Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD"/>
</Match>
<Match>
- <Bug pattern="THROWS_METHOD_THROWS_CLAUSE_THROWABLE"/>
+ <Bug pattern="UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD"/>
</Match>
<Match>
- <Bug pattern="THROWS_METHOD_THROWS_RUNTIMEEXCEPTION"/>
+ <Bug pattern="VA_FORMAT_STRING_USES_NEWLINE"/>
</Match>
</FindBugsFilter>
diff --git a/demo/demo-filter/filter-client/src/main/java/org/apache/servicecomb/demo/filter/retry/TestRetrySchema.java b/demo/demo-filter/filter-client/src/main/java/org/apache/servicecomb/demo/filter/retry/TestRetrySchema.java
index 108774a6e..0ee6a7fc3 100644
--- a/demo/demo-filter/filter-client/src/main/java/org/apache/servicecomb/demo/filter/retry/TestRetrySchema.java
+++ b/demo/demo-filter/filter-client/src/main/java/org/apache/servicecomb/demo/filter/retry/TestRetrySchema.java
@@ -38,7 +38,7 @@ public class TestRetrySchema implements CategorizedTestCase {
RestTemplate restTemplate = RestTemplateBuilder.create();
- final String server = "servicecomb://filterServer";
+ private static final String SERVER = "servicecomb://filterServer";
@Override
public void testAllTransport() throws Exception {
@@ -55,7 +55,7 @@ public class TestRetrySchema implements CategorizedTestCase {
}
private void testRetryGovernanceRestTemplate() {
- TestMgr.check(restTemplate.getForObject(server + "/retry/governance/successWhenRetry", boolean.class), true);
- TestMgr.check(restTemplate.getForObject(server + "/retry/governance/successWhenRetry", boolean.class), true);
+ TestMgr.check(restTemplate.getForObject(SERVER + "/retry/governance/successWhenRetry", boolean.class), true);
+ TestMgr.check(restTemplate.getForObject(SERVER + "/retry/governance/successWhenRetry", boolean.class), true);
}
}
diff --git a/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/beanParam/BeanParamPojoClient.java b/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/beanParam/BeanParamPojoClient.java
index 9e09bc14d..5f3448733 100644
--- a/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/beanParam/BeanParamPojoClient.java
+++ b/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/beanParam/BeanParamPojoClient.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.demo.jaxrs.client.beanParam;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
+import java.nio.charset.StandardCharsets;
import org.apache.servicecomb.demo.CategorizedTestCase;
import org.apache.servicecomb.demo.TestMgr;
@@ -58,9 +59,9 @@ public class BeanParamPojoClient implements CategorizedTestCase {
}
private void testUpload() {
- BufferedInputStream bufferedInputStream0 = new BufferedInputStream(new ByteArrayInputStream("up0".getBytes()));
- BufferedInputStream bufferedInputStream1 = new BufferedInputStream(new ByteArrayInputStream("up1".getBytes()));
- BufferedInputStream bufferedInputStream2 = new BufferedInputStream(new ByteArrayInputStream("up2".getBytes()));
+ BufferedInputStream bufferedInputStream0 = new BufferedInputStream(new ByteArrayInputStream("up0".getBytes(StandardCharsets.UTF_8)));
+ BufferedInputStream bufferedInputStream1 = new BufferedInputStream(new ByteArrayInputStream("up1".getBytes(StandardCharsets.UTF_8)));
+ BufferedInputStream bufferedInputStream2 = new BufferedInputStream(new ByteArrayInputStream("up2".getBytes(StandardCharsets.UTF_8)));
String result = beanParamTestServiceIntf.beanParameterTestUpload(
bufferedInputStream0, "queryTest", bufferedInputStream1, bufferedInputStream2, "ex");
diff --git a/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/beanParam/BeanParamRestTemplateClient.java b/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/beanParam/BeanParamRestTemplateClient.java
index 69c505764..33e8d9f5a 100644
--- a/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/beanParam/BeanParamRestTemplateClient.java
+++ b/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/beanParam/BeanParamRestTemplateClient.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.demo.jaxrs.client.beanParam;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
+import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
@@ -76,9 +77,9 @@ public class BeanParamRestTemplateClient implements CategorizedTestCase {
}
private void testUpload() {
- BufferedInputStream bufferedInputStream0 = new BufferedInputStream(new ByteArrayInputStream("up0".getBytes()));
- BufferedInputStream bufferedInputStream1 = new BufferedInputStream(new ByteArrayInputStream("up1".getBytes()));
- BufferedInputStream bufferedInputStream2 = new BufferedInputStream(new ByteArrayInputStream("up2".getBytes()));
+ BufferedInputStream bufferedInputStream0 = new BufferedInputStream(new ByteArrayInputStream("up0".getBytes(StandardCharsets.UTF_8)));
+ BufferedInputStream bufferedInputStream1 = new BufferedInputStream(new ByteArrayInputStream("up1".getBytes(StandardCharsets.UTF_8)));
+ BufferedInputStream bufferedInputStream2 = new BufferedInputStream(new ByteArrayInputStream("up2".getBytes(StandardCharsets.UTF_8)));
HashMap<String, Object> formData = new HashMap<>();
formData.put("up0", bufferedInputStream0);
diff --git a/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/CodeFirstJaxrs.java b/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/CodeFirstJaxrs.java
index 8db55857c..3fedafd9d 100644
--- a/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/CodeFirstJaxrs.java
+++ b/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/CodeFirstJaxrs.java
@@ -150,7 +150,7 @@ public class CodeFirstJaxrs {
public String testRawJsonString(String jsonInput) {
Map<String, String> person;
try {
- person = RestObjectMapperFactory.getRestObjectMapper().readValue(jsonInput.getBytes(), Map.class);
+ person = RestObjectMapperFactory.getRestObjectMapper().readValue(jsonInput.getBytes(StandardCharsets.UTF_8), Map.class);
} catch (Exception e) {
e.printStackTrace();
return null;
@@ -187,11 +187,11 @@ public class CodeFirstJaxrs {
@DELETE
@Produces(MediaType.TEXT_PLAIN)
public String addString(@QueryParam("s") List<String> s) {
- String result = "";
+ StringBuilder result = new StringBuilder();
for (String x : s) {
- result += x;
+ result.append(x);
}
- return result;
+ return result.toString();
}
@Path("/ignore")
@@ -209,7 +209,7 @@ public class CodeFirstJaxrs {
public String testRawJsonAnnotation(@RawJsonRequestBody String jsonInput) {
Map<String, String> person;
try {
- person = RestObjectMapperFactory.getRestObjectMapper().readValue(jsonInput.getBytes(), Map.class);
+ person = RestObjectMapperFactory.getRestObjectMapper().readValue(jsonInput.getBytes(StandardCharsets.UTF_8), Map.class);
} catch (Exception e) {
e.printStackTrace();
return null;
diff --git a/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/ComputeImpl.java b/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/ComputeImpl.java
index 9797901b0..af5a2774d 100644
--- a/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/ComputeImpl.java
+++ b/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/ComputeImpl.java
@@ -17,6 +17,7 @@
package org.apache.servicecomb.demo.jaxrs.server;
+import java.nio.charset.StandardCharsets;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
@@ -73,7 +74,7 @@ public class ComputeImpl {
public String testRawJsonString(String jsonInput) {
Map<String, String> person;
try {
- person = RestObjectMapperFactory.getRestObjectMapper().readValue(jsonInput.getBytes(), Map.class);
+ person = RestObjectMapperFactory.getRestObjectMapper().readValue(jsonInput.getBytes(StandardCharsets.UTF_8), Map.class);
} catch (Exception e) {
e.printStackTrace();
return null;
@@ -116,10 +117,10 @@ public class ComputeImpl {
@DELETE
@Produces(MediaType.TEXT_PLAIN)
public String addString(@QueryParam("s") String[] s) {
- String result = "";
+ StringBuilder result = new StringBuilder();
for (String x : s) {
- result += x;
+ result.append(x);
}
- return result;
+ return result.toString();
}
}
diff --git a/demo/demo-local-registry/demo-local-registry-client/src/main/java/org/apache/servicecomb/demo/localRegistryClient/LocalRegistryServerTest.java b/demo/demo-local-registry/demo-local-registry-client/src/main/java/org/apache/servicecomb/demo/localRegistryClient/LocalRegistryServerTest.java
index 71886be65..c50508cc0 100644
--- a/demo/demo-local-registry/demo-local-registry-client/src/main/java/org/apache/servicecomb/demo/localRegistryClient/LocalRegistryServerTest.java
+++ b/demo/demo-local-registry/demo-local-registry-client/src/main/java/org/apache/servicecomb/demo/localRegistryClient/LocalRegistryServerTest.java
@@ -39,8 +39,6 @@ public class LocalRegistryServerTest implements CategorizedTestCase {
@RpcReference(microserviceName = "demo-local-registry-server-bean2", schemaId = "CodeFirstEndpoint2")
private CodeFirstService codeFirstServiceBean2;
- RestTemplate template = RestTemplateBuilder.create();
-
@Override
public void testRestTransport() throws Exception {
testServerGetName();
diff --git a/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/TestNotRecommendedService.java b/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/TestNotRecommendedService.java
index b1771fac6..59d9a8f92 100644
--- a/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/TestNotRecommendedService.java
+++ b/demo/demo-pojo/pojo-client/src/main/java/org/apache/servicecomb/demo/pojo/client/TestNotRecommendedService.java
@@ -53,9 +53,10 @@ public class TestNotRecommendedService implements CategorizedTestCase {
data.put(100L, model);
List<AbstractModel> data2 = new ArrayList<>();
+
AbstractModel model2 = new DefaultAbstractModel();
model2.setName("hello");
- data2.add(model);
+ data2.add(model2);
WrappedAbstractModel input = new WrappedAbstractModel();
input.setMapModel(data);
diff --git a/demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/CodeFirstPojo.java b/demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/CodeFirstPojo.java
index 0beb9e6b4..df1111f3c 100644
--- a/demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/CodeFirstPojo.java
+++ b/demo/demo-pojo/pojo-server/src/main/java/org/apache/servicecomb/demo/pojo/server/CodeFirstPojo.java
@@ -140,10 +140,10 @@ public class CodeFirstPojo implements CodeFirstPojoIntf {
}
public String addString(List<String> s) {
- String result = "";
+ StringBuilder result = new StringBuilder();
for (String x : s) {
- result += x;
+ result.append(x);
}
- return result;
+ return result.toString();
}
}
diff --git a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestRetrySchema.java b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestRetrySchema.java
index e103d7036..f6a597a85 100644
--- a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestRetrySchema.java
+++ b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestRetrySchema.java
@@ -38,7 +38,7 @@ public class TestRetrySchema implements CategorizedTestCase {
RestTemplate restTemplate = RestTemplateBuilder.create();
- final String server = "servicecomb://springmvc";
+ private static final String SERVER = "servicecomb://springmvc";
@Override
public void testAllTransport() throws Exception {
@@ -55,7 +55,7 @@ public class TestRetrySchema implements CategorizedTestCase {
}
private void testRetryGovernanceRestTemplate() {
- TestMgr.check(restTemplate.getForObject(server + "/retry/governance/successWhenRetry", boolean.class), true);
- TestMgr.check(restTemplate.getForObject(server + "/retry/governance/successWhenRetry", boolean.class), true);
+ TestMgr.check(restTemplate.getForObject(SERVER + "/retry/governance/successWhenRetry", boolean.class), true);
+ TestMgr.check(restTemplate.getForObject(SERVER + "/retry/governance/successWhenRetry", boolean.class), true);
}
}
diff --git a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/CodeFirstSpringmvc.java b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/CodeFirstSpringmvc.java
index 072ff0d0f..27b809187 100644
--- a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/CodeFirstSpringmvc.java
+++ b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/CodeFirstSpringmvc.java
@@ -240,7 +240,7 @@ public class CodeFirstSpringmvc {
public String testRawJsonString(String jsonInput) {
Map<String, String> person;
try {
- person = RestObjectMapperFactory.getRestObjectMapper().readValue(jsonInput.getBytes(), Map.class);
+ person = RestObjectMapperFactory.getRestObjectMapper().readValue(jsonInput.getBytes(StandardCharsets.UTF_8), Map.class);
} catch (Exception e) {
e.printStackTrace();
return null;
@@ -283,11 +283,11 @@ public class CodeFirstSpringmvc {
@DeleteMapping(path = "/addstring", produces = MediaType.TEXT_PLAIN_VALUE)
public String addString(@RequestParam(name = "s") List<String> s) {
- String result = "";
+ StringBuilder result = new StringBuilder();
for (String x : s) {
- result += x;
+ result.append(x);
}
- return result;
+ return result.toString();
}
// Using 490, 590 error code, the response type should be CommonExceptionData. Or we need
@@ -360,7 +360,7 @@ public class CodeFirstSpringmvc {
public String testRawJsonAnnotation(@RawJsonRequestBody String jsonInput) {
Map<String, String> person;
try {
- person = RestObjectMapperFactory.getRestObjectMapper().readValue(jsonInput.getBytes(), Map.class);
+ person = RestObjectMapperFactory.getRestObjectMapper().readValue(jsonInput.getBytes(StandardCharsets.UTF_8), Map.class);
} catch (Exception e) {
e.printStackTrace();
return null;
diff --git a/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/CommandReceiver.java b/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/CommandReceiver.java
index b145ba6ce..ac6b98465 100644
--- a/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/CommandReceiver.java
+++ b/integration-tests/it-common/src/main/java/org/apache/servicecomb/it/CommandReceiver.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.it;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
import java.util.concurrent.TimeUnit;
import org.apache.servicecomb.core.SCBEngine;
@@ -49,7 +50,7 @@ public class CommandReceiver {
}
private void doRun() throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
+ BufferedReader reader = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8));
String line;
while ((line = reader.readLine()) != null) {
try {
diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/NormalDeploy.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/NormalDeploy.java
index ec2b4677b..9986a035e 100644
--- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/NormalDeploy.java
+++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/NormalDeploy.java
@@ -21,6 +21,7 @@ import java.io.BufferedWriter;
import java.io.File;
import java.io.IOException;
import java.io.OutputStreamWriter;
+import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.List;
@@ -55,7 +56,7 @@ public class NormalDeploy {
this.prevFailCount = ITJUnitUtils.getFailures().size();
LOGGER.info("createProcessBuilder: " + StringUtils.join(cmds, " ") + "\nWorkDir: " + deployDefinition.getWorkDir());
subProcess = createProcessBuilder(cmds).start();
- subProcessCommandWriter = new BufferedWriter(new OutputStreamWriter(subProcess.getOutputStream()));
+ subProcessCommandWriter = new BufferedWriter(new OutputStreamWriter(subProcess.getOutputStream(), StandardCharsets.UTF_8));
subProcessLogger = new SubProcessLogger(deployDefinition.getDisplayName(), subProcess.getInputStream(),
deployDefinition.getStartCompleteLog());
}
diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/SubProcessLogger.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/SubProcessLogger.java
index 420a6ad7c..577fc3ce4 100644
--- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/SubProcessLogger.java
+++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/SubProcessLogger.java
@@ -22,6 +22,7 @@ import java.io.Closeable;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
@@ -50,7 +51,7 @@ public class SubProcessLogger implements Closeable {
this.startCompleteLog = startCompleteLog;
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
- this.reader = new BufferedReader(new InputStreamReader(bufferedInputStream));
+ this.reader = new BufferedReader(new InputStreamReader(bufferedInputStream, StandardCharsets.UTF_8));
thread = new Thread(this::run, "SubProcessLogger-" + displayName);
thread.start();
diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDownload.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDownload.java
index 31136077b..166214961 100644
--- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDownload.java
+++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDownload.java
@@ -42,12 +42,12 @@ import org.springframework.http.ResponseEntity;
import com.google.common.collect.Iterables;
public class TestDownload {
- private File dir = new File("target/download");
+ private final File dir = new File("target/download");
- private static Consumers<DownloadSchemaIntf> consumers = new Consumers<>("download",
+ private static final Consumers<DownloadSchemaIntf> CONSUMERS = new Consumers<>("download",
DownloadSchemaIntf.class);
- private List<CompletableFuture<?>> futures = new ArrayList<>();
+ private final List<CompletableFuture<?>> futures = new ArrayList<>();
private final String content = "file content";
@@ -86,7 +86,7 @@ public class TestDownload {
value = readFileToString(file);
file.delete();
} else if (byte[].class.isInstance(value)) {
- value = new String((byte[]) value);
+ value = new String((byte[]) value, StandardCharsets.UTF_8);
}
Assertions.assertEquals(content, value, getStackTrace(error));
@@ -96,7 +96,7 @@ public class TestDownload {
}
private ReadStreamPart templateGet(String methodPath) {
- return consumers.getSCBRestTemplate()
+ return CONSUMERS.getSCBRestTemplate()
.getForObject("/" + methodPath + "?content={content}",
ReadStreamPart.class,
content);
@@ -106,7 +106,7 @@ public class TestDownload {
HttpHeaders headers = new HttpHeaders();
headers.add("accept", type);
HttpEntity<?> entity = new HttpEntity<>(headers);
- ResponseEntity<ReadStreamPart> response = consumers.getSCBRestTemplate()
+ ResponseEntity<ReadStreamPart> response = CONSUMERS.getSCBRestTemplate()
.exchange("/" + methodPath + "?content={content}",
HttpMethod.GET,
entity,
@@ -117,23 +117,23 @@ public class TestDownload {
@Test
@SuppressWarnings("unchecked")
public void runRest() {
- futures.add(checkFile(consumers.getIntf().tempFileEntity(content)));
+ futures.add(checkFile(CONSUMERS.getIntf().tempFileEntity(content)));
futures.add(checkFuture(templateGet("tempFileEntity").saveAsBytes()));
futures.add(checkFuture(templateExchange("tempFileEntity", MediaType.TEXT_PLAIN_VALUE).saveAsBytes()));
futures.add(checkFuture(templateExchange("tempFileEntity", MediaType.APPLICATION_JSON_VALUE).saveAsBytes()));
- futures.add(checkFile(consumers.getIntf().tempFilePart(content)));
+ futures.add(checkFile(CONSUMERS.getIntf().tempFilePart(content)));
futures.add(checkFuture(templateGet("tempFilePart").saveAsString()));
futures.add(checkFuture(templateExchange("tempFilePart", MediaType.TEXT_PLAIN_VALUE).saveAsString()));
futures.add(checkFuture(templateExchange("tempFilePart", MediaType.APPLICATION_JSON_VALUE).saveAsString()));
- futures.add(checkFile(consumers.getIntf().file(content)));
+ futures.add(checkFile(CONSUMERS.getIntf().file(content)));
futures.add(checkFuture(templateGet("file").saveAsString()));
futures.add(checkFuture(templateExchange("file", MediaType.TEXT_PLAIN_VALUE).saveAsString()));
futures.add(checkFuture(templateExchange("file", MediaType.APPLICATION_JSON_VALUE).saveAsString()));
{
- ReadStreamPart part = consumers.getIntf().chineseAndSpaceFile(content);
+ ReadStreamPart part = CONSUMERS.getIntf().chineseAndSpaceFile(content);
Assertions.assertEquals("测 试.test.txt", part.getSubmittedFileName());
futures.add(checkFile(part));
@@ -150,27 +150,27 @@ public class TestDownload {
futures.add(checkFuture(part3.saveAsString()));
}
- futures.add(checkFile(consumers.getIntf().resource(content)));
+ futures.add(checkFile(CONSUMERS.getIntf().resource(content)));
futures.add(checkFuture(templateGet("resource").saveAsString()));
futures.add(checkFuture(templateExchange("resource", MediaType.TEXT_PLAIN_VALUE).saveAsString()));
futures.add(checkFuture(templateExchange("resource", MediaType.APPLICATION_JSON_VALUE).saveAsString()));
- futures.add(checkFile(consumers.getIntf().entityResource(content)));
+ futures.add(checkFile(CONSUMERS.getIntf().entityResource(content)));
futures.add(checkFuture(templateGet("entityResource").saveAsString()));
futures.add(checkFuture(templateExchange("entityResource", MediaType.TEXT_PLAIN_VALUE).saveAsString()));
futures.add(checkFuture(templateExchange("entityResource", MediaType.APPLICATION_JSON_VALUE).saveAsString()));
- futures.add(checkFile(consumers.getIntf().entityInputStream(content)));
+ futures.add(checkFile(CONSUMERS.getIntf().entityInputStream(content)));
futures.add(checkFuture(templateGet("entityInputStream").saveAsString()));
futures.add(checkFuture(templateExchange("entityInputStream", MediaType.TEXT_PLAIN_VALUE).saveAsString()));
futures.add(checkFuture(templateExchange("entityInputStream", MediaType.APPLICATION_JSON_VALUE).saveAsString()));
- futures.add(checkFile(consumers.getIntf().bytes(content)));
+ futures.add(checkFile(CONSUMERS.getIntf().bytes(content)));
futures.add(checkFuture(templateGet("bytes").saveAsString()));
futures.add(checkFuture(templateExchange("bytes", MediaType.TEXT_PLAIN_VALUE).saveAsString()));
futures.add(checkFuture(templateExchange("bytes", MediaType.APPLICATION_JSON_VALUE).saveAsString()));
- futures.add(checkFile(consumers.getIntf().netInputStream(content)));
+ futures.add(checkFile(CONSUMERS.getIntf().netInputStream(content)));
futures.add(checkFuture(templateGet("netInputStream").saveAsString()));
futures.add(checkFuture(templateExchange("netInputStream", MediaType.TEXT_PLAIN_VALUE).saveAsString()));
futures.add(checkFuture(templateExchange("netInputStream", MediaType.APPLICATION_JSON_VALUE).saveAsString()));
diff --git a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DownloadSchema.java b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DownloadSchema.java
index ad274bbc8..dbbaa44bd 100644
--- a/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DownloadSchema.java
+++ b/integration-tests/it-producer/src/main/java/org/apache/servicecomb/it/schema/DownloadSchema.java
@@ -216,8 +216,8 @@ public class DownloadSchema implements BootListener {
slowInputStreamThread = new Thread(() -> {
Thread.currentThread().setName("download thread");
- byte[] bytes = "1".getBytes();
- for (; ; ) {
+ byte[] bytes = "1".getBytes(StandardCharsets.UTF_8);
+ while (true) {
try {
out.write(bytes);
out.flush();