You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by sh...@apache.org on 2022/09/19 14:13:35 UTC

[rocketmq-eventbridge] branch develop updated: prepare to release 1.0.0 (#33)

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

shenlin pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq-eventbridge.git


The following commit(s) were added to refs/heads/develop by this push:
     new e00b30b  prepare to release 1.0.0 (#33)
e00b30b is described below

commit e00b30b34bd8dfd7a5ccddc17ce1df9229230fa5
Author: shenlin <20...@gmail.com>
AuthorDate: Mon Sep 19 22:13:30 2022 +0800

    prepare to release 1.0.0 (#33)
    
    prepare to release 1.0.0
---
 .gitignore                                         |   2 +
 .../mybatis/converter/ApiDestinationConverter.java |  13 +-
 .../mybatis/converter/ConnectConverter.java        |  22 +--
 .../apache/rocketmq/eventbridge/tools/NetUtil.java |   4 -
 .../rocketmq/eventbridge/tools/TokenUtil.java      |   4 -
 .../tools/pattern/FilterPatternTool.java           |   2 +-
 .../tools/transform/DeleteFieldTransform.java      |   3 -
 .../eventbridge/tools/transform/Extract.java       |   2 -
 .../tools/transform/InsertFieldTransform.java      |  17 +-
 .../tools/transform/JsonPathExtract.java           |   8 +-
 .../tools/transform/JsonPathTransform.java         |   2 +-
 .../tools/transform/OriginalTransform.java         |   2 +-
 .../tools/transform/StringSubstitutorTemplate.java |   3 -
 .../tools/transform/TemplateTransform.java         |   3 +-
 .../tools/transform/UpdateFieldTransform.java      |  17 +-
 .../domain/model/connection/ConnectionService.java |   8 +-
 pom.xml                                            | 180 ++++++++++++++++++---
 17 files changed, 212 insertions(+), 80 deletions(-)

diff --git a/.gitignore b/.gitignore
index 89cb037..088abd7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,6 +12,8 @@ devenv
 !LICENSE-BIN
 .DS_Store
 *.class
+target/
+adapter/target/
 adapter/api/target/
 adapter/persistence/target/
 adapter/rpc/target/
diff --git a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/converter/ApiDestinationConverter.java b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/converter/ApiDestinationConverter.java
index abe2c13..a2a50d5 100644
--- a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/converter/ApiDestinationConverter.java
+++ b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/converter/ApiDestinationConverter.java
@@ -17,16 +17,15 @@
 
 package org.apache.rocketmq.eventbridge.adapter.persistence.apidestination.mybatis.converter;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import com.google.gson.Gson;
 import org.apache.rocketmq.eventbridge.adapter.persistence.apidestination.mybatis.dataobject.ApiDestinationDO;
 import org.apache.rocketmq.eventbridge.domain.model.apidestination.ApiDestinationDTO;
 import org.apache.rocketmq.eventbridge.domain.model.apidestination.parameter.HttpApiParameters;
 import org.springframework.beans.BeanUtils;
 
-import java.util.List;
-import java.util.stream.Collectors;
-
 public class ApiDestinationConverter {
 
     public static ApiDestinationDO dtoConverterDo(ApiDestinationDTO apiDestinationDTO) {
@@ -35,7 +34,7 @@ public class ApiDestinationConverter {
         }
         ApiDestinationDO apiDestinationDO = new ApiDestinationDO();
         BeanUtils.copyProperties(apiDestinationDTO, apiDestinationDO);
-        apiDestinationDO.setApiParams(JSON.toJSONString(apiDestinationDTO.getApiParams()));
+        apiDestinationDO.setApiParams(new Gson().toJson(apiDestinationDTO.getApiParams()));
         return apiDestinationDO;
     }
 
@@ -45,7 +44,7 @@ public class ApiDestinationConverter {
         }
         ApiDestinationDTO apiDestinationDTO = new ApiDestinationDTO();
         BeanUtils.copyProperties(apiDestinationDO, apiDestinationDTO);
-        apiDestinationDTO.setApiParams(JSONObject.parseObject(apiDestinationDO.getApiParams(), HttpApiParameters.class));
+        apiDestinationDTO.setApiParams(new Gson().fromJson(apiDestinationDO.getApiParams(), HttpApiParameters.class));
         return apiDestinationDTO;
     }
 
diff --git a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/converter/ConnectConverter.java b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/converter/ConnectConverter.java
index 683422b..5eca675 100644
--- a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/converter/ConnectConverter.java
+++ b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/converter/ConnectConverter.java
@@ -17,8 +17,7 @@
 
 package org.apache.rocketmq.eventbridge.adapter.persistence.connect.mybatis.converter;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
+import com.google.gson.Gson;
 import org.apache.rocketmq.eventbridge.adapter.persistence.connect.mybatis.dataobject.ConnectionDO;
 import org.apache.rocketmq.eventbridge.domain.model.connection.parameter.AuthParameters;
 import org.apache.rocketmq.eventbridge.domain.model.connection.ConnectionDTO;
@@ -36,8 +35,9 @@ public class ConnectConverter {
         ConnectionDTO connectionDTO = new ConnectionDTO();
         connectionDTO.setConnectionName(connectionDO.getName());
         connectionDTO.setDescription(connectionDO.getDescription());
-        connectionDTO.setAuthParameters(JSONObject.parseObject(connectionDO.getAuthParameters(), AuthParameters.class));
-        connectionDTO.setNetworkParameters(JSONObject.parseObject(connectionDO.getNetworkParameters(), NetworkParameters.class));
+        connectionDTO.setAuthParameters(new Gson().fromJson(connectionDO.getAuthParameters(), AuthParameters.class));
+        connectionDTO.setNetworkParameters(
+            new Gson().fromJson(connectionDO.getNetworkParameters(), NetworkParameters.class));
         return connectionDTO;
     }
 
@@ -47,16 +47,20 @@ public class ConnectConverter {
         }
         ConnectionDO connectionDO = new ConnectionDO();
         connectionDO.setAccountId(connectionDTO.getAccountId());
-        connectionDO.setAuthorizationType(connectionDTO.getAuthParameters().getAuthorizationType());
+        connectionDO.setAuthorizationType(connectionDTO.getAuthParameters()
+            .getAuthorizationType());
         connectionDO.setName(connectionDTO.getConnectionName());
-        connectionDO.setNetworkParameters(JSON.toJSONString(connectionDTO.getNetworkParameters()));
+        connectionDO.setNetworkParameters(new Gson().toJson(connectionDTO.getNetworkParameters()));
         connectionDO.setDescription(connectionDTO.getDescription());
-        connectionDO.setNetworkType(connectionDTO.getNetworkParameters().getNetworkType());
-        connectionDO.setAuthParameters(JSONObject.toJSONString(connectionDTO.getAuthParameters()));
+        connectionDO.setNetworkType(connectionDTO.getNetworkParameters()
+            .getNetworkType());
+        connectionDO.setAuthParameters(new Gson().toJson(connectionDTO.getAuthParameters()));
         return connectionDO;
     }
 
     public static List<ConnectionDTO> doListConvertDtoList(List<ConnectionDO> connectionDOS) {
-        return connectionDOS.stream().map(ConnectConverter::doConvertDto).collect(Collectors.toList());
+        return connectionDOS.stream()
+            .map(ConnectConverter::doConvertDto)
+            .collect(Collectors.toList());
     }
 }
diff --git a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/NetUtil.java b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/NetUtil.java
index 41bf466..02a2213 100644
--- a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/NetUtil.java
+++ b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/NetUtil.java
@@ -23,10 +23,6 @@ import java.net.Inet4Address;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 
-/**
- * @Author changfeng
- * @Date 2022/4/25 11:21 上午
- */
 public class NetUtil {
     public static boolean isIpv4(String ip) {
         ip = ip.trim();
diff --git a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/TokenUtil.java b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/TokenUtil.java
index 7a27fdf..72fd683 100644
--- a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/TokenUtil.java
+++ b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/TokenUtil.java
@@ -19,10 +19,6 @@ package org.apache.rocketmq.eventbridge.tools;
 
 import java.util.UUID;
 
-/**
- * @Author changfeng
- * @Date 2022/5/9 5:15 下午
- */
 public class TokenUtil {
     /**
      * Generate the token of the http source.
diff --git a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/pattern/FilterPatternTool.java b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/pattern/FilterPatternTool.java
index 46e1d14..a24aa5b 100644
--- a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/pattern/FilterPatternTool.java
+++ b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/pattern/FilterPatternTool.java
@@ -24,7 +24,7 @@ import static org.apache.rocketmq.eventbridge.exception.code.FiltterPatternError
 
 public abstract class FilterPatternTool {
 
-    public static void checkFilterPattern(String filterPattern){
+    public static void checkFilterPattern(String filterPattern) {
         if (Strings.isNullOrEmpty(filterPattern)) {
             throw new EventBridgeException(EventRuleFilterPatternEmpty);
         }
diff --git a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/DeleteFieldTransform.java b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/DeleteFieldTransform.java
index cf95456..d1ddd5a 100644
--- a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/DeleteFieldTransform.java
+++ b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/DeleteFieldTransform.java
@@ -18,10 +18,8 @@
 package org.apache.rocketmq.eventbridge.tools.transform;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 import com.google.gson.Gson;
 import com.google.gson.JsonElement;
@@ -45,7 +43,6 @@ public class DeleteFieldTransform implements Transform {
         Map<String, Object> dataMap = new Gson().fromJson(inputData.toString(), new TypeToken<Map<String, Object>>(){}.getType());
         for (String field : fieldList) {
             String[] dataList = field.split("\\.");
-            System.out.println("dataList is " + Arrays.stream(dataList).collect(Collectors.toList()));
             Map<String, Object> tempMap = dataMap;
             for (int i = 1; i < dataList.length - 1; i++) {
                 Object temp = tempMap.get(dataList[i]);
diff --git a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/Extract.java b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/Extract.java
index 69bf29b..7cdc466 100644
--- a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/Extract.java
+++ b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/Extract.java
@@ -20,8 +20,6 @@ package org.apache.rocketmq.eventbridge.tools.transform;
 import java.util.List;
 
 import org.apache.rocketmq.eventbridge.exception.EventBridgeException;
-import org.apache.rocketmq.eventbridge.tools.transform.Data;
-import org.apache.rocketmq.eventbridge.tools.transform.Variable;
 
 public interface Extract {
     /**
diff --git a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/InsertFieldTransform.java b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/InsertFieldTransform.java
index c8edd30..9c56ecf 100644
--- a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/InsertFieldTransform.java
+++ b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/InsertFieldTransform.java
@@ -35,26 +35,29 @@ public class InsertFieldTransform implements Transform {
     public InsertFieldTransform(String extractJsonList) throws EventBridgeException {
         JsonElement jsonElement = JsonUtil.parseJsonElement(extractJsonList);
         for (JsonElement element : jsonElement.getAsJsonArray()) {
-            fieldList.add(new Variable(element.getAsJsonObject().getAsJsonPrimitive(
-                TransformFieldEnum.FIELD).getAsString(),
-                    element.getAsJsonObject().getAsJsonPrimitive(TransformFieldEnum.VALUE)));
+            fieldList.add(new Variable(element.getAsJsonObject()
+                .getAsJsonPrimitive(TransformFieldEnum.FIELD)
+                .getAsString(), element.getAsJsonObject()
+                .getAsJsonPrimitive(TransformFieldEnum.VALUE)));
         }
     }
 
     @Override
     public Data process(Data inputData) throws EventBridgeException {
-        Map<String, Object> dataMap = new Gson().fromJson(inputData.toString(), new TypeToken<Map<String, Object>>(){}.getType());
+        Map<String, Object> dataMap = new Gson().fromJson(inputData.toString(),
+            new TypeToken<Map<String, Object>>() {}.getType());
         for (Variable v : fieldList) {
-            String[] dataList = v.getName().split("\\.");
+            String[] dataList = v.getName()
+                .split("\\.");
             Map<String, Object> tempMap = dataMap;
             for (int i = 1; i < dataList.length - 1; i++) {
                 Object temp = tempMap.get(dataList[i]);
                 if (!(temp instanceof Map)) {
                     throw new EventBridgeException(TransformErrorCode.InvalidConfig);
                 }
-                tempMap = (Map<String, Object>) temp;
+                tempMap = (Map<String, Object>)temp;
             }
-            tempMap.put(dataList[dataList.length - 1], ((JsonPrimitive) v.getValue()).getAsString());
+            tempMap.put(dataList[dataList.length - 1], ((JsonPrimitive)v.getValue()).getAsString());
         }
         String jsonString = JSONObject.toJSONString(dataMap);
         return new StringData(jsonString);
diff --git a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/JsonPathExtract.java b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/JsonPathExtract.java
index c7b0a86..1138dfe 100644
--- a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/JsonPathExtract.java
+++ b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/JsonPathExtract.java
@@ -29,10 +29,10 @@ import org.apache.rocketmq.eventbridge.exception.EventBridgeException;
 import static org.apache.rocketmq.eventbridge.tools.transform.Transform.DEFAULT_VALUE_NAME;
 
 /**
- * ALL:[{"name":"SYS_DEFAULT","valueFromJsonPath":"$"}]
- * JSON_PATH:[{"name":"SYS_DEFAULT","valueFromJsonPath":"$.data.template"}]
- * CONSTANT:[{"name":"SYS_DEFAULT","value":"I am a constant value!"}]
- * TEMPLATE:[
+ * ALL:[{"name":"SYS_DEFAULT","valueFromJsonPath":"$"}]
+ * JSON_PATH:[{"name":"SYS_DEFAULT","valueFromJsonPath":"$.data.template"}]
+ * CONSTANT:[{"name":"SYS_DEFAULT","value":"I am a constant value!"}]
+ * TEMPLATE:[
  * {"name":"k1","valueFromJsonPath":"$.data.v1"},
  * {"name":"k2","valueFromJsonPath":"$.data.v2"}
  * ]
diff --git a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/JsonPathTransform.java b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/JsonPathTransform.java
index e17aa7a..9b02a78 100644
--- a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/JsonPathTransform.java
+++ b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/JsonPathTransform.java
@@ -25,7 +25,7 @@ public class JsonPathTransform implements Transform {
 
     /**
      * The extact expr
-     * e.g:"{"id":"$.id","name":"$.data.name"}"
+     * e.g:"{"id":"$.id","name":"$.data.name"}"
      */
     private Extract jsonPathExtract;
 
diff --git a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/OriginalTransform.java b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/OriginalTransform.java
index b644517..ac769e0 100644
--- a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/OriginalTransform.java
+++ b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/OriginalTransform.java
@@ -20,7 +20,7 @@ package org.apache.rocketmq.eventbridge.tools.transform;
 public class OriginalTransform implements Transform {
 
     @Override
-    public Data process(Data inputData){
+    public Data process(Data inputData) {
         return inputData;
     }
 }
diff --git a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/StringSubstitutorTemplate.java b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/StringSubstitutorTemplate.java
index 3bf371e..3671ba9 100644
--- a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/StringSubstitutorTemplate.java
+++ b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/StringSubstitutorTemplate.java
@@ -64,7 +64,6 @@ public class StringSubstitutorTemplate implements Template {
         log.debug("template: " + outputTemplate);
 
         List<Map.Entry<String, JsonElement>> jsonTemplateEntryList = getAndCheckEmbedObject();
-        // 如果template中包含EB_SYS_EMBED_OBJECT,则判断Data中该EB_SYS_EMBED_OBJECT对应的数据是否为json,如果是则进行替换并打平
         if (jsonTemplateEntryList.size() > 0) {
             for (Map.Entry<String, JsonElement> entry : jsonTemplateEntryList) {
                 String key = removeVariableMark(entry.getValue().getAsJsonObject().get(EB_SYS_EMBED_OBJECT).getAsString());
@@ -93,8 +92,6 @@ public class StringSubstitutorTemplate implements Template {
             return jsonTemplateEntryList;
         }
         JsonElement jsonElement = JsonParser.parseString(outputTemplate);
-        // 遍历template,如果有Entry<String, JsonElement>中的JsonElement包含EB_SYS_EMBED_OBJECT,
-        // 就将这个entry保存起来,以便后面替换
         Deque<Map.Entry<String, JsonElement>> deque = new ArrayDeque<>(jsonElement.getAsJsonObject().entrySet());
         while (!deque.isEmpty()) {
             Map.Entry<String, JsonElement> elementEntry = deque.pop();
diff --git a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/TemplateTransform.java b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/TemplateTransform.java
index ee125c4..7bb5652 100644
--- a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/TemplateTransform.java
+++ b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/TemplateTransform.java
@@ -25,7 +25,7 @@ public class TemplateTransform implements Transform {
 
     /**
      * The extact expr
-     * e.g:"{"id":"$.id","name":"$.data.name"}"
+     * e.g:"{"id":"$.id","name":"$.data.name"}"
      */
     private Extract jsonPathExtract;
 
@@ -39,7 +39,6 @@ public class TemplateTransform implements Transform {
         this.template = template;
     }
 
-
     @Override
     public Data process(Data inputData) throws EventBridgeException {
         List<Variable> variableList = extract(inputData, jsonPathExtract);
diff --git a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/UpdateFieldTransform.java b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/UpdateFieldTransform.java
index ead7742..dc308f3 100644
--- a/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/UpdateFieldTransform.java
+++ b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/transform/UpdateFieldTransform.java
@@ -35,30 +35,33 @@ public class UpdateFieldTransform implements Transform {
     public UpdateFieldTransform(String extractJsonList) throws EventBridgeException {
         JsonElement jsonElement = JsonUtil.parseJsonElement(extractJsonList);
         for (JsonElement element : jsonElement.getAsJsonArray()) {
-            fieldList.add(new Variable(element.getAsJsonObject().getAsJsonPrimitive(
-                TransformFieldEnum.FIELD).getAsString(),
-                    element.getAsJsonObject().getAsJsonPrimitive(TransformFieldEnum.VALUE)));
+            fieldList.add(new Variable(element.getAsJsonObject()
+                .getAsJsonPrimitive(TransformFieldEnum.FIELD)
+                .getAsString(), element.getAsJsonObject()
+                .getAsJsonPrimitive(TransformFieldEnum.VALUE)));
 
         }
     }
 
     @Override
     public Data process(Data inputData) throws EventBridgeException {
-        Map<String, Object> dataMap = new Gson().fromJson(inputData.toString(), new TypeToken<Map<String, Object>>(){}.getType());
+        Map<String, Object> dataMap = new Gson().fromJson(inputData.toString(),
+            new TypeToken<Map<String, Object>>() {}.getType());
         for (Variable v : fieldList) {
-            String[] dataList = v.getName().split("\\.");
+            String[] dataList = v.getName()
+                .split("\\.");
             Map<String, Object> tempMap = dataMap;
             for (int i = 1; i < dataList.length - 1; i++) {
                 Object temp = tempMap.get(dataList[i]);
                 if (!(temp instanceof Map)) {
                     throw new EventBridgeException(TransformErrorCode.InvalidConfig);
                 }
-                tempMap = (Map<String, Object>) temp;
+                tempMap = (Map<String, Object>)temp;
             }
             if (tempMap.get(dataList[dataList.length - 1]) == null) {
                 throw new EventBridgeException(TransformErrorCode.InvalidConfig);
             }
-            tempMap.put(dataList[dataList.length - 1], ((JsonPrimitive) v.getValue()).getAsString());
+            tempMap.put(dataList[dataList.length - 1], ((JsonPrimitive)v.getValue()).getAsString());
         }
         String jsonString = JSONObject.toJSONString(dataMap);
         return new StringData(jsonString);
diff --git a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
index 079260c..e5d5f8b 100644
--- a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
+++ b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
@@ -17,8 +17,8 @@
 
 package org.apache.rocketmq.eventbridge.domain.model.connection;
 
-import com.alibaba.fastjson.JSON;
 import com.google.common.collect.Maps;
+import com.google.gson.Gson;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.rocketmq.eventbridge.domain.common.EventBridgeConstants;
 import org.apache.rocketmq.eventbridge.domain.common.enums.NetworkTypeEnum;
@@ -171,14 +171,14 @@ public class ConnectionService extends AbstractResourceService {
             Map<String, String> basicAuthParametersMap = Maps.newHashMap();
             basicAuthParametersMap.put("username", basicAuthParameters.getUsername());
             basicAuthParametersMap.put("password", basicAuthParameters.getPassword());
-            secretManagerAPI.createSecretName(accountId, connectionName, JSON.toJSONString(basicAuthParametersMap));
+            secretManagerAPI.createSecretName(accountId, connectionName, new Gson().toJson(basicAuthParametersMap));
             return authParameters;
         }
         if (apiKeyAuthParameters != null) {
             Map<String, String> apiKeyAuthParametersMap = Maps.newHashMap();
             apiKeyAuthParametersMap.put("apiKeyName", apiKeyAuthParameters.getApiKeyName());
             apiKeyAuthParametersMap.put("apiKeyValue", apiKeyAuthParameters.getApiKeyValue());
-            secretManagerAPI.createSecretName(accountId, connectionName, JSON.toJSONString(apiKeyAuthParametersMap));
+            secretManagerAPI.createSecretName(accountId, connectionName, new Gson().toJson(apiKeyAuthParametersMap));
             return authParameters;
         }
         return authParameters;
@@ -222,7 +222,7 @@ public class ConnectionService extends AbstractResourceService {
         Map<String, String> queryStringParameterMap = Maps.newHashMap();
         queryStringParameterMap.put("oauthHttpParameterKey", key);
         queryStringParameterMap.put("oauthHttpParameterValue", value);
-        return secretManagerAPI.createSecretName(accountId, connectionName, JSON.toJSONString(queryStringParameterMap));
+        return secretManagerAPI.createSecretName(accountId, connectionName, new Gson().toJson(queryStringParameterMap));
     }
 
     private void checkNetworkType(String type) {
diff --git a/pom.xml b/pom.xml
index 3650c28..bebffb2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,12 +12,62 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
 
+    <parent>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>18</version>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rocketmq</groupId>
     <artifactId>rocketmq-eventbridge</artifactId>
     <packaging>pom</packaging>
     <version>1.0.0-SNAPSHOT</version>
+    <name>Apache RocketMQ EventBridge ${project.version}</name>
+    <url>https://github.com/apache/rocketmq-eventbridge</url>
+
+    <scm>
+        <url>git@github.com:apache/rocketmq-eventbridge.git</url>
+        <connection>scm:git:git@github.com:apache/rocketmq-eventbridge.git</connection>
+        <developerConnection>scm:git:git@github.com:apache/rocketmq-eventbridge.git</developerConnection>
+        <tag>HEAD</tag>
+    </scm>
+
+    <mailingLists>
+        <mailingList>
+            <name>Development List</name>
+            <subscribe>dev-subscribe@rocketmq.apache.org</subscribe>
+            <unsubscribe>dev-unsubscribe@rocketmq.apache.org</unsubscribe>
+            <post>dev@rocketmq.apache.org</post>
+        </mailingList>
+        <mailingList>
+            <name>User List</name>
+            <subscribe>users-subscribe@rocketmq.apache.org</subscribe>
+            <unsubscribe>users-unsubscribe@rocketmq.apache.org</unsubscribe>
+            <post>users@rocketmq.apache.org</post>
+        </mailingList>
+        <mailingList>
+            <name>Commits List</name>
+            <subscribe>commits-subscribe@rocketmq.apache.org</subscribe>
+            <unsubscribe>commits-unsubscribe@rocketmq.apache.org</unsubscribe>
+            <post>commits@rocketmq.apache.org</post>
+        </mailingList>
+    </mailingLists>
+
+    <organization>
+        <name>Apache Software Foundation</name>
+        <url>http://www.apache.org</url>
+    </organization>
+
+    <licenses>
+        <license>
+            <name>Apache License, Version 2.0</name>
+            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+            <distribution>repo</distribution>
+            <comments>A business-friendly OSS license</comments>
+        </license>
+    </licenses>
 
     <properties>
         <maven.compiler.source>1.8</maven.compiler.source>
@@ -42,7 +92,10 @@
         <mockito.version>2.13.0</mockito.version>
         <caffeine.version>2.9.3</caffeine.version>
         <fastjson.version>2.0.2</fastjson.version>
+        <jacoco-maven-plugin.version>0.8.5</jacoco-maven-plugin.version>
+        <maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version>
     </properties>
+
     <modules>
         <module>start</module>
         <module>adapter</module>
@@ -277,26 +330,111 @@
                     </execution>
                 </executions>
             </plugin>
-<!--            <plugin>-->
-<!--                <artifactId>maven-checkstyle-plugin</artifactId>-->
-<!--                <version>2.17</version>-->
-<!--                <executions>-->
-<!--                    <execution>-->
-<!--                        <id>verify</id>-->
-<!--                        <phase>verify</phase>-->
-<!--                        <configuration>-->
-<!--                            <configLocation>style/rmq_checkstyle.xml</configLocation>-->
-<!--                            <encoding>UTF-8</encoding>-->
-<!--                            <consoleOutput>true</consoleOutput>-->
-<!--                            <failsOnError>true</failsOnError>-->
-<!--                            <includeTestSourceDirectory>false</includeTestSourceDirectory>-->
-<!--                        </configuration>-->
-<!--                        <goals>-->
-<!--                            <goal>check</goal>-->
-<!--                        </goals>-->
-<!--                    </execution>-->
-<!--                </executions>-->
-<!--            </plugin>-->
+            <plugin>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <version>2.17</version>
+                <executions>
+                    <execution>
+                        <id>verify</id>
+                        <phase>verify</phase>
+                        <configuration>
+                            <configLocation>style/rmq_checkstyle.xml</configLocation>
+                            <encoding>UTF-8</encoding>
+                            <consoleOutput>true</consoleOutput>
+                            <failsOnError>true</failsOnError>
+                            <includeTestSourceDirectory>false</includeTestSourceDirectory>
+                        </configuration>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <version>${jacoco-maven-plugin.version}</version>
+                <executions>
+                    <execution>
+                        <id>default-prepare-agent</id>
+                        <goals>
+                            <goal>prepare-agent</goal>
+                        </goals>
+                        <configuration>
+                            <destFile>${project.build.directory}/jacoco.exec</destFile>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>report</id>
+                        <phase>test</phase>
+                        <goals>
+                            <goal>report</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>default-prepare-agent-integration</id>
+                        <phase>pre-integration-test</phase>
+                        <goals>
+                            <goal>prepare-agent-integration</goal>
+                        </goals>
+                        <configuration>
+                            <destFile>${project.build.directory}/jacoco-it.exec</destFile>
+                            <propertyName>failsafeArgLine</propertyName>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>default-report</id>
+                        <goals>
+                            <goal>report</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>default-report-integration</id>
+                        <goals>
+                            <goal>report-integration</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>${maven-surefire-plugin.version}</version>
+                <configuration>
+                    <skipAfterFailureCount>1</skipAfterFailureCount>
+                    <forkCount>1</forkCount>
+                    <reuseForks>true</reuseForks>
+                    <excludes>
+                        <exclude>**/IT*.java</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.sonarsource.scanner.maven</groupId>
+                <artifactId>sonar-maven-plugin</artifactId>
+                <version>3.0.2</version>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.rat</groupId>
+                <artifactId>apache-rat-plugin</artifactId>
+                <version>0.12</version>
+                <configuration>
+                    <excludes>
+                        <exclude>.gitignore</exclude>
+                        <exclude>.travis.yml</exclude>
+                        <exclude>CONTRIBUTING.md</exclude>
+                        <exclude>**/README.md</exclude>
+                        <exclude>**/README_zh_CN.md</exclude>
+                        <exclude>.github/**</exclude>
+                        <exclude>src/test/resources/certs/*</exclude>
+                        <exclude>src/test/**/*.log</exclude>
+                        <exclude>src/test/resources/META-INF/service/*</exclude>
+                        <exclude>**/target/**</exclude>
+                        <exclude>*/*.iml</exclude>
+                        <exclude>**/*/spring.factories</exclude>
+                        <exclude>**/application.properties</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 </project>