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

peacewong pushed a commit to branch dev-1.3.2
in repository https://gitbox.apache.org/repos/asf/linkis.git


The following commit(s) were added to refs/heads/dev-1.3.2 by this push:
     new fefd70c1d feat: remove datasource server's scala file, and trim the 
datasource params (#4329)
fefd70c1d is described below

commit fefd70c1d9434d881752209ba9d4aa057308fbaa
Author: Jack Xu <[email protected]>
AuthorDate: Wed Mar 8 12:11:07 2023 +0800

    feat: remove datasource server's scala file, and trim the datasource params 
(#4329)
    
    * feat: remove datasource server's scala file, and trim the datasource 
params
---
 .../linkis-datasource-manager/common/pom.xml       |   9 --
 .../common/domain/DataSource.java                  |   8 +-
 .../common/domain/DataSourceEnv.java               |   7 +-
 .../common/protocol/DsInfoQueryRequest.java        | 123 +++++++++++++++++
 .../common/protocol/DsInfoResponse.java            | 148 +++++++++++++++++++++
 .../datasourcemanager/common/util/CryptoUtils.java |   7 +-
 .../common/protocol/DsmQueryProtocol.scala         |  53 --------
 .../linkis-datasource-manager/server/pom.xml       |   5 -
 .../core/receivers/DsmReceiver.java                | 119 +++++++++++++++++
 .../core/restful/DataSourceCoreRestfulApi.java     |  34 ++---
 .../core/restful/DataSourceOperateRestfulApi.java  |   2 +-
 .../core/restful/RestfulApiHelper.java             |  10 +-
 .../service/impl/MetadataOperateServiceImpl.java   |   4 +-
 .../core/receivers/DsmReceiver.scala               | 130 ------------------
 .../core/restful/DataSourceCoreRestfulApiTest.java |   9 +-
 .../core/service/DataSourceInfoServiceTest.java    |  16 ++-
 .../core/service/MetadataOperateServiceTest.java   |   3 +-
 .../common/protocol/MetadataOperateProtocol.scala  |   2 +-
 .../service/impl/MetadataQueryServiceImpl.java     | 125 ++++++++---------
 19 files changed, 523 insertions(+), 291 deletions(-)

diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/pom.xml
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/pom.xml
index 505959fea..07e770bfb 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/pom.xml
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/pom.xml
@@ -52,13 +52,4 @@
       <artifactId>commons-text</artifactId>
     </dependency>
   </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>net.alchim31.maven</groupId>
-        <artifactId>scala-maven-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </build>
 </project>
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSource.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSource.java
index 3bb998d03..310ce33ae 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSource.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSource.java
@@ -26,7 +26,13 @@ import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Pattern;
 import javax.validation.constraints.Size;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSourceEnv.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSourceEnv.java
index 3bc10c582..4a5846ffd 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSourceEnv.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/domain/DataSourceEnv.java
@@ -25,7 +25,12 @@ import org.apache.commons.lang3.StringUtils;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Size;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/protocol/DsInfoQueryRequest.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/protocol/DsInfoQueryRequest.java
new file mode 100644
index 000000000..f0da05273
--- /dev/null
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/protocol/DsInfoQueryRequest.java
@@ -0,0 +1,123 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.linkis.datasourcemanager.common.protocol;
+
+import org.apache.linkis.protocol.message.RequestProtocol;
+
+import org.apache.commons.lang.StringUtils;
+
+public class DsInfoQueryRequest implements RequestProtocol {
+  private String id;
+  private String name;
+  private String system;
+  private String envId;
+
+  public DsInfoQueryRequest(String id, String name, String system, String 
envId) {
+    this.id = id;
+    this.name = name;
+    this.system = system;
+    this.envId = envId;
+  }
+
+  public DsInfoQueryRequest(String id, String name, String system) {
+    this.id = id;
+    this.name = name;
+    this.system = system;
+  }
+
+  public boolean isValid() {
+    return (StringUtils.isNotBlank(id) || StringUtils.isNotBlank(name))
+        && StringUtils.isNotBlank(system);
+  }
+
+  public String getId() {
+    return id;
+  }
+
+  public String getName() {
+    return name;
+  }
+
+  public String getSystem() {
+    return system;
+  }
+
+  public String getEnvId() {
+    return envId;
+  }
+
+  /**
+   * compatible with scala case class
+   *
+   * @deprecated not recommend
+   * @return id
+   */
+  @Deprecated
+  public String id() {
+    return this.id;
+  }
+
+  /**
+   * compatible with scala case class
+   *
+   * @deprecated not recommend
+   * @return name
+   */
+  @Deprecated
+  public String name() {
+    return this.name;
+  }
+
+  /**
+   * compatible with scala case class
+   *
+   * @deprecated not recommend
+   * @return system
+   */
+  @Deprecated
+  public String system() {
+    return this.system;
+  }
+
+  /**
+   * compatible with scala case class
+   *
+   * @deprecated not recommend
+   * @return envId
+   */
+  @Deprecated
+  public String envId() {
+    return this.envId;
+  }
+
+  public void setId(String id) {
+    this.id = id;
+  }
+
+  public void setName(String name) {
+    this.name = name;
+  }
+
+  public void setSystem(String system) {
+    this.system = system;
+  }
+
+  public void setEnvId(String envId) {
+    this.envId = envId;
+  }
+}
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/protocol/DsInfoResponse.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/protocol/DsInfoResponse.java
new file mode 100644
index 000000000..e4a00f404
--- /dev/null
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/protocol/DsInfoResponse.java
@@ -0,0 +1,148 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.linkis.datasourcemanager.common.protocol;
+
+import org.apache.linkis.protocol.message.RequestProtocol;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class DsInfoResponse implements RequestProtocol {
+  private Boolean status;
+  private String dsType;
+
+  private Map<String, Object> params;
+  private String creator;
+  private String errorMsg;
+
+  public DsInfoResponse() {
+    this(false);
+  }
+
+  public DsInfoResponse(Boolean status) {
+    this(status, "");
+  }
+
+  public DsInfoResponse(Boolean status, String errorMsg) {
+    this(status, "", new HashMap(), "", errorMsg);
+  }
+
+  public DsInfoResponse(
+      Boolean status, String dsType, Map<String, Object> params, String 
creator, String errorMsg) {
+    this.status = status;
+    this.dsType = dsType;
+    this.params = params;
+    this.creator = creator;
+    this.errorMsg = errorMsg;
+  }
+
+  public Boolean getStatus() {
+    return status;
+  }
+
+  /**
+   * compatible with scala case class
+   *
+   * @deprecated not recommend
+   * @return status
+   */
+  @Deprecated
+  public Boolean status() {
+    return status;
+  }
+
+  public void setStatus(Boolean status) {
+    this.status = status;
+  }
+
+  public String getDsType() {
+    return dsType;
+  }
+
+  /**
+   * compatible with scala case class
+   *
+   * @deprecated not recommend
+   * @return dsType
+   */
+  @Deprecated
+  public String dsType() {
+    return dsType;
+  }
+
+  public void setDsType(String dsType) {
+    this.dsType = dsType;
+  }
+
+  public Map<String, Object> getParams() {
+    return params;
+  }
+
+  /**
+   * compatible with scala case class
+   *
+   * @deprecated not recommend
+   * @return params
+   */
+  @Deprecated
+  public Map<String, Object> params() {
+    return params;
+  }
+
+  public void setParams(Map<String, Object> params) {
+    this.params = params;
+  }
+
+  public String getCreator() {
+    return creator;
+  }
+
+  /**
+   * compatible with scala case class
+   *
+   * @deprecated not recommend
+   * @return creator
+   */
+  @Deprecated
+  public String creator() {
+    return creator;
+  }
+
+  public void setCreator(String creator) {
+    this.creator = creator;
+  }
+
+  public String getErrorMsg() {
+    return errorMsg;
+  }
+
+  /**
+   * compatible with scala case class
+   *
+   * @deprecated not recommend
+   * @return errorMsg
+   */
+  @Deprecated
+  public String errorMsg() {
+    return errorMsg;
+  }
+
+  public void setErrorMsg(String errorMsg) {
+    this.errorMsg = errorMsg;
+  }
+}
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/util/CryptoUtils.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/util/CryptoUtils.java
index a6d5386fe..b60e2bd89 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/util/CryptoUtils.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/util/CryptoUtils.java
@@ -20,7 +20,12 @@ package org.apache.linkis.datasourcemanager.common.util;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.lang3.StringUtils;
 
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
 import java.security.MessageDigest;
 
 public class CryptoUtils {
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/scala/org/apache/linkis/datasourcemanager/common/protocol/DsmQueryProtocol.scala
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/scala/org/apache/linkis/datasourcemanager/common/protocol/DsmQueryProtocol.scala
deleted file mode 100644
index 5112726fa..000000000
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/scala/org/apache/linkis/datasourcemanager/common/protocol/DsmQueryProtocol.scala
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.linkis.datasourcemanager.common.protocol
-
-import org.apache.linkis.protocol.message.RequestProtocol
-
-import java.util
-
-/**
- * Store error code map
- */
-trait DsmQueryProtocol extends RequestProtocol {}
-
-/**
- * Query request of Data Source Information
- * @param id
- *   datasource id
- */
-case class DsInfoQueryRequest(id: String, name: String, system: String, envId: 
String = null)
-    extends DsmQueryProtocol {
-
-  def isValid: Boolean = {
-    (Option(id).isDefined || Option(name).isDefined) && 
Option(system).isDefined
-  }
-
-}
-
-/**
- * Response of parameter map
- * @param params
- */
-case class DsInfoResponse(
-    status: Boolean,
-    dsType: String = "",
-    params: util.Map[String, Object] = new util.HashMap[String, Object](),
-    creator: String = "",
-    errorMsg: String = ""
-) extends DsmQueryProtocol
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/pom.xml
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/pom.xml
index 3fcdaea9c..876419156 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/pom.xml
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/pom.xml
@@ -101,11 +101,6 @@
 
   <build>
     <plugins>
-      <plugin>
-        <groupId>net.alchim31.maven</groupId>
-        <artifactId>scala-maven-plugin</artifactId>
-      </plugin>
-
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-assembly-plugin</artifactId>
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/receivers/DsmReceiver.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/receivers/DsmReceiver.java
new file mode 100644
index 000000000..4702ff82d
--- /dev/null
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/receivers/DsmReceiver.java
@@ -0,0 +1,119 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.linkis.datasourcemanager.core.receivers;
+
+import org.apache.linkis.datasourcemanager.common.domain.DataSource;
+import org.apache.linkis.datasourcemanager.common.protocol.DsInfoQueryRequest;
+import org.apache.linkis.datasourcemanager.common.protocol.DsInfoResponse;
+import org.apache.linkis.datasourcemanager.core.restful.RestfulApiHelper;
+import org.apache.linkis.datasourcemanager.core.service.DataSourceInfoService;
+import 
org.apache.linkis.datasourcemanager.core.service.DataSourceRelateService;
+import org.apache.linkis.rpc.message.annotation.Receiver;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.text.MessageFormat;
+import java.util.Objects;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@Component
+public class DsmReceiver {
+  private static final Logger LOG = LoggerFactory.getLogger(DsmReceiver.class);
+
+  @Autowired private DataSourceInfoService dataSourceInfoService;
+
+  @Autowired private DataSourceRelateService dataSourceRelateService;
+
+  @Receiver
+  public DsInfoResponse dealDsInfoQueryRequest(DsInfoQueryRequest 
dsInfoQueryRequest) {
+    if (dsInfoQueryRequest.isValid()) {
+      try {
+        DataSource dataSource = null;
+        if (!Objects.isNull(dsInfoQueryRequest.getName())
+            && !Objects.isNull(dsInfoQueryRequest.getEnvId())) {
+          LOG.info(
+              "Try to get dataSource by dataSourceName: {}, envId: {}",
+              dsInfoQueryRequest.getName(),
+              dsInfoQueryRequest.getEnvId());
+          dataSource =
+              dataSourceInfoService.getDataSourceInfoForConnect(
+                  dsInfoQueryRequest.getName(), dsInfoQueryRequest.getEnvId());
+        } else if (!Objects.isNull(dsInfoQueryRequest.getName())) {
+          LOG.info("Try to get dataSource by dataSourceName: {}", 
dsInfoQueryRequest.getName());
+          dataSource =
+              
dataSourceInfoService.getDataSourceInfoForConnect(dsInfoQueryRequest.getName());
+        } else if (Long.valueOf(dsInfoQueryRequest.getId()) > 0) {
+          LOG.info("Try to get dataSource by dataSourceId: {}", 
dsInfoQueryRequest.getId());
+          dataSource =
+              dataSourceInfoService.getDataSourceInfoForConnect(
+                  Long.valueOf(dsInfoQueryRequest.getId()));
+        }
+        if (null != dataSource) {
+          Long publishedVersionId = dataSource.getPublishedVersionId();
+          if (Objects.isNull(publishedVersionId)) {
+            LOG.warn("Datasource name:{} is not published.", 
dataSource.getDataSourceName());
+            return new DsInfoResponse(
+                false,
+                MessageFormat.format(
+                    "Datasource name:{0} is not published.", 
dataSource.getDataSourceName()));
+          }
+
+          RestfulApiHelper.decryptPasswordKey(
+              
dataSourceRelateService.getKeyDefinitionsByType(dataSource.getDataSourceTypeId()),
+              dataSource.getConnectParams());
+          return new DsInfoResponse(
+              true,
+              dataSource.getDataSourceType().getName(),
+              dataSource.getConnectParams(),
+              dataSource.getCreateUser(),
+              "");
+        } else {
+          LOG.warn("Can not get any dataSource");
+          return new DsInfoResponse(true, "Can not get any dataSource");
+        }
+      } catch (Exception e) {
+        LOG.error(
+            "Fail to get data source information, id: {} system: {}",
+            dsInfoQueryRequest.getId(),
+            dsInfoQueryRequest.getSystem(),
+            e);
+        return new DsInfoResponse(
+            false,
+            String.format(
+                "Fail to get data source information, id: %s system: %s",
+                dsInfoQueryRequest.getId(), dsInfoQueryRequest.getSystem()));
+      } catch (Throwable t) {
+        LOG.error(
+            "Fail to get data source information, id: {} system: {}",
+            dsInfoQueryRequest.getId(),
+            dsInfoQueryRequest.getSystem(),
+            t);
+        return new DsInfoResponse(
+            false,
+            String.format(
+                "Fail to get data source information, id: %s system: %s",
+                dsInfoQueryRequest.getId(), dsInfoQueryRequest.getSystem()));
+      }
+    } else {
+      return new DsInfoResponse(true);
+    }
+  }
+}
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApi.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApi.java
index 927346bb7..b192f3065 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApi.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApi.java
@@ -314,15 +314,7 @@ public class DataSourceCoreRestfulApi {
           List<DataSourceParamKeyDefinition> keyDefinitionList =
               
dataSourceRelateService.getKeyDefinitionsByType(dataSource.getDataSourceTypeId());
 
-          // add default value filed
-          keyDefinitionList.forEach(
-              keyDefinition -> {
-                String key = keyDefinition.getKey();
-                if (StringUtils.isNotBlank(keyDefinition.getDefaultValue())
-                    && !connectParams.containsKey(key)) {
-                  connectParams.put(key, keyDefinition.getDefaultValue());
-                }
-              });
+          formatConnectParams(keyDefinitionList, connectParams);
 
           parameterValidator.validate(keyDefinitionList, connectParams);
           // Encrypt password value type
@@ -839,6 +831,18 @@ public class DataSourceCoreRestfulApi {
     dataSource.setKeyDefinitions(keyDefinitionList);
 
     Map<String, Object> connectParams = dataSource.getConnectParams();
+    formatConnectParams(keyDefinitionList, connectParams);
+
+    for (DataSourceParamsHook hook : dataSourceParamsHooks) {
+      hook.beforePersist(connectParams, keyDefinitionList);
+    }
+    String parameter = Json.toJson(connectParams, null);
+    dataSource.setParameter(parameter);
+    dataSourceInfoService.saveDataSourceInfo(dataSource);
+  }
+
+  private void formatConnectParams(
+      List<DataSourceParamKeyDefinition> keyDefinitionList, Map<String, 
Object> connectParams) {
     // add default value filed
     keyDefinitionList.forEach(
         keyDefinition -> {
@@ -849,11 +853,11 @@ public class DataSourceCoreRestfulApi {
           }
         });
 
-    for (DataSourceParamsHook hook : dataSourceParamsHooks) {
-      hook.beforePersist(connectParams, keyDefinitionList);
-    }
-    String parameter = Json.toJson(connectParams, null);
-    dataSource.setParameter(parameter);
-    dataSourceInfoService.saveDataSourceInfo(dataSource);
+    connectParams.forEach(
+        (k, v) -> {
+          if (v instanceof String) {
+            connectParams.put(k, v.toString().trim());
+          }
+        });
   }
 }
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceOperateRestfulApi.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceOperateRestfulApi.java
index a6467397d..bb5ce4109 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceOperateRestfulApi.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceOperateRestfulApi.java
@@ -111,7 +111,7 @@ public class DataSourceOperateRestfulApi {
     if (dataSource.getConnectParams().containsKey("envId")) {
       try {
         dataSourceInfoService.addEnvParamsToDataSource(
-            Long.parseLong((String) 
dataSource.getConnectParams().get("envId")), dataSource);
+            
Long.parseLong(dataSource.getConnectParams().get("envId").toString()), 
dataSource);
       } catch (Exception e) {
         throw new ParameterValidateException(ENVID_ATYPICAL.getErrorDesc() + 
e);
       }
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/RestfulApiHelper.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/RestfulApiHelper.java
index 8a539faa5..0bf1a91b2 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/RestfulApiHelper.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/RestfulApiHelper.java
@@ -65,10 +65,9 @@ public class RestfulApiHelper {
     keyDefinitionList.forEach(
         keyDefinition -> {
           if (keyDefinition.getValueType() == 
DataSourceParamKeyDefinition.ValueType.PASSWORD) {
-            Object password = connectParams.get(keyDefinition.getKey());
+            String password = 
String.valueOf(connectParams.get(keyDefinition.getKey()));
             if (null != password) {
-              connectParams.put(
-                  keyDefinition.getKey(), 
CryptoUtils.object2String(String.valueOf(password)));
+              connectParams.put(keyDefinition.getKey(), 
CryptoUtils.object2String(password));
             }
           }
         });
@@ -85,10 +84,9 @@ public class RestfulApiHelper {
     keyDefinitionList.forEach(
         keyDefinition -> {
           if (keyDefinition.getValueType() == 
DataSourceParamKeyDefinition.ValueType.PASSWORD) {
-            Object password = connectParams.get(keyDefinition.getKey());
+            String password = 
String.valueOf(connectParams.get(keyDefinition.getKey()));
             if (null != password) {
-              connectParams.put(
-                  keyDefinition.getKey(), 
CryptoUtils.string2Object(String.valueOf(password)));
+              connectParams.put(keyDefinition.getKey(), 
CryptoUtils.string2Object(password));
             }
           }
         });
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/service/impl/MetadataOperateServiceImpl.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/service/impl/MetadataOperateServiceImpl.java
index d0d6a64c0..dd140c60d 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/service/impl/MetadataOperateServiceImpl.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/service/impl/MetadataOperateServiceImpl.java
@@ -37,7 +37,9 @@ import java.util.Map;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static 
org.apache.linkis.datasourcemanager.common.errorcode.LinkisDatasourceManagerErrorCodeSummary.*;
+import static 
org.apache.linkis.datasourcemanager.common.errorcode.LinkisDatasourceManagerErrorCodeSummary.CONNECTION_FAILED;
+import static 
org.apache.linkis.datasourcemanager.common.errorcode.LinkisDatasourceManagerErrorCodeSummary.OPERATE_FILE_IN_REQUEST;
+import static 
org.apache.linkis.datasourcemanager.common.errorcode.LinkisDatasourceManagerErrorCodeSummary.REMOTE_SERVICE_ERROR;
 
 @Service
 public class MetadataOperateServiceImpl implements MetadataOperateService {
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/scala/org/apache/linkis/datasourcemanager/core/receivers/DsmReceiver.scala
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/scala/org/apache/linkis/datasourcemanager/core/receivers/DsmReceiver.scala
deleted file mode 100644
index c32bb1b52..000000000
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/scala/org/apache/linkis/datasourcemanager/core/receivers/DsmReceiver.scala
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.linkis.datasourcemanager.core.receivers
-
-import org.apache.linkis.common.utils.Utils
-import org.apache.linkis.datasourcemanager.common.domain.DataSource
-import 
org.apache.linkis.datasourcemanager.common.protocol.{DsInfoQueryRequest, 
DsInfoResponse}
-import org.apache.linkis.datasourcemanager.core.restful.RestfulApiHelper
-import org.apache.linkis.datasourcemanager.core.service.{
-  DataSourceInfoService,
-  DataSourceRelateService
-}
-import org.apache.linkis.rpc.message.annotation.Receiver
-
-import org.apache.commons.lang3.StringUtils
-
-import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.stereotype.Component
-
-import java.text.MessageFormat
-import java.util
-
-import scala.tools.scalap.scalax.util.StringUtil
-
-import org.slf4j.LoggerFactory
-
-@Component
-class DsmReceiver {
-
-  private val logger = LoggerFactory.getLogger(classOf[DsmReceiver])
-
-  @Autowired
-  private var dataSourceInfoService: DataSourceInfoService = _
-
-  @Autowired
-  private var dataSourceRelateService: DataSourceRelateService = _
-
-  @Receiver
-  def dealDsInfoQueryRequest(dsInfoQueryRequest: DsInfoQueryRequest): Any = {
-    if (dsInfoQueryRequest.isValid) {
-      Utils.tryCatch {
-        var dataSource: DataSource = null
-        if (
-            Option(dsInfoQueryRequest.name).isDefined && 
Option(dsInfoQueryRequest.envId).isDefined
-        ) {
-          logger.info(
-            "Try to get dataSource by dataSourceName:" + 
dsInfoQueryRequest.name + ", envId:" + dsInfoQueryRequest.envId
-          )
-          dataSource = dataSourceInfoService.getDataSourceInfoForConnect(
-            dsInfoQueryRequest.name,
-            dsInfoQueryRequest.envId
-          )
-        } else if (Option(dsInfoQueryRequest.name).isDefined) {
-          logger.info("Try to get dataSource by dataSourceName:" + 
dsInfoQueryRequest.name)
-          dataSource = 
dataSourceInfoService.getDataSourceInfoForConnect(dsInfoQueryRequest.name)
-        } else if (dsInfoQueryRequest.id.toLong > 0) {
-          logger.info("Try to get dataSource by dataSourceId:" + 
dsInfoQueryRequest.id)
-          dataSource =
-            
dataSourceInfoService.getDataSourceInfoForConnect(dsInfoQueryRequest.id.toLong)
-        }
-        if (null != dataSource) {
-          var publishedVersionId = dataSource.getPublishedVersionId
-          if (publishedVersionId == null) {
-            logger.warn("Datasource name:{} is not published.", 
dataSource.getDataSourceName)
-            return DsInfoResponse(
-              status = false,
-              errorMsg = MessageFormat.format(
-                "Datasource name:{0} is not published.",
-                dataSource.getDataSourceName
-              )
-            )
-          }
-
-          RestfulApiHelper.decryptPasswordKey(
-            
dataSourceRelateService.getKeyDefinitionsByType(dataSource.getDataSourceTypeId),
-            dataSource.getConnectParams
-          )
-          DsInfoResponse(
-            status = true,
-            dsType = dataSource.getDataSourceType.getName,
-            params = dataSource.getConnectParams,
-            creator = dataSource.getCreateUser
-          )
-        } else {
-          logger.warn("Can not get any dataSource")
-          DsInfoResponse(status = true, errorMsg = "Can not get any 
dataSource")
-        }
-      } {
-        case e: Exception =>
-          logger.error(
-            s"Fail to get data source information, id:${dsInfoQueryRequest.id} 
system:${dsInfoQueryRequest.system}",
-            e
-          )
-          DsInfoResponse(
-            status = false,
-            errorMsg =
-              s"Fail to get data source information, 
id:${dsInfoQueryRequest.id} system:${dsInfoQueryRequest.system}"
-          )
-        case t: Throwable =>
-          logger.error(
-            s"Fail to get data source information, id:{dsInfoQueryRequest.id} 
system:${dsInfoQueryRequest.system}",
-            t
-          )
-          DsInfoResponse(
-            status = false,
-            errorMsg =
-              s"Fail to get data source information, 
id:{dsInfoQueryRequest.id} system:${dsInfoQueryRequest.system}"
-          )
-      }
-    } else {
-      DsInfoResponse(status = true)
-    }
-  }
-
-}
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApiTest.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApiTest.java
index 86f6408de..b44573f16 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApiTest.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApiTest.java
@@ -48,7 +48,11 @@ import javax.servlet.http.HttpServletRequest;
 import javax.validation.Validator;
 
 import java.io.StringWriter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 import com.github.pagehelper.PageInfo;
 import org.junit.jupiter.api.AfterAll;
@@ -576,8 +580,7 @@ class DataSourceCoreRestfulApiTest {
 
     Mockito.doNothing()
         .when(metadataOperateService)
-        .doRemoteConnect(
-            "metadata-manager", dataSourceType.getName(), "hadoop", new 
HashMap<String, Object>());
+        .doRemoteConnect("metadata-manager", dataSourceType.getName(), 
"hadoop", new HashMap<>());
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultPut(url));
     assertTrue(MessageStatus.SUCCESS() == res.getStatus());
   }
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/DataSourceInfoServiceTest.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/DataSourceInfoServiceTest.java
index 300b2bd3b..c9bd12f79 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/DataSourceInfoServiceTest.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/DataSourceInfoServiceTest.java
@@ -21,13 +21,21 @@ import org.apache.linkis.common.exception.ErrorException;
 import org.apache.linkis.datasourcemanager.common.domain.DataSource;
 import org.apache.linkis.datasourcemanager.common.domain.DataSourceEnv;
 import 
org.apache.linkis.datasourcemanager.common.domain.DataSourceParamKeyDefinition;
-import org.apache.linkis.datasourcemanager.core.dao.*;
+import org.apache.linkis.datasourcemanager.core.dao.DataSourceDao;
+import org.apache.linkis.datasourcemanager.core.dao.DataSourceEnvDao;
+import org.apache.linkis.datasourcemanager.core.dao.DataSourceParamKeyDao;
+import org.apache.linkis.datasourcemanager.core.dao.DataSourceVersionDao;
 import 
org.apache.linkis.datasourcemanager.core.service.impl.DataSourceInfoServiceImpl;
 import org.apache.linkis.datasourcemanager.core.vo.DataSourceVo;
 
 import org.apache.commons.collections.CollectionUtils;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 import com.github.pagehelper.PageInfo;
 import org.junit.jupiter.api.Test;
@@ -40,7 +48,9 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 @ExtendWith(MockitoExtension.class)
 public class DataSourceInfoServiceTest {
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/MetadataOperateServiceTest.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/MetadataOperateServiceTest.java
index b205a42af..4002bf2b6 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/MetadataOperateServiceTest.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/service/MetadataOperateServiceTest.java
@@ -40,7 +40,8 @@ import org.mockito.junit.jupiter.MockitoExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 @ExtendWith(MockitoExtension.class)
 class MetadataOperateServiceTest {
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/common/src/main/scala/org/apache/linkis/metadata/query/common/protocol/MetadataOperateProtocol.scala
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/common/src/main/scala/org/apache/linkis/metadata/query/common/protocol/MetadataOperateProtocol.scala
index d0f27b5b1..0a0bf86a7 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/common/src/main/scala/org/apache/linkis/metadata/query/common/protocol/MetadataOperateProtocol.scala
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/common/src/main/scala/org/apache/linkis/metadata/query/common/protocol/MetadataOperateProtocol.scala
@@ -31,6 +31,6 @@ trait MetadataOperateProtocol extends RequestProtocol {}
 case class MetadataConnect(
     dataSourceType: String,
     operator: String,
-    params: util.Map[String, Object],
+    params: util.Map[String, AnyRef],
     version: String
 ) extends MetadataOperateProtocol
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/service/impl/MetadataQueryServiceImpl.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/service/impl/MetadataQueryServiceImpl.java
index c7eb2602c..ab38c4228 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/service/impl/MetadataQueryServiceImpl.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/service/impl/MetadataQueryServiceImpl.java
@@ -42,7 +42,11 @@ import javax.annotation.PostConstruct;
 import java.io.Closeable;
 import java.io.IOException;
 import java.text.MessageFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 import java.util.function.BiFunction;
 
 import org.slf4j.Logger;
@@ -85,11 +89,11 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
   public List<String> getDatabasesByDsId(String dataSourceId, String system, 
String userName)
       throws ErrorException {
     DsInfoResponse dsInfoResponse = reqToGetDataSourceInfo(dataSourceId, 
system, userName);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getDatabases",
-          new Object[] {dsInfoResponse.creator(), dsInfoResponse.params()},
+          new Object[] {dsInfoResponse.getCreator(), 
dsInfoResponse.getParams()},
           List.class);
     }
     return new ArrayList<>();
@@ -100,11 +104,11 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
   public List<String> getTablesByDsId(
       String dataSourceId, String database, String system, String userName) 
throws ErrorException {
     DsInfoResponse dsInfoResponse = reqToGetDataSourceInfo(dataSourceId, 
system, userName);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getTables",
-          new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(), 
database},
+          new Object[] {dsInfoResponse.getCreator(), 
dsInfoResponse.getParams(), database},
           List.class);
     }
     return new ArrayList<>();
@@ -121,12 +125,12 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       String userName)
       throws ErrorException {
     DsInfoResponse dsInfoResponse = reqToGetDataSourceInfo(dataSourceId, 
system, userName);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getPartitionProps",
           new Object[] {
-            dsInfoResponse.creator(), dsInfoResponse.params(), database, 
table, partition
+            dsInfoResponse.getCreator(), dsInfoResponse.getParams(), database, 
table, partition
           },
           Map.class);
     }
@@ -139,11 +143,11 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       String dataSourceId, String database, String table, String system, 
String userName)
       throws ErrorException {
     DsInfoResponse dsInfoResponse = reqToGetDataSourceInfo(dataSourceId, 
system, userName);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getTableProps",
-          new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(), 
database, table},
+          new Object[] {dsInfoResponse.getCreator(), 
dsInfoResponse.getParams(), database, table},
           Map.class);
     }
     return new HashMap<>();
@@ -160,12 +164,12 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       String userName)
       throws ErrorException {
     DsInfoResponse dsInfoResponse = reqToGetDataSourceInfo(dataSourceId, 
system, userName);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getPartitions",
           new Object[] {
-            dsInfoResponse.creator(), dsInfoResponse.params(), database, 
table, traverse
+            dsInfoResponse.getCreator(), dsInfoResponse.getParams(), database, 
table, traverse
           },
           MetaPartitionInfo.class);
     }
@@ -178,11 +182,11 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       String dataSourceId, String database, String table, String system, 
String userName)
       throws ErrorException {
     DsInfoResponse dsInfoResponse = reqToGetDataSourceInfo(dataSourceId, 
system, userName);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getColumns",
-          new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(), 
database, table},
+          new Object[] {dsInfoResponse.getCreator(), 
dsInfoResponse.getParams(), database, table},
           List.class);
     }
     return new ArrayList<>();
@@ -192,11 +196,11 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
   public List<String> getDatabasesByDsName(String dataSourceName, String 
system, String userName)
       throws ErrorException {
     DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName, 
system, userName);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getDatabases",
-          new Object[] {dsInfoResponse.creator(), dsInfoResponse.params()},
+          new Object[] {dsInfoResponse.getCreator(), 
dsInfoResponse.getParams()},
           List.class);
     }
     return new ArrayList<>();
@@ -207,11 +211,11 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       String dataSourceName, String system, String userName, String envId) 
throws ErrorException {
     DsInfoResponse dsInfoResponse =
         queryDataSourceInfoByNameAndEnvId(dataSourceName, system, userName, 
envId);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getDatabases",
-          new Object[] {dsInfoResponse.creator(), dsInfoResponse.params()},
+          new Object[] {dsInfoResponse.getCreator(), 
dsInfoResponse.getParams()},
           List.class);
     }
     return new ArrayList<>();
@@ -222,11 +226,11 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       String dataSourceName, Map<String, String> queryParams, String system, 
String userName)
       throws ErrorException {
     DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName, 
system, userName);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getConnectionInfo",
-          new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(), 
queryParams},
+          new Object[] {dsInfoResponse.getCreator(), 
dsInfoResponse.getParams(), queryParams},
           Map.class);
     }
     return new HashMap<>();
@@ -237,11 +241,11 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       String dataSourceName, String database, String system, String userName)
       throws ErrorException {
     DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName, 
system, userName);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getTables",
-          new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(), 
database},
+          new Object[] {dsInfoResponse.getCreator(), 
dsInfoResponse.getParams(), database},
           List.class);
     }
     return new ArrayList<>();
@@ -253,11 +257,11 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       throws ErrorException {
     DsInfoResponse dsInfoResponse =
         queryDataSourceInfoByNameAndEnvId(dataSourceName, system, userName, 
envId);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getTables",
-          new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(), 
database},
+          new Object[] {dsInfoResponse.getCreator(), 
dsInfoResponse.getParams(), database},
           List.class);
     }
     return new ArrayList<>();
@@ -273,12 +277,12 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       String userName)
       throws ErrorException {
     DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName, 
system, userName);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getPartitionProps",
           new Object[] {
-            dsInfoResponse.creator(), dsInfoResponse.params(), database, 
table, partition
+            dsInfoResponse.getCreator(), dsInfoResponse.getParams(), database, 
table, partition
           },
           Map.class);
     }
@@ -290,11 +294,11 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       String dataSourceName, String database, String table, String system, 
String userName)
       throws ErrorException {
     DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName, 
system, userName);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getTableProps",
-          new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(), 
database, table},
+          new Object[] {dsInfoResponse.getCreator(), 
dsInfoResponse.getParams(), database, table},
           Map.class);
     }
     return new HashMap<>();
@@ -310,12 +314,12 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       String userName)
       throws ErrorException {
     DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName, 
system, userName);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getPartitions",
           new Object[] {
-            dsInfoResponse.creator(), dsInfoResponse.params(), database, 
table, traverse
+            dsInfoResponse.getCreator(), dsInfoResponse.getParams(), database, 
table, traverse
           },
           MetaPartitionInfo.class);
     }
@@ -327,11 +331,11 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       String dataSourceName, String database, String table, String system, 
String userName)
       throws ErrorException {
     DsInfoResponse dsInfoResponse = queryDataSourceInfoByName(dataSourceName, 
system, userName);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getColumns",
-          new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(), 
database, table},
+          new Object[] {dsInfoResponse.getCreator(), 
dsInfoResponse.getParams(), database, table},
           List.class);
     }
     return new ArrayList<>();
@@ -348,11 +352,11 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       throws ErrorException {
     DsInfoResponse dsInfoResponse =
         queryDataSourceInfoByNameAndEnvId(dataSourceName, system, userName, 
envId);
-    if (StringUtils.isNotBlank(dsInfoResponse.dsType())) {
+    if (StringUtils.isNotBlank(dsInfoResponse.getDsType())) {
       return invokeMetaMethod(
-          dsInfoResponse.dsType(),
+          dsInfoResponse.getDsType(),
           "getColumns",
-          new Object[] {dsInfoResponse.creator(), dsInfoResponse.params(), 
database, table},
+          new Object[] {dsInfoResponse.getCreator(), 
dsInfoResponse.getParams(), database, table},
           List.class);
     }
     return new ArrayList<>();
@@ -371,23 +375,23 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
       throws ErrorException {
     Object rpcResult = null;
     try {
-      rpcResult = dataSourceRpcSender.ask(new DsInfoQueryRequest(dataSourceId, 
null, system, null));
+      rpcResult = dataSourceRpcSender.ask(new DsInfoQueryRequest(dataSourceId, 
null, system));
     } catch (Exception e) {
       throw new ErrorException(-1, "Remote Service Error[远端服务出错, 联系运维处理]");
     }
     if (rpcResult instanceof DsInfoResponse) {
       DsInfoResponse response = (DsInfoResponse) rpcResult;
-      if (!response.status()) {
+      if (!response.getStatus()) {
         throw new ErrorException(
-            -1, "Error in Data Source Manager Server[数据源服务出错] " + 
response.errorMsg());
+            -1, "Error in Data Source Manager Server[数据源服务出错]: " + 
response.getErrorMsg());
       }
       boolean hasPermission =
           (AuthContext.isAdministrator(userName)
-              || (StringUtils.isNotBlank(response.creator())
-                  && userName.equals(response.creator())));
+              || (StringUtils.isNotBlank(response.getCreator())
+                  && userName.equals(response.getCreator())));
       if (!hasPermission) {
         throw new ErrorException(-1, "Don't have query permission for data 
source [没有数据源的查询权限]");
-      } else if (response.params().isEmpty()) {
+      } else if (response.getParams().isEmpty()) {
         throw new ErrorException(-1, "Have you published the data source? 
[数据源未发布或者参数为空]");
       }
       return response;
@@ -436,16 +440,17 @@ public class MetadataQueryServiceImpl implements 
MetadataQueryService {
     }
     if (rpcResult instanceof DsInfoResponse) {
       DsInfoResponse response = (DsInfoResponse) rpcResult;
-      if (!response.status()) {
-        throw new ErrorException(-1, "Error in Data Source Manager 
Server[数据源服务出错]");
+      if (!response.getStatus()) {
+        throw new ErrorException(
+            -1, "Error in Data Source Manager Server[数据源服务出错]: " + 
response.getErrorMsg());
       }
       boolean hasPermission =
           (AuthContext.isAdministrator(userName)
-              || (StringUtils.isNotBlank(response.creator())
-                  && userName.equals(response.creator())));
+              || (StringUtils.isNotBlank(response.getCreator())
+                  && userName.equals(response.getCreator())));
       if (!hasPermission) {
         throw new ErrorException(-1, "Don't have query permission for data 
source [没有数据源的查询权限]");
-      } else if (!useDefault && response.params().isEmpty()) {
+      } else if (!useDefault && response.getParams().isEmpty()) {
         throw new ErrorException(-1, "Have you published the data source? 
[数据源未发布或者参数为空]");
       }
       return response;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to