This is an automated email from the ASF dual-hosted git repository.
chenjiahao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 2fb40e3a5a8 Replace the use of Gson with Jackson (#28263)
2fb40e3a5a8 is described below
commit 2fb40e3a5a86b1537b43c91e066e4ab387684be3
Author: Raigor <[email protected]>
AuthorDate: Sat Aug 26 15:30:03 2023 +0800
Replace the use of Gson with Jackson (#28263)
* Replace the use of Gson with Jackson
* optimized naming in JsonUtils.
---
.../shardingsphere/infra/util/json/JsonUtils.java | 32 ++++++++++++++++------
.../opengauss/ingest/wal/decode/MppTableData.java | 2 +-
.../ingest/wal/decode/MppdbDecodingPlugin.java | 2 +-
.../migration/api/impl/MigrationJobAPI.java | 3 +-
.../cluster/consul/lock/ConsulDistributedLock.java | 11 +++-----
.../ral/queryable/ShowComputeNodeModeExecutor.java | 4 +--
.../ral/updatable/ImportMetaDataUpdater.java | 2 +-
.../distsql/rul/sql/ParseDistSQLExecutor.java | 4 +--
.../distsql/rul/sql/ParseDistSQLExecutorTest.java | 7 ++---
test/e2e/agent/plugins/common/pom.xml | 5 ++--
.../test/e2e/agent/common/util/OkHttpUtils.java | 18 ++----------
.../test/e2e/agent/jaeger/asserts/SpanAssert.java | 8 ++----
.../e2e/agent/jaeger/result/JaegerTraceResult.java | 10 +++----
.../test/e2e/agent/jaeger/result/SpanResult.java | 6 ++--
.../test/e2e/agent/jaeger/result/TraceResult.java | 4 +--
.../test/e2e/agent/zipkin/asserts/SpanAssert.java | 8 +++---
16 files changed, 60 insertions(+), 66 deletions(-)
diff --git
a/infra/util/src/main/java/org/apache/shardingsphere/infra/util/json/JsonUtils.java
b/infra/util/src/main/java/org/apache/shardingsphere/infra/util/json/JsonUtils.java
index c230a869349..4f45b937672 100644
---
a/infra/util/src/main/java/org/apache/shardingsphere/infra/util/json/JsonUtils.java
+++
b/infra/util/src/main/java/org/apache/shardingsphere/infra/util/json/JsonUtils.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.infra.util.json;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
@@ -50,26 +51,39 @@ public final class JsonUtils {
}
/**
- * Parse data to json string.
+ * Serialize object as json string.
*
- * @param data data
+ * @param obj object
* @return json string
*/
@SneakyThrows(JsonProcessingException.class)
- public static String toJsonString(final Object data) {
- return MAPPER.writeValueAsString(data);
+ public static String toJsonString(final Object obj) {
+ return MAPPER.writeValueAsString(obj);
}
/**
- * Deserialize to Object from json string.
+ * Deserialize from json string to object.
*
* @param value json string
- * @param clazz target Object
- * @param <T> the type of return Object data
- * @return target Object data
+ * @param clazz target object type
+ * @param <T> the type of target object
+ * @return object
*/
@SneakyThrows(JsonProcessingException.class)
- public static <T> T readValue(final String value, final Class<T> clazz) {
+ public static <T> T fromJsonString(final String value, final Class<T>
clazz) {
return MAPPER.readValue(value, clazz);
}
+
+ /**
+ * Deserialize from json string to object.
+ *
+ * @param value json string
+ * @param typeReference target object type reference
+ * @param <T> the type of target object
+ * @return object
+ */
+ @SneakyThrows(JsonProcessingException.class)
+ public static <T> T fromJsonString(final String value, final
TypeReference<T> typeReference) {
+ return MAPPER.readValue(value, typeReference);
+ }
}
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/decode/MppTableData.java
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/decode/MppTableData.java
index 9743cd785c4..0e5ec3717a3 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/decode/MppTableData.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/decode/MppTableData.java
@@ -22,7 +22,7 @@ import lombok.Getter;
import lombok.Setter;
/**
- * Mppdb decoding Gson related class.
+ * Mppdb decoding json related class.
*/
@Setter
@Getter
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/decode/MppdbDecodingPlugin.java
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/decode/MppdbDecodingPlugin.java
index b33f2b2e733..8203f1245c5 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/decode/MppdbDecodingPlugin.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/decode/MppdbDecodingPlugin.java
@@ -96,7 +96,7 @@ public final class MppdbDecodingPlugin implements
DecodingPlugin {
private AbstractRowEvent readTableEvent(final String mppData) {
MppTableData mppTableData;
- mppTableData = JsonUtils.readValue(mppData, MppTableData.class);
+ mppTableData = JsonUtils.fromJsonString(mppData, MppTableData.class);
AbstractRowEvent result;
String rowEventType = mppTableData.getOpType();
switch (rowEventType) {
diff --git
a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/impl/MigrationJobAPI.java
b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/impl/MigrationJobAPI.java
index 134ca33febc..b91a8ea0af7 100644
---
a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/impl/MigrationJobAPI.java
+++
b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/impl/MigrationJobAPI.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.data.pipeline.scenario.migration.api.impl;
-import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;
import
org.apache.shardingsphere.data.pipeline.api.config.TableNameSchemaNameMapping;
@@ -491,7 +490,7 @@ public final class MigrationJobAPI extends
AbstractInventoryIncrementalJobAPIImp
props.add(getStandardProperty(standardProps, "minPoolSize"));
props.add(getStandardProperty(standardProps, "readOnly"));
Map<String, Object> otherProps =
value.getCustomProperties().getProperties();
- props.add(otherProps.isEmpty() ? "" : new
Gson().toJson(otherProps));
+ props.add(otherProps.isEmpty() ? "" :
JsonUtils.toJsonString(otherProps));
result.add(props);
}
return result;
diff --git
a/mode/type/cluster/repository/provider/consul/src/main/java/org/apache/shardingsphere/mode/repository/cluster/consul/lock/ConsulDistributedLock.java
b/mode/type/cluster/repository/provider/consul/src/main/java/org/apache/shardingsphere/mode/repository/cluster/consul/lock/ConsulDistributedLock.java
index 0c7c76c505b..18c43de83aa 100644
---
a/mode/type/cluster/repository/provider/consul/src/main/java/org/apache/shardingsphere/mode/repository/cluster/consul/lock/ConsulDistributedLock.java
+++
b/mode/type/cluster/repository/provider/consul/src/main/java/org/apache/shardingsphere/mode/repository/cluster/consul/lock/ConsulDistributedLock.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.mode.repository.cluster.consul.lock;
import com.ecwid.consul.ConsulException;
-import com.ecwid.consul.json.GsonFactory;
import com.ecwid.consul.transport.RawResponse;
import com.ecwid.consul.v1.ConsulClient;
import com.ecwid.consul.v1.OperationException;
@@ -28,8 +27,9 @@ import com.ecwid.consul.v1.kv.model.GetValue;
import com.ecwid.consul.v1.kv.model.PutParams;
import com.ecwid.consul.v1.session.model.NewSession;
import com.ecwid.consul.v1.session.model.Session.Behavior;
+import com.fasterxml.jackson.core.type.TypeReference;
import com.google.common.base.Strings;
-import com.google.common.reflect.TypeToken;
+import org.apache.shardingsphere.infra.util.json.JsonUtils;
import
org.apache.shardingsphere.mode.repository.cluster.consul.ShardingSphereConsulClient;
import
org.apache.shardingsphere.mode.repository.cluster.consul.ShardingSphereQueryParams;
import
org.apache.shardingsphere.mode.repository.cluster.consul.props.ConsulProperties;
@@ -135,11 +135,8 @@ public final class ConsulDistributedLock implements
DistributedLock {
private Response<GetValue> getResponse(final RawResponse rawResponse) {
if (200 == rawResponse.getStatusCode()) {
- List<GetValue> value =
GsonFactory.getGson().fromJson(rawResponse.getContent(), new
TypeToken<List<GetValue>>() {
-
- private static final long serialVersionUID =
-5065504617907914417L;
-
- }.getType());
+ List<GetValue> value =
JsonUtils.fromJsonString(rawResponse.getContent(), new
TypeReference<List<GetValue>>() {
+ });
if (value.isEmpty()) {
return new Response<>(null, rawResponse);
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeExecutor.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeExecutor.java
index eb8521c9e90..9d1cae30ad0 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeExecutor.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeExecutor.java
@@ -17,12 +17,12 @@
package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
-import com.google.gson.Gson;
import
org.apache.shardingsphere.distsql.handler.ral.query.InstanceContextRequiredQueryableRALExecutor;
import
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowComputeNodeModeStatement;
import
org.apache.shardingsphere.infra.config.mode.PersistRepositoryConfiguration;
import org.apache.shardingsphere.infra.instance.InstanceContext;
import
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
+import org.apache.shardingsphere.infra.util.json.JsonUtils;
import java.util.Arrays;
import java.util.Collection;
@@ -43,7 +43,7 @@ public final class ShowComputeNodeModeExecutor implements
InstanceContextRequire
PersistRepositoryConfiguration repositoryConfig =
instanceContext.getModeConfiguration().getRepository();
String modeType = instanceContext.getModeConfiguration().getType();
String repositoryType = null == repositoryConfig ? "" :
repositoryConfig.getType();
- String props = null == repositoryConfig || null ==
repositoryConfig.getProps() || repositoryConfig.getProps().isEmpty() ? "" : new
Gson().toJson(repositoryConfig.getProps());
+ String props = null == repositoryConfig || null ==
repositoryConfig.getProps() || repositoryConfig.getProps().isEmpty() ? "" :
JsonUtils.toJsonString(repositoryConfig.getProps());
return Collections.singleton(new LocalDataQueryResultRow(modeType,
repositoryType, props));
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataUpdater.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataUpdater.java
index 372605e1b7e..30370d3eda8 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataUpdater.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataUpdater.java
@@ -61,7 +61,7 @@ public final class ImportMetaDataUpdater implements
RALUpdater<ImportMetaDataSta
} else {
jsonMetaDataConfig = new
String(Base64.decodeBase64(sqlStatement.getMetaDataValue()));
}
- ExportedClusterInfo exportedClusterInfo =
JsonUtils.readValue(jsonMetaDataConfig, ExportedClusterInfo.class);
+ ExportedClusterInfo exportedClusterInfo =
JsonUtils.fromJsonString(jsonMetaDataConfig, ExportedClusterInfo.class);
ExportedMetaData exportedMetaData = exportedClusterInfo.getMetaData();
importServerConfig(exportedMetaData);
importDatabase(exportedMetaData);
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/ParseDistSQLExecutor.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/ParseDistSQLExecutor.java
index cb43bb893f8..bf8b86b200d 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/ParseDistSQLExecutor.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/ParseDistSQLExecutor.java
@@ -17,10 +17,10 @@
package org.apache.shardingsphere.proxy.backend.handler.distsql.rul.sql;
-import com.google.gson.Gson;
import
org.apache.shardingsphere.distsql.parser.statement.rul.sql.ParseStatement;
import
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
+import org.apache.shardingsphere.infra.util.json.JsonUtils;
import org.apache.shardingsphere.parser.rule.SQLParserRule;
import
org.apache.shardingsphere.proxy.backend.handler.distsql.rul.executor.ConnectionSessionRequiredRULExecutor;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
@@ -43,7 +43,7 @@ public final class ParseDistSQLExecutor implements
ConnectionSessionRequiredRULE
@Override
public Collection<LocalDataQueryResultRow> getRows(final
ShardingSphereMetaData metaData, final ConnectionSession connectionSession,
final ParseStatement sqlStatement) {
SQLStatement parsedSqlStatement = parseSQL(metaData,
connectionSession, sqlStatement);
- return Collections.singleton(new
LocalDataQueryResultRow(parsedSqlStatement.getClass().getSimpleName(), new
Gson().toJson(parsedSqlStatement)));
+ return Collections.singleton(new
LocalDataQueryResultRow(parsedSqlStatement.getClass().getSimpleName(),
JsonUtils.toJsonString(parsedSqlStatement)));
}
private SQLStatement parseSQL(final ShardingSphereMetaData metaData, final
ConnectionSession connectionSession, final ParseStatement sqlStatement) {
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/ParseDistSQLExecutorTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/ParseDistSQLExecutorTest.java
index 78d072e5934..a0b52f7342b 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/ParseDistSQLExecutorTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/ParseDistSQLExecutorTest.java
@@ -17,13 +17,12 @@
package org.apache.shardingsphere.proxy.backend.handler.distsql.rul.sql;
-import com.google.gson.Gson;
-import com.google.gson.JsonParser;
import
org.apache.shardingsphere.distsql.parser.statement.rul.sql.FormatStatement;
import
org.apache.shardingsphere.distsql.parser.statement.rul.sql.ParseStatement;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
+import org.apache.shardingsphere.infra.util.json.JsonUtils;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.parser.rule.SQLParserRule;
import
org.apache.shardingsphere.parser.rule.builder.DefaultSQLParserRuleConfigurationBuilder;
@@ -78,7 +77,7 @@ class ParseDistSQLExecutorTest {
handler.next();
SQLStatement statement =
sqlParserRule.getSQLParserEngine(TypedSPILoader.getService(DatabaseType.class,
"MySQL")).parse(sql, false);
assertThat(new
LinkedList<>(handler.getRowData().getData()).getFirst(),
is("MySQLSelectStatement"));
- assertThat(JsonParser.parseString(new
LinkedList<>(handler.getRowData().getData()).getLast().toString()),
is(JsonParser.parseString(new Gson().toJson(statement))));
+ assertThat(new
LinkedList<>(handler.getRowData().getData()).getLast().toString(),
is(JsonUtils.toJsonString(statement)));
}
@Test
@@ -90,7 +89,7 @@ class ParseDistSQLExecutorTest {
handler.execute();
handler.next();
SQLStatement statement =
sqlParserRule.getSQLParserEngine(TypedSPILoader.getService(DatabaseType.class,
"PostgreSQL")).parse(sql, false);
- assertThat(JsonParser.parseString(new
LinkedList<>(handler.getRowData().getData()).getLast().toString()),
is(JsonParser.parseString(new Gson().toJson(statement))));
+ assertThat(new
LinkedList<>(handler.getRowData().getData()).getLast().toString(),
is(JsonUtils.toJsonString(statement)));
}
@Test
diff --git a/test/e2e/agent/plugins/common/pom.xml
b/test/e2e/agent/plugins/common/pom.xml
index 82b024c85a7..1a8f74e9a0c 100644
--- a/test/e2e/agent/plugins/common/pom.xml
+++ b/test/e2e/agent/plugins/common/pom.xml
@@ -32,8 +32,9 @@
<dependencies>
<dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-util</artifactId>
+ <version>${project.version}</version>
</dependency>
<dependency>
diff --git
a/test/e2e/agent/plugins/common/src/test/java/org/apache/shardingsphere/test/e2e/agent/common/util/OkHttpUtils.java
b/test/e2e/agent/plugins/common/src/test/java/org/apache/shardingsphere/test/e2e/agent/common/util/OkHttpUtils.java
index bd0886f1e97..335a3f3cab1 100644
---
a/test/e2e/agent/plugins/common/src/test/java/org/apache/shardingsphere/test/e2e/agent/common/util/OkHttpUtils.java
+++
b/test/e2e/agent/plugins/common/src/test/java/org/apache/shardingsphere/test/e2e/agent/common/util/OkHttpUtils.java
@@ -17,10 +17,10 @@
package org.apache.shardingsphere.test.e2e.agent.common.util;
-import com.google.gson.Gson;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
+import org.apache.shardingsphere.infra.util.json.JsonUtils;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
@@ -34,8 +34,6 @@ public final class OkHttpUtils {
private static final OkHttpUtils OK_HTTP_UTILS = new OkHttpUtils();
- private static final Gson GSON = new Gson();
-
private final OkHttpClient client;
private OkHttpUtils() {
@@ -65,7 +63,7 @@ public final class OkHttpUtils {
* @throws IOException IO exception
*/
public <T> T get(final String url, final Class<T> clazz) throws
IOException {
- return GSON.fromJson(get(url), clazz);
+ return JsonUtils.fromJsonString(get(url), clazz);
}
/**
@@ -81,16 +79,4 @@ public final class OkHttpUtils {
assertNotNull(response.body());
return response.body().string();
}
-
- /**
- * Get response.
- *
- * @param url url
- * @return response
- * @throws IOException IO exception
- */
- public Response getResponse(final String url) throws IOException {
- Request request = new Request.Builder().url(url).build();
- return client.newCall(request).execute();
- }
}
diff --git
a/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/asserts/SpanAssert.java
b/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/asserts/SpanAssert.java
index 6fb4891370e..669c26699c9 100644
---
a/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/asserts/SpanAssert.java
+++
b/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/asserts/SpanAssert.java
@@ -18,10 +18,9 @@
package org.apache.shardingsphere.test.e2e.agent.jaeger.asserts;
import com.google.common.collect.ImmutableMap;
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
+import org.apache.shardingsphere.infra.util.json.JsonUtils;
import org.apache.shardingsphere.test.e2e.agent.common.util.OkHttpUtils;
import org.apache.shardingsphere.test.e2e.agent.jaeger.cases.SpanTestCase;
import org.apache.shardingsphere.test.e2e.agent.jaeger.cases.TagAssertion;
@@ -73,7 +72,7 @@ public final class SpanAssert {
private static void assertTagValue(final String baseUrl, final
SpanTestCase expected, final TagAssertion expectedTagCase) {
String urlWithParameter =
String.format("%s/api/traces?service=%s&operation=%s&tags=%s&limit=%s",
baseUrl, getEncodeValue(expected.getServiceName()),
- getEncodeValue(expected.getSpanName()), getEncodeValue(new
Gson().toJson(ImmutableMap.of(expectedTagCase.getTagKey(),
expectedTagCase.getTagValue()))), 1000);
+ getEncodeValue(expected.getSpanName()),
getEncodeValue(JsonUtils.toJsonString(ImmutableMap.of(expectedTagCase.getTagKey(),
expectedTagCase.getTagValue()))), 1000);
Collection<TraceResult> traceResults =
getTraceResults(urlWithParameter);
assertFalse(traceResults.isEmpty(), String.format("The tag `%s`=`%s`
does not exist in `%s` span", expectedTagCase.getTagKey(),
expectedTagCase.getTagValue(), expected.getSpanName()));
}
@@ -85,8 +84,7 @@ public final class SpanAssert {
@SneakyThrows(IOException.class)
private static Collection<TraceResult> getTraceResults(final String url) {
- TraceResults result = new
Gson().fromJson(OkHttpUtils.getInstance().get(url), new
TypeToken<TraceResults>() {
- }.getType());
+ TraceResults result =
JsonUtils.fromJsonString(OkHttpUtils.getInstance().get(url),
TraceResults.class);
assertNotNull(result);
return result.getData();
}
diff --git
a/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/JaegerTraceResult.java
b/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/JaegerTraceResult.java
index f8d6f6323ea..21c2625abf0 100644
---
a/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/JaegerTraceResult.java
+++
b/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/JaegerTraceResult.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.test.e2e.agent.jaeger.result;
-import com.google.gson.annotations.SerializedName;
+import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import
org.apache.shardingsphere.test.e2e.agent.common.result.JsonConfiguration;
@@ -45,7 +45,7 @@ public final class JaegerTraceResult implements
JsonConfiguration {
@Setter
public static final class JaegerTraceResultData {
- @SerializedName("traceID")
+ @JsonProperty("traceID")
private String traceId;
private List<Object> spans;
@@ -59,10 +59,10 @@ public final class JaegerTraceResult implements
JsonConfiguration {
@Setter
public static final class Span {
- @SerializedName("traceID")
+ @JsonProperty("traceID")
private String traceId;
- @SerializedName("spanID")
+ @JsonProperty("spanID")
private String spanId;
private int flags;
@@ -79,7 +79,7 @@ public final class JaegerTraceResult implements
JsonConfiguration {
private List<String> logs;
- @SerializedName("processID")
+ @JsonProperty("processID")
private String processId;
private String warnings;
diff --git
a/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/SpanResult.java
b/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/SpanResult.java
index c5dce6d9e00..099a8d84e5c 100644
---
a/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/SpanResult.java
+++
b/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/SpanResult.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.test.e2e.agent.jaeger.result;
-import com.google.gson.annotations.SerializedName;
+import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
@@ -27,10 +27,10 @@ import java.util.Collection;
@Setter
public final class SpanResult {
- @SerializedName("traceID")
+ @JsonProperty("traceID")
private String traceId;
- @SerializedName("spanID")
+ @JsonProperty("spanID")
private String spanId;
private String operationName;
diff --git
a/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/TraceResult.java
b/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/TraceResult.java
index 9108d6ee82f..ecf56585724 100644
---
a/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/TraceResult.java
+++
b/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/TraceResult.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.test.e2e.agent.jaeger.result;
-import com.google.gson.annotations.SerializedName;
+import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
@@ -27,7 +27,7 @@ import java.util.Collection;
@Setter
public final class TraceResult {
- @SerializedName("traceID")
+ @JsonProperty("traceID")
private String traceId;
private Collection<SpanResult> spans;
diff --git
a/test/e2e/agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/test/e2e/agent/zipkin/asserts/SpanAssert.java
b/test/e2e/agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/test/e2e/agent/zipkin/asserts/SpanAssert.java
index df835994561..cdade204e63 100644
---
a/test/e2e/agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/test/e2e/agent/zipkin/asserts/SpanAssert.java
+++
b/test/e2e/agent/plugins/tracing/zipkin/src/test/java/org/apache/shardingsphere/test/e2e/agent/zipkin/asserts/SpanAssert.java
@@ -17,9 +17,9 @@
package org.apache.shardingsphere.test.e2e.agent.zipkin.asserts;
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
+import com.fasterxml.jackson.core.type.TypeReference;
import lombok.SneakyThrows;
+import org.apache.shardingsphere.infra.util.json.JsonUtils;
import org.apache.shardingsphere.test.e2e.agent.common.util.OkHttpUtils;
import org.apache.shardingsphere.test.e2e.agent.zipkin.cases.SpanTestCase;
import org.apache.shardingsphere.test.e2e.agent.zipkin.cases.TagAssertion;
@@ -77,8 +77,8 @@ public final class SpanAssert {
@SneakyThrows(IOException.class)
private static Collection<SpanResult> getSpanResults(final SpanTestCase
expected, final String url) {
- List<List<SpanResult>> result = new
Gson().fromJson(OkHttpUtils.getInstance().get(url), new
TypeToken<List<List<SpanResult>>>() {
- }.getType());
+ List<List<SpanResult>> result =
JsonUtils.fromJsonString(OkHttpUtils.getInstance().get(url), new
TypeReference<List<List<SpanResult>>>() {
+ });
assertNotNull(result);
return
result.stream().findFirst().orElse(Collections.emptyList()).stream()
.filter(each ->
expected.getSpanName().equalsIgnoreCase(each.getName())).collect(Collectors.toList());