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

duanzhengqiang 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 45b14398c7a Add JsonConfiguration (#30175)
45b14398c7a is described below

commit 45b14398c7a7731f5292a00190aa9bc500f3a6e8
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Feb 18 17:38:01 2024 +0800

    Add JsonConfiguration (#30175)
---
 .../apache/shardingsphere/infra/util/json}/JsonConfiguration.java  | 2 +-
 .../java/org/apache/shardingsphere/infra/util/json/JsonUtils.java  | 2 +-
 .../data/pipeline/opengauss/ingest/wal/decode/MppTableData.java    | 3 ++-
 .../proxy/backend/distsql/export/ExportedClusterInfo.java          | 3 ++-
 .../proxy/backend/distsql/export/ExportedStorageNode.java          | 3 ++-
 .../proxy/backend/distsql/export/ExportedStorageNodes.java         | 7 ++-----
 .../handler/distsql/ral/queryable/ExportStorageNodesExecutor.java  | 7 +++++--
 .../shardingsphere/test/e2e/agent/common/util/OkHttpUtils.java     | 3 ++-
 .../test/e2e/agent/metrics/result/MetricsMetaDataResult.java       | 2 +-
 .../test/e2e/agent/metrics/result/MetricsQueryResult.java          | 2 +-
 .../test/e2e/agent/jaeger/result/JaegerTraceResult.java            | 2 +-
 .../shardingsphere/test/e2e/agent/jaeger/result/TraceResults.java  | 3 ++-
 12 files changed, 22 insertions(+), 17 deletions(-)

diff --git 
a/test/e2e/agent/plugins/common/src/test/java/org/apache/shardingsphere/test/e2e/agent/common/result/JsonConfiguration.java
 
b/infra/util/src/main/java/org/apache/shardingsphere/infra/util/json/JsonConfiguration.java
similarity index 93%
rename from 
test/e2e/agent/plugins/common/src/test/java/org/apache/shardingsphere/test/e2e/agent/common/result/JsonConfiguration.java
rename to 
infra/util/src/main/java/org/apache/shardingsphere/infra/util/json/JsonConfiguration.java
index a50b9ff5b54..d72466e0f3b 100644
--- 
a/test/e2e/agent/plugins/common/src/test/java/org/apache/shardingsphere/test/e2e/agent/common/result/JsonConfiguration.java
+++ 
b/infra/util/src/main/java/org/apache/shardingsphere/infra/util/json/JsonConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.test.e2e.agent.common.result;
+package org.apache.shardingsphere.infra.util.json;
 
 /**
  * JSON configuration.
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 4f45b937672..50e1822bd5a 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
@@ -70,7 +70,7 @@ public final class JsonUtils {
      * @return object
      */
     @SneakyThrows(JsonProcessingException.class)
-    public static <T> T fromJsonString(final String value, final Class<T> 
clazz) {
+    public static <T extends JsonConfiguration> T fromJsonString(final String 
value, final Class<T> clazz) {
         return MAPPER.readValue(value, clazz);
     }
     
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 0e5ec3717a3..4aa6ed5c427 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
@@ -20,13 +20,14 @@ package 
org.apache.shardingsphere.data.pipeline.opengauss.ingest.wal.decode;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
 import lombok.Setter;
+import org.apache.shardingsphere.infra.util.json.JsonConfiguration;
 
 /**
  * Mppdb decoding json related class.
  */
 @Setter
 @Getter
-public final class MppTableData {
+public final class MppTableData implements JsonConfiguration {
     
     @JsonProperty("table_name")
     private String tableName;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/export/ExportedClusterInfo.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/export/ExportedClusterInfo.java
index 3b0e761aa8d..77bab726c7c 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/export/ExportedClusterInfo.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/export/ExportedClusterInfo.java
@@ -20,13 +20,14 @@ package 
org.apache.shardingsphere.proxy.backend.distsql.export;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
 import lombok.Setter;
+import org.apache.shardingsphere.infra.util.json.JsonConfiguration;
 
 /**
  * Exported cluster info.
  */
 @Getter
 @Setter
-public class ExportedClusterInfo {
+public final class ExportedClusterInfo implements JsonConfiguration {
     
     @JsonProperty("meta_data")
     private ExportedMetaData metaData;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/export/ExportedStorageNode.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/export/ExportedStorageNode.java
index c8d9f1c2628..127baf7ecea 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/export/ExportedStorageNode.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/export/ExportedStorageNode.java
@@ -21,6 +21,7 @@ import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
+import org.apache.shardingsphere.infra.util.json.JsonConfiguration;
 
 /**
  * Exported storage node.
@@ -29,7 +30,7 @@ import lombok.Setter;
 @NoArgsConstructor
 @Getter
 @Setter
-public final class ExportedStorageNode {
+public final class ExportedStorageNode implements JsonConfiguration {
     
     private String ip;
     
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/export/ExportedStorageNodes.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/export/ExportedStorageNodes.java
index 495b9d10b0b..1880cde30e1 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/export/ExportedStorageNodes.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/distsql/export/ExportedStorageNodes.java
@@ -18,10 +18,9 @@
 package org.apache.shardingsphere.proxy.backend.distsql.export;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.AllArgsConstructor;
 import lombok.Getter;
-import lombok.NoArgsConstructor;
 import lombok.Setter;
+import org.apache.shardingsphere.infra.util.json.JsonConfiguration;
 
 import java.util.Collection;
 import java.util.Map;
@@ -29,11 +28,9 @@ import java.util.Map;
 /**
  * Exported storage nodes.
  */
-@AllArgsConstructor
-@NoArgsConstructor
 @Getter
 @Setter
-public final class ExportedStorageNodes {
+public final class ExportedStorageNodes implements JsonConfiguration {
     
     @JsonProperty("storage_nodes")
     private Map<String, Collection<ExportedStorageNode>> storageNodes;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportStorageNodesExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportStorageNodesExecutor.java
index 673bb369ced..a04e2d45b8d 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportStorageNodesExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportStorageNodesExecutor.java
@@ -70,8 +70,11 @@ public final class ExportStorageNodesExecutor implements 
DistSQLQueryExecutor<Ex
     }
     
     private String generateExportData(final ShardingSphereMetaData metaData, 
final ExportStorageNodesStatement sqlStatement) {
-        return JsonUtils.toJsonString(new ExportedStorageNodes(null == 
sqlStatement.getDatabaseName() ? getAllStorageNodes(metaData)
-                : 
generateDatabaseExportStorageNodesData(metaData.getDatabase(sqlStatement.getDatabaseName()))));
+        ExportedStorageNodes storageNodes = new ExportedStorageNodes();
+        storageNodes.setStorageNodes(null == sqlStatement.getDatabaseName()
+                ? getAllStorageNodes(metaData)
+                : 
generateDatabaseExportStorageNodesData(metaData.getDatabase(sqlStatement.getDatabaseName())));
+        return JsonUtils.toJsonString(storageNodes);
     }
     
     private Map<String, Collection<ExportedStorageNode>> 
getAllStorageNodes(final ShardingSphereMetaData metaData) {
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 335a3f3cab1..54ee478d4b6 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
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.test.e2e.agent.common.util;
 import okhttp3.OkHttpClient;
 import okhttp3.Request;
 import okhttp3.Response;
+import org.apache.shardingsphere.infra.util.json.JsonConfiguration;
 import org.apache.shardingsphere.infra.util.json.JsonUtils;
 
 import java.io.IOException;
@@ -62,7 +63,7 @@ public final class OkHttpUtils {
      * @return type parameter class bean
      * @throws IOException IO exception
      */
-    public <T> T get(final String url, final Class<T> clazz) throws 
IOException {
+    public <T extends JsonConfiguration> T get(final String url, final 
Class<T> clazz) throws IOException {
         return JsonUtils.fromJsonString(get(url), clazz);
     }
     
diff --git 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsMetaDataResult.java
 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsMetaDataResult.java
index d2016ec3e65..26e05a4e073 100644
--- 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsMetaDataResult.java
+++ 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsMetaDataResult.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.test.e2e.agent.metrics.result;
 
 import lombok.Getter;
 import lombok.Setter;
-import 
org.apache.shardingsphere.test.e2e.agent.common.result.JsonConfiguration;
+import org.apache.shardingsphere.infra.util.json.JsonConfiguration;
 
 import java.util.List;
 import java.util.Map;
diff --git 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsQueryResult.java
 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsQueryResult.java
index 1dc5b95fd08..ea5ce72d5d4 100644
--- 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsQueryResult.java
+++ 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsQueryResult.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.test.e2e.agent.metrics.result;
 
 import lombok.Getter;
 import lombok.Setter;
-import 
org.apache.shardingsphere.test.e2e.agent.common.result.JsonConfiguration;
+import org.apache.shardingsphere.infra.util.json.JsonConfiguration;
 
 import java.util.List;
 import java.util.Map;
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 21c2625abf0..b822eb75217 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
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.test.e2e.agent.jaeger.result;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
 import lombok.Setter;
-import 
org.apache.shardingsphere.test.e2e.agent.common.result.JsonConfiguration;
+import org.apache.shardingsphere.infra.util.json.JsonConfiguration;
 
 import java.util.List;
 
diff --git 
a/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/TraceResults.java
 
b/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/TraceResults.java
index 6a944922f8e..fae94adc46c 100644
--- 
a/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/TraceResults.java
+++ 
b/test/e2e/agent/plugins/tracing/jaeger/src/test/java/org/apache/shardingsphere/test/e2e/agent/jaeger/result/TraceResults.java
@@ -19,12 +19,13 @@ package 
org.apache.shardingsphere.test.e2e.agent.jaeger.result;
 
 import lombok.Getter;
 import lombok.Setter;
+import org.apache.shardingsphere.infra.util.json.JsonConfiguration;
 
 import java.util.Collection;
 
 @Getter
 @Setter
-public final class TraceResults {
+public final class TraceResults implements JsonConfiguration {
     
     private Collection<TraceResult> data;
 }

Reply via email to